[Bug 706553] New: context creation is not thread safe
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Wed Aug 21 23:30:34 PDT 2013
https://bugzilla.gnome.org/show_bug.cgi?id=706553
GStreamer | gst-plugins-gl | git
Summary: context creation is not thread safe
Classification: Platform
Product: GStreamer
Version: git
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins-gl
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: ystreet00 at gmail.com
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
I can get a trace as follows almost every time with GST_DEBUG=gl*:9 make
libs/gstglmemory.gdb. Most of the time it will hang with the glmixer element
although I have seen it less with glfilter subclasses as well albiet, less
often.
gstglmixer.c:2141:gst_gl_mixer_change_state:<glmosaic> stopping collectpads
0:01:05.319824401 4500 0x795cf0 INFO glwindow
gstglwindow.c:174:gst_gl_window_finalize: send quit gl window loop
0:01:05.319849823 4500 0x795cf0 LOG glwindow
gstglwindow_x11.c:739:gst_gl_window_x11_quit: sending quit
0:01:05.319874547 4500 0x795cf0 LOG glwindow
gstglwindow_x11.c:743:gst_gl_window_x11_quit: quit sent
0:01:05.319883067 4500 0x795cf0 INFO glwindow
gstglwindow.c:301:gst_gl_window_quit: quit sent to gl window loop
0:01:05.319900039 4500 0x67c680 DEBUG glwindow
gstglwindow.c:281:gst_gl_window_run: running
^C
Program received signal SIGINT, Interrupt.
pthread_cond_wait@@GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
185 ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: No such file
or directory.
(gdb) thread apply all bt
Thread 13 (Thread 0x2aaab135b700 (LWP 4519)):
#0 0x00002aaaaba653cd in poll () at ../sysdeps/unix/syscall-template.S:81
#1 0x00002aaaab47c2ac in g_main_context_poll (n_fds=2, fds=0x2aaab4282690,
timeout=-1, context=0x2aaab42098e0,
priority=<optimised out>) at gmain.c:3999
#2 g_main_context_iterate (context=0x2aaab42098e0, block=block at entry=1,
dispatch=dispatch at entry=1, self=<optimised out>)
at gmain.c:3700
#3 0x00002aaaab47c78a in g_main_loop_run (loop=0x2aaab42098a0) at gmain.c:3899
#4 0x00002aaaac902d6e in gst_gl_window_x11_run (window=0x7ae810) at
gstglwindow_x11.c:634
#5 0x00002aaaac8f71f5 in gst_gl_window_run (window=0x7ae810) at
gstglwindow.c:282
#6 0x00002aaaac8fa23a in _gst_gl_window_thread_create_context
(window=0x7ae810) at gstglwindow.c:735
#7 0x00002aaaab4a0825 in g_thread_proxy (data=0x67c680) at gthread.c:798
#8 0x00002aaaab762f8e in start_thread (arg=0x2aaab135b700) at
pthread_create.c:311
#9 0x00002aaaaba71e1d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:113
Thread 1 (Thread 0x2aaaaaad64c0 (LWP 4500)):
#0 pthread_cond_wait@@GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00002aaaab4bc2af in g_cond_wait (cond=0x7ae7d8, mutex=<optimised out>) at
gthread-posix.c:753
#2 0x00002aaaac8f765c in gst_gl_window_quit (window=0x7ae810) at
gstglwindow.c:305
#3 0x00002aaaac8f5ec0 in gst_gl_window_finalize (object=0x7ae810) at
gstglwindow.c:175
#4 0x00002aaaac90023a in gst_gl_window_x11_finalize (object=0x7ae810) at
gstglwindow_x11.c:134
#5 0x00002aaaab1f84c8 in g_object_unref (_object=0x7ae810) at gobject.c:3194
#6 0x00002aaaac8c94b1 in gst_gl_display_finalize (object=0x839030) at
gstgldisplay.c:85
#7 0x00002aaaab1f84c8 in g_object_unref (_object=0x839030) at gobject.c:3194
#8 0x00002aaaac8e25bd in gst_gl_mixer_change_state (element=0x8361c0,
transition=GST_STATE_CHANGE_PAUSED_TO_READY)
at gstglmixer.c:2176
#9 0x00002aaaaaf314cc in gst_element_change_state
(element=element at entry=0x8361c0, transition=<optimised out>)
at gstelement.c:2605
#10 0x00002aaaaaf31ea5 in gst_element_set_state_func (element=0x8361c0,
state=GST_STATE_NULL) at gstelement.c:2561
#11 0x0000000000402759 in test_state_changes_up_and_down_seq (__i__=0) at
generic/states.c:128
#12 0x00002aaaaacdc813 in tcase_run_tfun_nofork (i=0, tc=0x630c60, sr=0x79f730,
tfun=<optimised out>) at check_run.c:314
#13 srunner_iterate_tcase_tfuns (tc=0x630c60, sr=<optimised out>) at
check_run.c:181
#14 srunner_run_tcase (tc=0x630c60, sr=0x79f730) at check_run.c:302
#15 srunner_iterate_suites (sr=0x79f730, print_mode=<optimised out>) at
check_run.c:150
#16 srunner_run_all (sr=sr at entry=0x79f730,
print_mode=print_mode at entry=CK_NORMAL) at check_run.c:561
---Type <return> to continue, or q <return> to quit---
#17 0x00002aaaaacd66ed in gst_check_run_suite (suite=<optimised out>,
name=<optimised out>, fname=0x404d80 "generic/states.c")
at gstcheck.c:689
#18 0x00000000004034da in main (argc=1, argv=0x7fffffffcd08) at
generic/states.c:221
(gdb)
--
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