From: <bug...@wi...> - 2003-04-22 13:36:55
|
Please do not reply to this email- if you want to comment on the bug, go to the URL shown below and enter your comments there. http://bugzilla.gnome.org/show_bug.cgi?id=111349 Changed by ha...@ha.... --- shadow/111349 Tue Apr 22 09:36:45 2003 +++ shadow/111349.tmp.6326 Tue Apr 22 09:36:45 2003 @@ -0,0 +1,122 @@ +Bug#: 111349 +Product: GStreamer +Version: 0.6.1 +OS: other +OS Details: +Status: NEW +Resolution: +Severity: blocker +Priority: Normal +Component: gstreamer (core) +AssignedTo: gst...@bu... +ReportedBy: ha...@ha... +QAContact: gst...@bu... +TargetMilestone: 0.6.x +URL: +Summary: gstreamer library foobars gtk+ with XInitThreads + +Simple test case, to save as test.c: + +#include <gtk/gtk.h> +#include <X11/Xlib.h> + + +int main (int argc, char **argv) +{ + if (XInitThreads() == 0) + { + g_message ("XInitThreads() = 0"); + return 1; + } + + + gtk_init (&argc, &argv); + + + return 0; +} + +Compile with the following line: +gcc -O -o test test.c `pkg-config --libs --cflags gtk+-2.0` +launch ./test, it returns within a second + +Compile with the following line: +gcc -O -o test test.c `pkg-config --libs --cflags gtk+-2.0 +gstreamer-0.6` +launch ./test, and see it hang... Here's the backtrace from it: + +#0 0xffffe002 in ?? () +#1 0x40611c7a in _XUnregisterFilter () from /usr/X11R6/lib/libX11.so.6 +#2 0x406a77fc in XGetExtensionVersion () from /usr/X11R6/lib/libXi.so.6 +#3 0x406a9b9f in _XiCheckExtInit () from /usr/X11R6/lib/libXi.so.6 +#4 0x406a82f3 in XListInputDevices () from /usr/X11R6/lib/libXi.so.6 +#5 0x402d5633 in _gdk_input_common_init () from /usr/lib/libgdk-x11-2.0.so.0 +#6 0x402d603a in _gdk_input_init () from /usr/lib/libgdk-x11-2.0.so.0 +#7 0x402afd6b in gdk_display_open () from /usr/lib/libgdk-x11-2.0.so.0 +#8 0x402900e7 in gdk_display_open_default_libgtk_only () + from /usr/lib/libgdk-x11-2.0.so.0 +#9 0x400fbd3a in gtk_init_check () from /usr/lib/libgtk-x11-2.0.so.0 +#10 0x400fbd76 in gtk_init () from /usr/lib/libgtk-x11-2.0.so.0 +#11 0x080487a2 in main () +#12 0x420156a4 in __libc_start_main () from /lib/tls/libc.so.6 + +We get a slightly better trace using the old pthread code: +#0 0x405bc4f5 in __pthread_sigsuspend () from /lib/libpthread.so.0 +#1 0x405bbca8 in __pthread_wait_for_restart_signal () + from /lib/libpthread.so.0 +#2 0x405bdfd0 in __pthread_alt_lock () from /lib/libpthread.so.0 +#3 0x405ba170 in pthread_mutex_lock () from /lib/libpthread.so.0 +#4 0x40790c7a in _XUnregisterFilter () from /usr/X11R6/lib/libX11.so.6 +#5 0x408267fc in XGetExtensionVersion () from /usr/X11R6/lib/libXi.so.6 +#6 0x40828b9f in _XiCheckExtInit () from /usr/X11R6/lib/libXi.so.6 +#7 0x408272f3 in XListInputDevices () from /usr/X11R6/lib/libXi.so.6 +#8 0x402d5633 in _gdk_input_common_init () from /usr/lib/libgdk-x11-2.0.so.0 +#9 0x402d603a in _gdk_input_init () from /usr/lib/libgdk-x11-2.0.so.0 +#10 0x402afd6b in gdk_display_open () from /usr/lib/libgdk-x11-2.0.so.0 +#11 0x402900e7 in gdk_display_open_default_libgtk_only () + from /usr/lib/libgdk-x11-2.0.so.0 +#12 0x400fbd3a in gtk_init_check () from /usr/lib/libgtk-x11-2.0.so.0 +#13 0x400fbd76 in gtk_init () from /usr/lib/libgtk-x11-2.0.so.0 +#14 0x080487a2 in main () +#15 0x4061aa47 in __libc_start_main () from /lib/libc.so.6 + +The output from ldd test: + libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x40028000) + libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x4027c000) + libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x402ea000) + libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x40304000) + libpangoxft-1.0.so.0 => /usr/lib/libpangoxft-1.0.so.0 (0x40317000) + libpangox-1.0.so.0 => /usr/lib/libpangox-1.0.so.0 (0x40338000) + libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x40345000) + libgstreamer-0.6.so.0 => /usr/lib/libgstreamer-0.6.so.0 (0x40378000) + libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x403ea000) + libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x40420000) + libdl.so.2 => /lib/libdl.so.2 (0x40424000) + libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x40428000) + libxml2.so.2 => /usr/lib/libxml2.so.2 (0x4042d000) + libz.so.1 => /usr/lib/libz.so.1 (0x40518000) + libm.so.6 => /lib/tls/libm.so.6 (0x40526000) + libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x40549000) + libpthread.so.0 => /lib/tls/libpthread.so.0 (0x405b3000) + libc.so.6 => /lib/tls/libc.so.6 (0x42000000) + libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x405c1000) + libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0x406a0000) + libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x406a4000) + libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x406ad000) + libXft.so.2 => /usr/X11R6/lib/libXft.so.2 (0x406bb000) + libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0x406cd000) + libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x406d5000) + libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x406fa000) + libpopt.so.0 => /usr/lib/libpopt.so.0 (0x4074c000) + /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) + libexpat.so.0 => /usr/lib/libexpat.so.0 (0x40754000) + +The output from pkg-config --cflags --libs gstreamer-0.6: +-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pthread +-I/usr/include/gstreamer-0.6 -I/usr/include/glib-2.0 +-I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -Wl,--export-dynamic +-pthread -lgstreamer-0.6 -lgobject-2.0 -lgmodule-2.0 -ldl -lgthread-2.0 +-lxml2 -lz -lm -lglib-2.0 + +This bug is marked as blocker as it makes the GStreamer version of Totem +fail to even start. |