After successful compilation of gxine 0.4.8, I tried to launch it on my mostly KDE-esque laptop. The "gxine setup wizards" pops up, do some checks on my system, then ask me if I want to register it as a media handler in mailcap, Mozilla, Gnome and/or KDE. If i leave the "Gnome" tickbox checked, clicking on next makes it segfault. If I uncheck the box, it works. Reproducible: Always Steps to Reproduce: 1. emerge =media-video/gxine-0.4.8 2. launch gxine 3. when the setup wizards appears, click "next" twice Actual Results: gxine crashes Expected Results: It should tell me that it couldn't register to Gnome/nautilus, and continue without crashing. Or better : the Gnome option should be disabled if gnome isn't present. Portage 2.0.51.22-r3 (default-linux/amd64/2005.1, gcc-3.4.4, glibc-2.3.5-r2, 2.6.13-gentoo x86_64) ================================================================= System uname: 2.6.13-gentoo x86_64 AMD Athlon(tm) 64 Processor 3000+ Gentoo Base System version 1.6.13 dev-lang/python: 2.3.5-r2, 2.4.1-r1 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=k8 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=k8 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://ftp.heanet.ie/pub/gentoo/ ftp://ftp.heanet.ie/pub/gentoo/ ftp://ftp.du.se/pub/os/gentoo http://ds.thn.htu.se/linux/gentoo ftp://mirror.pudas.net/gentoo" LC_ALL="fr_FR.UTF-8" LINGUAS="fr" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.nl.gentoo.org/gentoo-portage" USE="amd64 X a52 aac aalib alsa avi berkdb bitmap-fonts cdr crypt cups curl doc dts dvd eds emboss encode fam fbcon ffmpeg flac foomaticdb fortran gdbm gif gphoto2 gpm gstreamer gtk2 imagemagick imlib ipv6 java jpeg junit kde lzw lzw-tiff mad mng mp3 mpeg ncurses nls nptl nptlonly nvidia ogg oggvorbis opengl pam pdflib perl png python qt quicktime readline ruby sdl speex spell sqlite ssl tcltk tcpd theora tiff truetype-fonts type1-fonts unicode usb userlocales vorbis xine xml2 xpm xv zlib linguas_fr userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LDFLAGS
I think I should add that although I don't have nautilus installed, I have gnome-vfs-2.10.1-r1 .
OK, maybe it's not exactly how I thought. Here is what happens when I launch gxine after having removed ~/.gxine. For each step I have copied what appears on stdout/stderr. 1. gxine starts and the wizards pops up (gxine:9640): Gtk-CRITICAL **: gtk_window_set_default_icon: assertion `GDK_IS_PIXBUF (icon)' failed Gtk-Message: The filename "2D1592+studiebes\303\266k.doc" couldn't be converted to UTF-8. (try setting the environment variable G_FILENAME_ENCODING): Invalid byte sequence in conversion input 2. I click "Forward", and some tests are performed : sysname: Linux release: 2.6.13-gentoo machine: x86_64 X-Video Extension version 2.2 video_out_xv: Xv image format: 0x32595559 (YUY2) packed video_out_xv: this adaptor supports the yuy2 format. video_out_xv: Xv image format: 0x32315659 (YV12) planar video_out_xv: this adaptor supports the yv12 format. video_out_xv: Xv image format: 0x59565955 (UYVY) packed video_out_xv: Xv image format: 0x30323449 (I420) planar 3. I click "Forward" again, and i deselect "~/.mailcap" and "KDE / Konqueror", so that only "Gnome / Nautilus" is left checked (and "Mozilla / Mozilla Firefox" is just insensitive, as they should be as the nsplugin use flag was disabled during compilation). 4. I click "Forward" again, and gxine tries to register itself but segfaults : desktop_integration: registering xine for mime type 'application/x-annodex' (gxine:9640): libgnomevfs-WARNING **: Deprecated function. User modifications to the MIME database are no longer supported. desktop_integration: registering xine for mime type 'audio/x-ogg' (gxine:9640): libgnomevfs-WARNING **: Deprecated function. User modifications to the MIME database are no longer supported. desktop_integration: registering xine for mime type 'audio/x-speex' (gxine:9640): libgnomevfs-WARNING **: Deprecated function. User modifications to the MIME database are no longer supported. desktop_integration: registering xine for mime type 'application/x-ogg' (gxine:9640): libgnomevfs-WARNING **: Deprecated function. User modifications to the MIME database are no longer supported. desktop_integration: registering xine for mime type 'image/png' (gxine:9640): libgnomevfs-WARNING **: Deprecated function. User modifications to the MIME database are no longer supported. desktop_integration: registering xine for mime type 'image/x-png' (gxine:9640): libgnomevfs-WARNING **: Deprecated function. User modifications to the MIME database are no longer supported. desktop_integration: registering xine for mime type 'video/mng' (gxine:9640): libgnomevfs-WARNING **: Deprecated function. User modifications to the MIME database are no longer supported. desktop_integration: registering xine for mime type 'video/x-mng' (gxine:9640): libgnomevfs-WARNING **: Deprecated function. User modifications to the MIME database are no longer supported. desktop_integration: registering xine for mime type 'audio/x-aiff' (gxine:9640): libgnomevfs-WARNING **: Deprecated function. User modifications to the MIME database are no longer supported. . . . The list is long as gxine tries to register . all the media files it can handle ... . . desktop_integration: registering xine for mime type 'audio/mp3' (gxine:9640): libgnomevfs-WARNING **: Deprecated function. User modifications to the MIME database are no longer supported. desktop_integration: registering xine for mime type 'audio/x-mp3' (gxine:9640): libgnomevfs-WARNING **: Deprecated function. User modifications to the MIME database are no longer supported. desktop_integration: registering xine for mime type 'application/x-flac' (gxine:9640): libgnomevfs-WARNING **: Deprecated function. User modifications to the MIME database are no longer supported. Segmentation fault ______________________________________ It appears that gxine is trying to register itself in a deprecated way ...
Can you try with 0.5.0 ?
(In reply to comment #3) > Can you try with 0.5.0 ? Compiled 0.5.0 with FEATURES="nostrip". The gnome registering procedure has been fixed not to use the old gnome-vfs calls, but the segfault still happens just after registration. Here is the backtrace : #0 0x00002aaaabb0ce67 in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0 #1 0x00002aaaabb0d858 in g_main_context_acquire () from /usr/lib/libglib-2.0.so.0 #2 0x00002aaaabb0ddfa in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #3 0x00002aaaab0412e1 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #4 0x000000000041df7e in run_wizards () #5 0x0000000000414206 in main () Strangely, the segfault appears to happens well after returning from the di_register_gnome (in desktop_integration.c) routine, although the problem only occurs when we ask for gnome integration.
Bug still present in gxine 0.5.1 CFLAGS="-march=k8 -O2 -pipe -g", FEATURES="nostrip" trace after segfault : #0 0x00002aaaabb0ce67 in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0 #1 0x00002aaaabb0d858 in g_main_context_acquire () from /usr/lib/libglib-2.0.so.0 #2 0x00002aaaabb0ddfa in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #3 0x00002aaaab0416b1 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #4 0x0000000000432bae in run_wizards (requested=5758984) at wizards.c:368 #5 0x0000000000419c41 in main (argc=1, argv=0x7fffffc158e8) at main.c:476 I'll try to simplify the summary because I don't think there's much evidence that it's really related with a missing gnome compoment, as I have quite a lot of gnome's libs installed for various softwares, and the bug actually happens after the actual registration of the xine mime types to gnome (although it happens only if the registration is done. GDB newbie question : I've try to build glib with debug symbols so that I could see more precisely why is it segfaulting, but still they don't appear in GDB... is there anything special to do to get source code information of shared objects to be displayed ?
Summary modified (bug happens even most gnome's libs installed)
(In reply to comment #5) > GDB newbie question : I've try to build glib with debug symbols so that I > could see more precisely why is it segfaulting, but still they don't appear in > GDB... is there anything special to do to get source code information of > shared objects to be displayed ? Never mind, it works now. Don't know what I was doing wrong...
Does 0.5.3-r1 work? Can you try using splitdebug and -g -ggdb3 to get the exact point of segfaulting?
(In reply to comment #8) > Does 0.5.3-r1 work? Can you try using splitdebug and -g -ggdb3 to get the exact > point of segfaulting? > Erm, I couldn't find out how to use the splitted debug info, so I did a nostrip build (with -g -ggdb3). I would appreciate if you could point me to some help/info about splitdebug. The crash still occurs : (gdb) bt #0 0x00002aaaabe43277 in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0 #1 0x00002aaaabe43c68 in g_main_context_acquire () from /usr/lib/libglib-2.0.so.0 #2 0x00002aaaabe4420a in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #3 0x00002aaaab0505e1 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #4 0x000000000043368e in run_wizards (requested=5731944) at wizards.c:372 #5 0x0000000000419e9c in main (argc=1, argv=0x7fffffcf0378) at main.c:488 (gdb) Would it help to have a debug build of gtk and glib also ? I tried it a while ago and I think the result were a bit different. If so, really please tell me how to use splitdebug :-).
Yeah a debug build would help having gtk and glib built with debug info. splitdebug is present in Portage 2.1, just need to set splitdebug in useflags, and -g -ggdb in C[XX]FLAGS, that would put the debug info in /usr/lib/debug instead of removing it or leaving it in the files. I'm wondering what's causing this at this point, the crash is inside glib/gtk, which versions are you using?
Ok, i'm still with stable portage, so no stripdebug for now... I'm using also using stable gtk and glib, that is : glib-2.8.5 gtk+-2.8.8 but I think that at the beginning of this bug, I was using the previous versions, whatever was stable at that point. Probably glib-2.6.5 and gtk+-2.6.10-r1. Off to rebuilding gtk and glib then... i'll send a new bt by tomorrow.
Well, it's already here : Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 46912545314368 (LWP 12037)] IA__g_main_context_prepare (context=0x577660, priority=0x7fffffdc9ca4) at gmain.c:2248 2248 gmain.c: Aucun fichier ou r
Well, it's already here : Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 46912545314368 (LWP 12037)] IA__g_main_context_prepare (context=0x577660, priority=0x7fffffdc9ca4) at gmain.c:2248 2248 gmain.c: Aucun fichier ou répertoire de ce type. in gmain.c (gdb) bt #0 IA__g_main_context_prepare (context=0x577660, priority=0x7fffffdc9ca4) at gmain.c:2248 #1 0x00002aaaabe43c68 in g_main_context_iterate (context=0x577660, block=1, dispatch=1, self=0x20c49ba5e353f7cf) at gmain.c:2545 #2 0x00002aaaabe4420a in IA__g_main_loop_run (loop=0x1b6f2a0) at gmain.c:2769 #3 0x00002aaaab0505e1 in IA__gtk_main () at gtkmain.c:985 #4 0x000000000043368e in run_wizards (requested=5731944) at wizards.c:372 #5 0x0000000000419e9c in main (argc=1, argv=0x7fffffdca3d8) at main.c:488
Bonus ( in case it helps ) : (gdb) print *source->source_funcs Cannot access memory at address 0x2aaab3efa2c0
gxine-0.5.4 glib-2.8.5 gtk+-2.8.8 Same crash : Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 46912548792784 (LWP 20154)] IA__g_main_context_prepare (context=0x577660, priority=0x7fffffc4fe94) at gmain.c:2248 2248 gmain.c: Aucun fichier ou r
gxine-0.5.4 glib-2.8.5 gtk+-2.8.8 Same crash : Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 46912548792784 (LWP 20154)] IA__g_main_context_prepare (context=0x577660, priority=0x7fffffc4fe94) at gmain.c:2248 2248 gmain.c: Aucun fichier ou répertoire de ce type. in gmain.c (gdb) bt #0 IA__g_main_context_prepare (context=0x577660, priority=0x7fffffc4fe94) at gmain.c:2248 #1 0x00002aaaab910c68 in g_main_context_iterate (context=0x577660, block=1, dispatch=1, self=0x20c49ba5e353f7cf) at gmain.c:2545 #2 0x00002aaaab91120a in IA__g_main_loop_run (loop=0x1ab9400) at gmain.c:2769 #3 0x00002aaaaaf3b5e1 in IA__gtk_main () at gtkmain.c:985 #4 0x0000000000433f5e in run_wizards (requested=5731944) at wizards.c:373 #5 0x000000000041a131 in main (argc=1, argv=0x7fffffc505c8) at main.c:498 And same cause : (gdb) print *source->source_funcs Cannot access memory at address 0x2aaab424c2c0 Funny that the adress of the failure should be reproductible.
News, news ! It seems that compiling xine-lib with the gnome use flags fixes the problem. I was using -gnome until a couple of days ago. Maybe the problem is reproductible by emerging xine-lib without the gnome use flag. It is to be taken with a grain of salt because in fact I just installed gnome and set the gtk and gnome use flags globally, so many things have changed on my system. Maybe I'll try to remerge xine-lib to check if it really is the problem.
wow, 2006 ! I take it that your bug is fixed by now. If not please reopen and provide updated informations, thanks. Closing worksforme per comment #17.