Bug 192963

Summary: wnck-applet segfault
Product: Red Hat Enterprise Linux 4 Reporter: Bastien Nocera <bnocera>
Component: libwnckAssignee: Ray Strode [halfline] <rstrode>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 4.0CC: desktop-bugs, tao
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: RHBA-2007-0775 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-11-15 16:00:45 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
nullify button before calling destroy
none
latest stack trace from most recent libwnck packages
none
metacity debug
none
metacity log
none
gdb output
none
second gdb output
none
more gdb error output from the applet failing none

Description Bastien Nocera 2006-05-24 15:15:21 UTC
Under "random"  circumstances (ie. no clear reproducer), wnck-applet segfaults,
as in the upstream bug:
http://bugzilla.gnome.org/show_bug.cgi?id=139080

gnome-panel-2.8.1-3.3E

GNU gdb Red Hat Linux (6.3.0.0-1.96rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu".
Attaching to process 5741
Reading symbols from /usr/libexec/wnck-applet...
warning: the debug information found in
"/usr/lib/debug//usr/libexec/wnck-applet.debug" does not match
"/usr/libexec/wnck-applet" (CRC mismatch).

(no debugging symbols found)...done.
Using host libthread_db library "/lib/tls/libthread_db.so.1".
Reading symbols from /usr/lib/libpanel-applet-2.so.0...
warning: the debug information found in
"/usr/lib/debug//usr/lib/libpanel-applet-2.so.0.0.19.debug" does not match
"/usr/lib/libpanel-applet-2.so.0" (CRC mismatch).

(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libpanel-applet-2.so.0
Reading symbols from /usr/lib/libwnck-1.so.4...Reading symbols from
/usr/lib/debug/usr/lib/libwnck-1.so.4.9.0.debug...done.
done.
Loaded symbols for /usr/lib/libwnck-1.so.4
Reading symbols from /usr/lib/libglade-2.0.so.0...done.
Loaded symbols for /usr/lib/libglade-2.0.so.0
Reading symbols from /usr/lib/libgnome-desktop-2.so.2...done.
Loaded symbols for /usr/lib/libgnome-desktop-2.so.2
Reading symbols from /usr/lib/libgnomeui-2.so.0...done.
Loaded symbols for /usr/lib/libgnomeui-2.so.0
Reading symbols from /usr/X11R6/lib/libSM.so.6...done.
Loaded symbols for /usr/X11R6/lib/libSM.so.6
Reading symbols from /usr/X11R6/lib/libICE.so.6...done.
Loaded symbols for /usr/X11R6/lib/libICE.so.6
Reading symbols from /usr/lib/libstartup-notification-1.so.0...done.
Loaded symbols for /usr/lib/libstartup-notification-1.so.0
Reading symbols from /usr/lib/libbonoboui-2.so.0...done.
Loaded symbols for /usr/lib/libbonoboui-2.so.0
Reading symbols from /usr/lib/libxml2.so.2...done.
Loaded symbols for /usr/lib/libxml2.so.2
Reading symbols from /lib/tls/libpthread.so.0...done.
[Thread debugging using libthread_db enabled]
[New Thread -1208785216 (LWP 5741)]
Loaded symbols for /lib/tls/libpthread.so.0
Reading symbols from /usr/lib/libz.so.1...done.
Loaded symbols for /usr/lib/libz.so.1
Reading symbols from /usr/lib/libgnomecanvas-2.so.0...done.
Loaded symbols for /usr/lib/libgnomecanvas-2.so.0
Reading symbols from /usr/lib/libgnome-2.so.0...done.
Loaded symbols for /usr/lib/libgnome-2.so.0
Reading symbols from /usr/lib/libpopt.so.0...done.
Loaded symbols for /usr/lib/libpopt.so.0
Reading symbols from /usr/lib/libart_lgpl_2.so.2...done.
Loaded symbols for /usr/lib/libart_lgpl_2.so.2
Reading symbols from /usr/lib/libpangoft2-1.0.so.0...done.
Loaded symbols for /usr/lib/libpangoft2-1.0.so.0
Reading symbols from /usr/lib/libgtk-x11-2.0.so.0...Reading symbols from
/usr/lib/debug/usr/lib/libgtk-x11-2.0.so.0.400.13.debug...done.
done.
Loaded symbols for /usr/lib/libgtk-x11-2.0.so.0
Reading symbols from /usr/lib/libgdk-x11-2.0.so.0...Reading symbols from
/usr/lib/debug/usr/lib/libgdk-x11-2.0.so.0.400.13.debug...done.
done.
Loaded symbols for /usr/lib/libgdk-x11-2.0.so.0
Reading symbols from /usr/lib/libatk-1.0.so.0...done.
Loaded symbols for /usr/lib/libatk-1.0.so.0
Reading symbols from /usr/lib/libgdk_pixbuf-2.0.so.0...Reading symbols from
/usr/lib/debug/usr/lib/libgdk_pixbuf-2.0.so.0.400.13.debug...done.
done.
Loaded symbols for /usr/lib/libgdk_pixbuf-2.0.so.0
Reading symbols from /usr/lib/libpangoxft-1.0.so.0...done.
Loaded symbols for /usr/lib/libpangoxft-1.0.so.0
Reading symbols from /usr/lib/libpangox-1.0.so.0...done.
Loaded symbols for /usr/lib/libpangox-1.0.so.0
Reading symbols from /usr/lib/libpango-1.0.so.0...done.
Loaded symbols for /usr/lib/libpango-1.0.so.0
Reading symbols from /usr/lib/libgobject-2.0.so.0...Reading symbols from
/usr/lib/debug/usr/lib/libgobject-2.0.so.0.400.7.debug...done.
done.
Loaded symbols for /usr/lib/libgobject-2.0.so.0
Reading symbols from /usr/lib/libbonobo-2.so.0...done.
Loaded symbols for /usr/lib/libbonobo-2.so.0
Reading symbols from /usr/lib/libgconf-2.so.4...done.
Loaded symbols for /usr/lib/libgconf-2.so.4
Reading symbols from /usr/lib/libgnomevfs-2.so.0...done.
Loaded symbols for /usr/lib/libgnomevfs-2.so.0
Reading symbols from /usr/lib/libbonobo-activation.so.4...done.
Loaded symbols for /usr/lib/libbonobo-activation.so.4
Reading symbols from /usr/lib/libORBit-2.so.0...done.
Loaded symbols for /usr/lib/libORBit-2.so.0
Reading symbols from /lib/tls/libm.so.6...done.
Loaded symbols for /lib/tls/libm.so.6
Reading symbols from /usr/lib/libgmodule-2.0.so.0...Reading symbols from
/usr/lib/debug/usr/lib/libgmodule-2.0.so.0.400.7.debug...done.
done.
Loaded symbols for /usr/lib/libgmodule-2.0.so.0
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /usr/lib/libgthread-2.0.so.0...Reading symbols from
/usr/lib/debug/usr/lib/libgthread-2.0.so.0.400.7.debug...done.
done.
Loaded symbols for /usr/lib/libgthread-2.0.so.0
Reading symbols from /usr/lib/libglib-2.0.so.0...Reading symbols from
/usr/lib/debug/usr/lib/libglib-2.0.so.0.400.7.debug...done.
done.
Loaded symbols for /usr/lib/libglib-2.0.so.0
Reading symbols from /lib/tls/libc.so.6...done.
Loaded symbols for /lib/tls/libc.so.6
Reading symbols from /usr/X11R6/lib/libX11.so.6...done.
Loaded symbols for /usr/X11R6/lib/libX11.so.6
Reading symbols from /usr/X11R6/lib/libXRes.so.1...done.
Loaded symbols for /usr/X11R6/lib/libXRes.so.1
Reading symbols from /usr/X11R6/lib/libXext.so.6...done.
Loaded symbols for /usr/X11R6/lib/libXext.so.6
Reading symbols from /usr/lib/libgnome-keyring.so.0...done.
Loaded symbols for /usr/lib/libgnome-keyring.so.0
Reading symbols from /usr/lib/libjpeg.so.62...done.
Loaded symbols for /usr/lib/libjpeg.so.62
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /usr/lib/libesd.so.0...done.
Loaded symbols for /usr/lib/libesd.so.0
Reading symbols from /usr/lib/libaudiofile.so.0...done.
Loaded symbols for /usr/lib/libaudiofile.so.0
Reading symbols from /usr/lib/libfontconfig.so.1...done.
Loaded symbols for /usr/lib/libfontconfig.so.1
Reading symbols from /usr/lib/libfreetype.so.6...done.
Loaded symbols for /usr/lib/libfreetype.so.6
Reading symbols from /usr/X11R6/lib/libXrandr.so.2...done.
Loaded symbols for /usr/X11R6/lib/libXrandr.so.2
Reading symbols from /usr/X11R6/lib/libXi.so.6...done.
Loaded symbols for /usr/X11R6/lib/libXi.so.6
Reading symbols from /usr/X11R6/lib/libXinerama.so.1...done.
Loaded symbols for /usr/X11R6/lib/libXinerama.so.1
Reading symbols from /usr/X11R6/lib/libXft.so.2...done.
Loaded symbols for /usr/X11R6/lib/libXft.so.2
Reading symbols from /usr/X11R6/lib/libXcursor.so.1...done.
Loaded symbols for /usr/X11R6/lib/libXcursor.so.1
Reading symbols from /usr/X11R6/lib/libXrender.so.1...done.
Loaded symbols for /usr/X11R6/lib/libXrender.so.1
Reading symbols from /usr/lib/libORBitCosNaming-2.so.0...done.
Loaded symbols for /usr/lib/libORBitCosNaming-2.so.0
Reading symbols from /lib/libssl.so.4...done.
Loaded symbols for /lib/libssl.so.4
Reading symbols from /lib/libcrypto.so.4...done.
Loaded symbols for /lib/libcrypto.so.4
Reading symbols from /usr/lib/libgssapi_krb5.so.2...done.
Loaded symbols for /usr/lib/libgssapi_krb5.so.2
Reading symbols from /usr/lib/libkrb5.so.3...done.
Loaded symbols for /usr/lib/libkrb5.so.3
Reading symbols from /lib/libcom_err.so.2...done.
Loaded symbols for /lib/libcom_err.so.2
Reading symbols from /usr/lib/libk5crypto.so.3...done.
Loaded symbols for /usr/lib/libk5crypto.so.3
Reading symbols from /lib/libresolv.so.2...done.
Loaded symbols for /lib/libresolv.so.2
Reading symbols from /lib/tls/librt.so.1...done.
Loaded symbols for /lib/tls/librt.so.1
Reading symbols from /lib/libasound.so.2...done.
Loaded symbols for /lib/libasound.so.2
Reading symbols from /usr/lib/libexpat.so.0...done.
Loaded symbols for /usr/lib/libexpat.so.0
Reading symbols from /usr/X11R6/lib/X11/locale/lib/common/xlcUTF8Load.so.2...done.
Loaded symbols for /usr/X11R6/lib/X11/locale/lib/common/xlcUTF8Load.so.2
Reading symbols from /usr/lib/gconv/ISO8859-1.so...done.
Loaded symbols for /usr/lib/gconv/ISO8859-1.so
Reading symbols from /usr/lib/gtk-2.0/2.4.0/engines/libbluecurve.so...done.
Loaded symbols for /usr/lib/gtk-2.0/2.4.0/engines/libbluecurve.so
Reading symbols from /usr/lib/pango/1.4.0/modules/pango-basic-fc.so...done.
Loaded symbols for /usr/lib/pango/1.4.0/modules/pango-basic-fc.so
Reading symbols from
/usr/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-png.so...Reading symbols from
/usr/lib/debug/usr/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-png.so.debug...done.
done.
Loaded symbols for /usr/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-png.so
Reading symbols from /usr/lib/libpng12.so.0...done.
Loaded symbols for /usr/lib/libpng12.so.0

0x008157a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
(gdb) continue
Continuing.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1208785216 (LWP 5741)]
handlers_find (instance=0x0, mask=4294967271, signal_id=0, detail=0, 
    closure=0x0, func=0x364217, data=0x9a1ece8, one_and_only=0)
    at gsignal.c:508
508			  if (!node->c_marshaller)
(gdb) thread apply all bt

Thread 1 (Thread -1208785216 (LWP 5741)):
#0  handlers_find (instance=0x0, mask=4294967271, signal_id=0, detail=0, 
    closure=0x0, func=0x364217, data=0x9a1ece8, one_and_only=0)
    at gsignal.c:508
#1  0x00c404e6 in signal_handlers_foreach_matched_R (instance=0x9b21570, 
    mask=10, signal_id=0, detail=0, closure=0x0, func=0x0, data=0x0, 
    callback=0xc3f847 <g_signal_handler_disconnect>) at gsignal.c:1846
#2  0x00c40bab in g_signal_handlers_disconnect_matched (instance=0x9b21570, 
    mask=24, signal_id=0, detail=0, closure=0x0, func=0x0, data=0x0)
    at gsignal.c:1931
#3  0x00364430 in gtk_tooltips_widget_remove (widget=0x0, data=0x9a1ece8)
    at gtktooltips.c:140
#4  0x00c440ae in g_cclosure_marshal_VOID__VOID (closure=0x9b17c50, 
    return_value=0x0, n_param_values=1, param_values=0x0, 
    invocation_hint=0xbff430c8, marshal_data=0x0) at gmarshal.c:77
#5  0x00c2c347 in g_closure_invoke (closure=0x9b17c50, return_value=0x0, 
    n_param_values=0, param_values=0x0, invocation_hint=0x0) at gclosure.c:437
#6  0x00c4194e in signal_emit_unlocked_R (node=0x9838678, detail=0, 
    instance=0x9b21570, emission_return=0x0, instance_and_params=0xbff431f0)
    at gsignal.c:2435
#7  0x00c439bc in g_signal_emit_valist (instance=0x9b21570, signal_id=1, 
    detail=0, var_args=0xbff4337c "\027.-") at gsignal.c:2194
#8  0x00c43c5a in g_signal_emit (instance=0x0, signal_id=0, detail=0)
    at gsignal.c:2238
#9  0x002d2e5d in gtk_object_dispose (gobject=0x9b21570) at gtkobject.c:376
#10 0x003ae3ca in gtk_widget_dispose (object=0x9b21570) at gtkwidget.c:6386
#11 0x00c2ea0f in g_object_run_dispose (object=0x9b21570) at gobject.c:602
#12 0x002d2de8 in gtk_object_destroy (object=0x9b21570) at gtkobject.c:361
#13 0x003a8383 in gtk_widget_destroy (widget=0x9b21570) at gtkwidget.c:1913
#14 0x00d00d84 in wnck_task_finalize (object=0x9b15b08) at tasklist.c:384
#15 0x00c2e8dc in g_object_unref (_object=0x9b15b08) at gobject.c:570
#16 0x00d00878 in wnck_tasklist_remove (container=0x98c8550, widget=0x9b21570)
    at tasklist.c:1284
#17 0x00c44c3f in g_cclosure_marshal_VOID__OBJECT (closure=0x986a550, 
    return_value=0x0, n_param_values=2, param_values=0xbff43850, 
    invocation_hint=0xbff43728, marshal_data=0xd0069b) at gmarshal.c:636
#18 0x00c2c6b2 in g_type_class_meta_marshal (closure=0x986a550, 
    return_value=0x0, n_param_values=0, param_values=0xbff43850, 
    invocation_hint=0x0, marshal_data=0x0) at gclosure.c:514
#19 0x00c2c347 in g_closure_invoke (closure=0x986a550, return_value=0x0, 
    n_param_values=0, param_values=0x0, invocation_hint=0x0) at gclosure.c:437
#20 0x00c41616 in signal_emit_unlocked_R (node=0x986a598, detail=0, 
    instance=0x98c8550, emission_return=0x0, instance_and_params=0xbff43850)
    at gsignal.c:2365
#21 0x00c439bc in g_signal_emit_valist (instance=0x98c8550, signal_id=1, 
    detail=0, var_args=0xbff439e0 "p\025²\t¸K²\t\030u#") at gsignal.c:2194
#22 0x00c43c5a in g_signal_emit (instance=0x0, signal_id=0, detail=0)
    at gsignal.c:2238
#23 0x00237654 in gtk_container_remove (container=0x98c8550, widget=0x9b21570)
    at gtkcontainer.c:994
#24 0x003ae3dd in gtk_widget_dispose (object=0x9b21570) at gtkwidget.c:6380
#25 0x00c2ea0f in g_object_run_dispose (object=0x9b21570) at gobject.c:602
#26 0x002d2de8 in gtk_object_destroy (object=0x9b21570) at gtkobject.c:361
#27 0x003a8383 in gtk_widget_destroy (widget=0x9b21570) at gtkwidget.c:1913
#28 0x00d02e50 in wnck_tasklist_update_lists (tasklist=0x98c8550)
    at tasklist.c:1445
#29 0x00d03782 in do_wnck_tasklist_update_lists (data=0x0) at tasklist.c:1768
#30 0x00bcca98 in g_idle_dispatch (source=0x9b24bb8, callback=0xa, 
    user_data=0x0) at gmain.c:3806
#31 0x00bc974b in g_main_context_dispatch (context=0x9855ad8) at gmain.c:1942
#32 0x00bcb1d2 in g_main_context_iterate (context=0x9855ad8, block=1, 
    dispatch=1, self=0x9836378) at gmain.c:2573
#33 0x00bcb47f in g_main_loop_run (loop=0x9842bf8) at gmain.c:2777
#34 0x038c4dd5 in bonobo_main () from /usr/lib/libbonobo-2.so.0
#35 0x038c3034 in bonobo_generic_factory_main_timeout ()
   from /usr/lib/libbonobo-2.so.0
#36 0x038c30b8 in bonobo_generic_factory_main () from /usr/lib/libbonobo-2.so.0
#37 0x00cc2f50 in panel_applet_factory_main_closure ()
   from /usr/lib/libpanel-applet-2.so.0
#38 0x00cc3076 in panel_applet_factory_main ()
   from /usr/lib/libpanel-applet-2.so.0
#39 0x0804e2aa in main ()
(gdb) quit
The program is running.  Quit anyway (and detach it)? (y or n) Detaching from
program: /usr/libexec/wnck-applet, process 5741

Comment 2 Bastien Nocera 2006-05-24 15:20:16 UTC
Note that this warning:
warning: the debug information found in
"/usr/lib/debug//usr/libexec/wnck-applet.debug" does not match
"/usr/libexec/wnck-applet" (CRC mismatch).

shouldn't have much consequence on the backtrace gathered, as all the logic of
the wnck-applet is in libwnck.

Comment 5 Ray Strode [halfline] 2006-07-05 15:28:58 UTC
Created attachment 131937 [details]
nullify button before calling destroy

here's an untested patch for the type of change I mentioned in comment 4.

I'm a bit busy with RHEL5 work right now, but if someone wants to try this
before I have more time to investigate, it might fix the problem.

(sorry for the delay in the ping, by the way.  I've been at a conference in
Spain)

Comment 18 Adam Stokes 2006-08-03 20:46:42 UTC
Created attachment 133585 [details]
latest stack trace from most recent libwnck packages

Comment 27 Adam Stokes 2006-08-14 14:54:58 UTC
Created attachment 134143 [details]
metacity debug

Comment 30 Adam Stokes 2006-08-15 14:34:29 UTC
Created attachment 134212 [details]
metacity log

Comment 36 Adam Stokes 2006-09-05 15:13:30 UTC
Created attachment 135568 [details]
gdb output

Comment 37 Adam Stokes 2006-09-05 15:14:09 UTC
Created attachment 135569 [details]
second gdb output

Comment 38 RHEL Program Management 2006-09-05 19:38:01 UTC
The component this request has been filed against is not planned for inclusion
in the next update. The decision is based on weighting the priority and number
of requests for a component as well as the impact on the Red Hat Enterprise
Linux user-base: other components are considered having higher priority and the
number of changes we intend to include in update cycles is limited.

Comment 39 RHEL Program Management 2006-09-05 19:48:57 UTC
Product Management has reviewed and declined this request.  You may appeal this
decision by reopening this request. 

Comment 40 Brad Hinson 2006-09-05 19:52:27 UTC
Reopening

Comment 41 Adam Stokes 2006-09-08 14:19:06 UTC
Created attachment 135848 [details]
more gdb error output from the applet failing

Comment 80 RHEL Program Management 2007-03-16 16:07:50 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
release.

Comment 88 errata-xmlrpc 2007-11-15 16:00:45 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2007-0775.html