After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 733194 - GstGLVideoMixer crash when dispose
GstGLVideoMixer crash when dispose
Status: RESOLVED FIXED
Product: glib
Classification: Platform
Component: gthread
2.32.x
Other Linux
: Normal normal
: ---
Assigned To: gtkdev
gtkdev
Depends on:
Blocks:
 
 
Reported: 2014-07-15 11:37 UTC by comicfans44
Modified: 2014-08-01 01:04 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description comicfans44 2014-07-15 11:37:07 UTC
I found GstGLVideoMixer crash when dispose after commit 71c81a (aggregator: Avoid destroying sources we do not own)

pipeline created as 

videotestsrc ! glvideomixer ! glimagesink

close the gl window , gdb shows as following:

GLib (gthread-posix.c): Unexpected error from C library during 'pthread_mutex_lock': Invalid argument.  Aborting.

backtrace as following:
  • #0 __kernel_vsyscall
  • #1 raise
    from /lib/i386-linux-gnu/libc.so.6
  • #2 abort
    from /lib/i386-linux-gnu/libc.so.6
  • #3 ??
    from /lib/i386-linux-gnu/libglib-2.0.so.0
  • #4 g_mutex_lock
    from /lib/i386-linux-gnu/libglib-2.0.so.0
  • #5 ??
    from /lib/i386-linux-gnu/libglib-2.0.so.0
  • #6 _destroy_gsource
    at gstaggregator.c line 383
  • #7 g_list_foreach
    from /lib/i386-linux-gnu/libglib-2.0.so.0
  • #8 g_list_free_full
    from /lib/i386-linux-gnu/libglib-2.0.so.0
  • #9 _remove_all_sources
    at gstaggregator.c line 393
  • #10 gst_aggregator_dispose
    at gstaggregator.c line 1039
  • #11 gst_videoaggregator_dispose
    at gstvideoaggregator.c line 1863
  • #12 g_object_unref
    from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
  • #13 gst_object_unref
    at ../../gst/gstobject.c line 282
  • #14 gst_bin_remove_func
    at ../../gst/gstbin.c line 1562
  • #15 gst_bin_remove
    at ../../gst/gstbin.c line 1615
  • #16 gst_bin_dispose
    at ../../gst/gstbin.c line 526
  • #17 gst_pipeline_dispose
    at ../../gst/gstpipeline.c line 232
  • #18 g_object_unref
    from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
  • #19 gst_object_unref
    at ../../gst/gstobject.c line 282
  • #20 main
    at ../../tools/gst-launch.c line 1163


I also compiled head version a7e243 ,also same problem.
Comment 1 Matthew Waters (ystreet00) 2014-07-15 14:19:41 UTC
I cannot seem to reproduce with latest master and latest glib from the stable branch (2.40).  What version of glib is being used here?
Comment 2 comicfans44 2014-07-16 00:17:00 UTC
(In reply to comment #1)
> I cannot seem to reproduce with latest master and latest glib from the stable
> branch (2.40).  What version of glib is being used here?

I'm on Ubuntu 12.04 32bit ,with glib 2.32.4, is this version too old ?
Comment 3 comicfans44 2014-07-17 01:08:53 UTC
> I cannot seem to reproduce with latest master and latest glib from the stable
> branch (2.40).  What version of glib is being used here?
(In reply to comment #1) 

seems that it's related to glib version. glib-2.40 / 2.38 have no such problem.
Comment 4 Matthew Waters (ystreet00) 2014-08-01 01:04:21 UTC
Resolving as fixed in glib stable.