Step to reproduce : 1. launch gnome-cups-manager (with cups daemon running of course) 2. double-click on the "New printer" Icon gnome-cups-add is then launched (via gnomesu if needed) and runs fine, but, behind, gnome-cups-manager crashes. in gdb it gives the following backtrace : (gdb) run Starting program: /usr/bin/gnome-cups-manager [Thread debugging using libthread_db enabled] [New Thread 46912593791424 (LWP 27375)] [New Thread 1082132832 (LWP 27378)] [Thread 1082132832 (LWP 27378) exited] [New Thread 1090525536 (LWP 27379)] [New Thread 1082132832 (LWP 27380)] [New Thread 1098918240 (LWP 27381)] [New Thread 1107310944 (LWP 27382)] [Thread 1107310944 (LWP 27382) exited] [Thread 1098918240 (LWP 27381) exited] [Thread 1090525536 (LWP 27379) exited] [Thread 1082132832 (LWP 27380) exited] thread_db_get_info: cannot get thread info: generic error (gdb) continue Continuing. Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 46912593791424 (LWP 27375)] egg_icon_list_item_unref (item=0x409130) at eggiconlist.c:1869 1869 eggiconlist.c: Aucun fichier ou r
Step to reproduce : 1. launch gnome-cups-manager (with cups daemon running of course) 2. double-click on the "New printer" Icon gnome-cups-add is then launched (via gnomesu if needed) and runs fine, but, behind, gnome-cups-manager crashes. in gdb it gives the following backtrace : (gdb) run Starting program: /usr/bin/gnome-cups-manager [Thread debugging using libthread_db enabled] [New Thread 46912593791424 (LWP 27375)] [New Thread 1082132832 (LWP 27378)] [Thread 1082132832 (LWP 27378) exited] [New Thread 1090525536 (LWP 27379)] [New Thread 1082132832 (LWP 27380)] [New Thread 1098918240 (LWP 27381)] [New Thread 1107310944 (LWP 27382)] [Thread 1107310944 (LWP 27382) exited] [Thread 1098918240 (LWP 27381) exited] [Thread 1090525536 (LWP 27379) exited] [Thread 1082132832 (LWP 27380) exited] thread_db_get_info: cannot get thread info: generic error (gdb) continue Continuing. Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 46912593791424 (LWP 27375)] egg_icon_list_item_unref (item=0x409130) at eggiconlist.c:1869 1869 eggiconlist.c: Aucun fichier ou répertoire de ce type. in eggiconlist.c (gdb) bt #0 egg_icon_list_item_unref (item=0x409130) at eggiconlist.c:1869 #1 0x00002aaaada41be2 in boxed_proxy_value_free (value=0x7fffffb6d778) at gboxed.c:259 #2 0x00002aaaada6788b in IA__g_value_unset (value=0x7fffffb6d778) at gvalue.c:155 #3 0x00002aaaada5af0a in IA__g_signal_emit_valist (instance=0x778090, signal_id=147, detail=0, var_args=0x7fffffb6d920) at gsignal.c:2226 #4 0x00002aaaada5b010 in IA__g_signal_emit (instance=0x778090, signal_id=147, detail=0) at gsignal.c:2241 #5 0x000000000040a822 in egg_icon_list_button_press (widget=0x778090, event=0x7bda00) at eggiconlist.c:850 #6 0x00002aaaabbef23d in _gtk_marshal_BOOLEAN__BOXED (closure=0x5b6580, return_value=0x7fffffb6dcd0, n_param_values=2, param_values=0x7fffffb6df80, invocation_hint=0x7fffffb6dd20, marshal_data=0x40a650) at gtkmarshalers.c:83 #7 0x00002aaaada44e8c in g_type_class_meta_marshal (closure=0x5b6580, return_value=0x7fffffb6dcd0, n_param_values=2, param_values=0x7fffffb6df80, invocation_hint=0x7fffffb6dd20, marshal_data=0x158) at gclosure.c:567 #8 0x00002aaaada44b9c in IA__g_closure_invoke (closure=0x5b6580, return_value=0x7fffffb6dcd0, n_param_values=2, param_values=0x7fffffb6df80, invocation_hint=0x7fffffb6dd20) at gclosure.c:490 #9 0x00002aaaada5bdb5 in signal_emit_unlocked_R (node=0x560870, detail=0, instance=0x778090, emission_return=0x7fffffb6ded0, instance_and_params=0x7fffffb6df80) at gsignal.c:2476 #10 0x00002aaaada5aac6 in IA__g_signal_emit_valist (instance=0x778090, signal_id=43, detail=0, var_args=0x7fffffb6e140) at gsignal.c:2207 #11 0x00002aaaada5b010 in IA__g_signal_emit (instance=0x778090, signal_id=43, detail=0) at gsignal.c:2241 #12 0x00002aaaabd1b0e9 in gtk_widget_event_internal (widget=0x778090, event=0x7bda00) at gtkwidget.c:3751 #13 0x00002aaaabd1ac4c in IA__gtk_widget_event (widget=0x778090, event=0x7bda00) at gtkwidget.c:3554 #14 0x00002aaaabbed79c in IA__gtk_propagate_event (widget=0x778090, event=0x7bda00) at gtkmain.c:2195 #15 0x00002aaaabbec3ff in IA__gtk_main_do_event (event=0x7bda00) at gtkmain.c:1409 #16 0x00002aaaac34f30e in gdk_event_dispatch (source=0x54f5d0, callback=0, user_data=0x0) at gdkevents-x11.c:2291 #17 0x00002aaaadcb9752 in g_main_dispatch (context=0x54f650) at gmain.c:1916 #18 0x00002aaaadcbab4b in IA__g_main_context_dispatch (context=0x54f650) at gmain.c:2466 #19 0x00002aaaadcbb04c in g_main_context_iterate (context=0x54f650, block=1, dispatch=1, self=0x523ea0) at gmain.c:2547 #20 0x00002aaaadcbb7a3 in IA__g_main_loop_run (loop=0x598a40) at gmain.c:2751 #21 0x00002aaaabbebb62 in IA__gtk_main () at gtkmain.c:1003 #22 0x000000000040cae3 in main (argc=1, argv=0x598a20) at gnome-cups-manager.c:264 ---Type <return> to continue, or q <return> to quit--- #23 0x00002aaaae097644 in __libc_start_main (main=0x40c680 <main>, argc=1, ubp_av=0x7fffffb6e838, init=0x411670 <__libc_csu_init>, fini=0, rtld_fini=0x409130 <egg_icon_list_item_ref>, stack_end=0x7fffffb6e828) at libc-start.c:212 #24 0x0000000000407a0a in _start () at start.S:113
emerge --info Portage 2.1-r1 (default-linux/amd64/2005.1, gcc-3.4.6, glibc-2.3.6-r4, 2.6.15-gentoo-r7 x86_64) ================================================================= System uname: 2.6.15-gentoo-r7 x86_64 AMD Athlon(tm) 64 Processor 3000+ Gentoo Base System version 1.6.15 app-admin/eselect-compiler: [Not Present] dev-lang/python: 2.3.5-r2, 2.4.3-r1 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: [Not Present] dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.13-r3 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=k8 -O2 -pipe -g" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-march=k8 -O2 -pipe -g" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms splitdebug strict" GENTOO_MIRRORS="ftp://ftp.du.se/pub/os/gentoo http://ds.thn.htu.se/linux/gentoo ftp://mirror.pudas.net/gentoo http://ftp.heanet.ie/pub/gentoo/ ftp://ftp.heanet.ie/pub/gentoo/" LANG="fr_FR.UTF-8" LC_ALL="fr_FR.UTF-8" LINGUAS="fr" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.informatik.rwth-aachen.de/gentoo-portage" USE="amd64 X a52 aac acpi alsa avahi avi bash-completion berkdb bidi bitmap-fonts bzip2 cairo cdr cjk cli crypt cups dbus dlloader doc dri dts dvd eds emboss encode fbcon ffmpeg firefox flac foomaticdb fortran gif gnome gpm gtk gtk2 hal imlib ipv6 isdnlog jack jpeg kde kdeenablefinal lzw lzw-tiff mad matroska mng mp3 mpeg ncurses nls nptl nptlonly nvidia ogg oggvorbis opengl pam pcmcia pcre pdflib perl png postgres ppds pppd python qt qt3 qt4 quicktime readline reflection samba sdl session speex spell spl ssl svg tcpd theora tiff truetype truetype-fonts type1-fonts unicode usb vorbis xine xorg xpm xprint xv zlib elibc_glibc input_devices_keyboard input_devices_ps2mouse kernel_linux linguas_fr userland_GNU video_cards_nv" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
By the way, you will notice that before crashing, the debugger stopped with : > thread_db_get_info: cannot get thread info: generic error > (gdb) continue > Continuing. > > Program received signal SIGSEGV, Segmentation fault. This happens just after I double-click "New Printer". Only when I type continue does it proceed to segfault (of course, without debugger, I go straight to gnome crash handler).
The bug disappears with CFLAGS="-march=k8 -O0 -pipe -g", I'll try with -O1. I'll also try the 0.31 ebuild.
Back with -O2, gnome-cups-manager-0.31 reproduces the bug
(In reply to comment #4) > Back with -O2, gnome-cups-manager-0.31 reproduces the bug > -O1, the bug is still here... Would some flag filtering be an acceptable solution ?
> -O1, the bug is still here... Would some flag filtering be an acceptable > solution ? joker on #gentoo-bugs told me it was (thanks!), so goes 2 patches, one for 0.30 and one for 0.31. They append -O0 to the cflags if arch is amd64. Also I reported it upstream : http://bugzilla.gnome.org/show_bug.cgi?id=350054
Created attachment 93492 [details, diff] append -O0 in gnome-cups-manager-0.30 cflags
Created attachment 93493 [details, diff] appends -O0 in gnome-cups-manager-0.31 cflags
amd64 specific changes are up to the amd64 team
it's fixed, thanks Bruno!
this really really needs to be reported upstream and fixed there. -O0 is rife with code generation problems and basic things like inlining will fail to work in subtle ways. i won't reopen since it's your funeral, but please consider it.