[Bug 704237] New: glimagesink: Using sink->display after it was removed
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Mon Jul 15 04:22:52 PDT 2013
https://bugzilla.gnome.org/show_bug.cgi?id=704237
GStreamer | gst-plugins-gl | git
Summary: glimagesink: Using sink->display after it was removed
Classification: Platform
Product: GStreamer
Version: git
OS/Version: Linux
Status: NEW
Severity: normal
Priority: Normal
Component: gst-plugins-gl
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: slomo at circular-chaos.org
QAContact: gstreamer-bugs at lists.freedesktop.org
CC: ystreet00 at gmail.com
GNOME version: ---
Pipeline: gst-launch-1.0 videotestsrc ! "video/x-raw,format=RGB" ! glimagesink
Stopped via ctrl+c often gives the following crash. Which happens because the
sink went PAUSED->READY somewhere in the middle of gst_glimage_sink_on_draw(),
and the state change function sets sink->display to NULL.
Thread 4 (Thread 0x7f6d9b421700 (LWP 12853)):
#0 0x00007f6da0a17acd in nanosleep () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007f6da0e96778 in g_usleep (microseconds=microseconds at entry=1000000)
at /tmp/buildd/glib2.0-2.36.3/./glib/gtimer.c:261
#2 0x00000000004040da in fault_spin () at gst-launch.c:112
#3 fault_handler_sighandler (signum=11) at gst-launch.c:93
#4 <signal handler called>
#5 0x00007f6d9fe713d7 in gst_glimage_sink_on_draw (gl_sink=0xba8f90)
at gstglimagesink.c:970
#6 0x00007f6d9fc4c1c3 in gst_gl_window_x11_handle_event (window_x11=0xf14030)
at gstglwindow_x11.c:666
#7 0x00007f6d9fc4c385 in x11_event_source_dispatch
(base=base at entry=0x7f6d94001130,
callback=0x0, data=0x0) at x11_event_source.c:69
#8 0x00007f6da0e70ea6 in g_main_dispatch (context=0x7f6d940011b0)
at /tmp/buildd/glib2.0-2.36.3/./glib/gmain.c:3054
#9 g_main_context_dispatch (context=context at entry=0x7f6d940011b0)
at /tmp/buildd/glib2.0-2.36.3/./glib/gmain.c:3630
#10 0x00007f6da0e711f8 in g_main_context_iterate (context=0x7f6d940011b0,
block=block at entry=1, dispatch=dispatch at entry=1, self=<optimized out>)
at /tmp/buildd/glib2.0-2.36.3/./glib/gmain.c:3701
#11 0x00007f6da0e715fa in g_main_loop_run (loop=0x7f6d94001310)
at /tmp/buildd/glib2.0-2.36.3/./glib/gmain.c:3895
#12 0x00007f6d9fc46aee in gst_gl_window_run (window=0xf14030) at
gstglwindow.c:282
#13 0x00007f6d9fc47f18 in _gst_gl_window_thread_create_context
(window=0xf14030)
at gstglwindow.c:725
#14 0x00007f6da0e951d5 in g_thread_proxy (data=0xf0d450)
at /tmp/buildd/glib2.0-2.36.3/./glib/gthread.c:798
#15 0x00007f6da0a10e0e in start_thread (arg=0x7f6d9b421700) at
pthread_create.c:311
#16 0x00007f6da074593d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:113
Thread 3 (Thread 0x7f6d98def700 (LWP 12854)):
---Type <return> to continue, or q <return> to quit---
#0 pthread_cond_wait@@GLIBC_2.3.2 ()
at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007f6da0eb0507 in g_cond_wait (cond=cond at entry=0x7f6d98deea10,
mutex=mutex at entry=0x7f6d98deea08)
at /tmp/buildd/glib2.0-2.36.3/./glib/gthread-posix.c:756
#2 0x00007f6d9fc4bdab in gst_gl_window_x11_send_message (window=<optimized
out>,
callback=<optimized out>, data=<optimized out>) at gstglwindow_x11.c:749
#3 0x00007f6d9fc46dcd in gst_gl_window_send_message (window=0xf14030,
callback=0x7f6d9fc488d0 <gst_gl_display_del_texture_window_cb>,
data=0xf01240)
at gstglwindow.c:323
#4 0x00007f6d9fc48d49 in gst_gl_display_del_texture (display=0xf01240,
pTexture=pTexture at entry=0x7f6d8c0081a8) at gstglutils.c:254
#5 0x00007f6d9fc31e25 in _gl_mem_free (allocator=<optimized out>,
mem=0x7f6d8c008130)
at gstglmemory.c:338
#6 0x00007f6da16f22cd in _gst_memory_free (mem=0x7f6d8c008130) at
gstmemory.c:97
#7 0x00007f6da16ca26e in gst_memory_unref (memory=<optimized out>)
at ../gst/gstmemory.h:325
#8 _gst_buffer_free (buffer=0x7f6d8c007180) at gstbuffer.c:578
#9 0x00007f6da16ce193 in default_stop (pool=0xf029b0) at gstbufferpool.c:382
#10 0x00007f6da16cdeec in do_stop (pool=pool at entry=0xf029b0) at
gstbufferpool.c:402
#11 0x00007f6da16cfa78 in dec_outstanding (pool=0xf029b0) at
gstbufferpool.c:1036
#12 gst_buffer_pool_release_buffer (pool=0xf029b0, buffer=0x7f6d8c007070)
at gstbufferpool.c:1156
#13 0x00007f6da16ca363 in _gst_buffer_dispose (buffer=0x7f6d8c007070) at
gstbuffer.c:540
#14 0x00007f6da16f321e in gst_mini_object_unref (mini_object=0x7f6d8c007070)
at gstminiobject.c:448
#15 0x00007f6da16f6741 in gst_pad_push_data (pad=pad at entry=0xf020f0,
type=type at entry=4112, data=0x7f6d8c007070) at gstpad.c:3963
#16 0x00007f6da16fddc6 in gst_pad_push (pad=pad at entry=0xf020f0,
buffer=<optimized out>)
at gstpad.c:4044
#17 0x00007f6da15ee33d in gst_base_src_loop (pad=0xf020f0) at gstbasesrc.c:2738
#18 0x00007f6da1724ad9 in gst_task_func (task=0xf2b000) at gsttask.c:316
---Type <return> to continue, or q <return> to quit---
#19 0x00007f6da0e95b96 in g_thread_pool_thread_proxy (data=<optimized out>)
at /tmp/buildd/glib2.0-2.36.3/./glib/gthreadpool.c:309
#20 0x00007f6da0e951d5 in g_thread_proxy (data=0xf0d4f0)
at /tmp/buildd/glib2.0-2.36.3/./glib/gthread.c:798
#21 0x00007f6da0a10e0e in start_thread (arg=0x7f6d98def700) at
pthread_create.c:311
#22 0x00007f6da074593d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:113
Thread 2 (Thread 0x7f6d93fff700 (LWP 12855)):
#0 0x00007f6da073a19d in poll () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007f6da0e71194 in g_main_context_poll (priority=2147483647, n_fds=1,
fds=0x7f6d880008c0, timeout=-1, context=0xe7f400)
at /tmp/buildd/glib2.0-2.36.3/./glib/gmain.c:3995
#2 g_main_context_iterate (context=context at entry=0xe7f400,
block=block at entry=1,
dispatch=dispatch at entry=1, self=<optimized out>)
at /tmp/buildd/glib2.0-2.36.3/./glib/gmain.c:3696
#3 0x00007f6da0e7129c in g_main_context_iteration (context=0xe7f400,
may_block=may_block at entry=1) at
/tmp/buildd/glib2.0-2.36.3/./glib/gmain.c:3762
#4 0x00007f6da0e712e9 in glib_worker_main (data=<optimized out>)
at /tmp/buildd/glib2.0-2.36.3/./glib/gmain.c:5427
#5 0x00007f6da0e951d5 in g_thread_proxy (data=0xf0d400)
at /tmp/buildd/glib2.0-2.36.3/./glib/gthread.c:798
#6 0x00007f6da0a10e0e in start_thread (arg=0x7f6d93fff700) at
pthread_create.c:311
#7 0x00007f6da074593d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:113
Thread 1 (Thread 0x7f6da1660700 (LWP 12810)):
#0 __lll_lock_wait () at
../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1 0x00007f6da0a12f57 in _L_lock_1027 () from
/lib/x86_64-linux-gnu/libpthread.so.0
#2 0x00007f6da0a12de9 in __GI___pthread_mutex_lock (mutex=0xd58b30)
at pthread_mutex_lock.c:85
#3 0x00007f6da16ffa74 in gst_pad_stop_task (pad=0xf020f0) at gstpad.c:5470
#4 0x00007f6da15ea31f in gst_base_src_stop (basesrc=basesrc at entry=0xdc4a00)
at gstbasesrc.c:3362
---Type <return> to continue, or q <return> to quit---
#5 0x00007f6da15f09c2 in gst_base_src_activate_push (pad=0xf020f0, active=0,
parent=<optimized out>) at gstbasesrc.c:3529
#6 gst_base_src_activate_mode (pad=0xf020f0, parent=<optimized out>,
mode=<optimized out>, active=0) at gstbasesrc.c:3599
#7 0x00007f6da16fadbd in gst_pad_activate_mode (pad=pad at entry=0xf020f0,
mode=mode at entry=GST_PAD_MODE_PUSH, active=active at entry=0) at gstpad.c:1081
#8 0x00007f6da16fb500 in gst_pad_set_active (pad=0xf020f0, active=0) at
gstpad.c:967
#9 0x00007f6da16df53b in activate_pads (vpad=<optimized out>,
ret=0x7fff54885f30,
active=0x7fff54885f8c) at gstelement.c:2690
#10 0x00007f6da16ee6cc in gst_iterator_fold (it=it at entry=0xf10140,
func=func at entry=0x7f6da16df520 <activate_pads>,
ret=ret at entry=0x7fff54885f30,
user_data=user_data at entry=0x7fff54885f8c) at gstiterator.c:614
#11 0x00007f6da16df7ba in iterator_activate_fold_with_resync
(iter=iter at entry=0xf10140,
user_data=user_data at entry=0x7fff54885f8c, func=0x7f6da16df520
<activate_pads>)
at gstelement.c:2710
#12 0x00007f6da16e14a0 in gst_element_pads_activate
(element=element at entry=0xdc4a00,
active=0) at gstelement.c:2746
#13 0x00007f6da16e17fa in gst_element_change_state_func (element=0xdc4a00,
transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gstelement.c:2818
#14 0x00007f6da15eeb93 in gst_base_src_change_state (element=0xdc4a00,
transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gstbasesrc.c:3636
#15 0x00007f6da16e3372 in gst_element_change_state
(element=element at entry=0xdc4a00,
transition=transition at entry=GST_STATE_CHANGE_PAUSED_TO_READY) at
gstelement.c:2605
#16 0x00007f6da16e3a4c in gst_element_set_state_func (element=0xdc4a00,
state=GST_STATE_READY) at gstelement.c:2561
#17 0x00007f6da16c96b6 in gst_bin_element_set_state (next=GST_STATE_READY,
current=GST_STATE_PAUSED, start_time=4568411538, base_time=13196258643571,
element=0xdc4a00, bin=0xf0e040) at gstbin.c:2297
#18 gst_bin_change_state_func (element=0xf0e040,
transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gstbin.c:2599
#19 0x00007f6da170131f in gst_pipeline_change_state (element=0xf0e040,
transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gstpipeline.c:471
---Type <return> to continue, or q <return> to quit---
#20 0x00007f6da16e3372 in gst_element_change_state
(element=element at entry=0xf0e040,
transition=transition at entry=GST_STATE_CHANGE_PAUSED_TO_READY) at
gstelement.c:2605
#21 0x00007f6da16e3a4c in gst_element_set_state_func (element=0xf0e040,
state=GST_STATE_READY) at gstelement.c:2561
#22 0x0000000000403c21 in main (argc=6, argv=0x7fff548867a8) at
gst-launch.c:1194
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list