After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 137308 - gnome-panel crash upon trying to remove extra clock applet
gnome-panel crash upon trying to remove extra clock applet
Status: RESOLVED FIXED
Product: gnome-panel
Classification: Other
Component: panel
2.8.x
Other other
: High critical
: ---
Assigned To: Panel Maintainers
Panel Maintainers
: 138573 139036 147788 149573 152700 156158 158364 162485 163823 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2004-01-07 14:46 UTC by Elijah Newren
Modified: 2005-06-12 14:44 UTC
See Also:
GNOME target: ---
GNOME version: 2.7/2.8



Description Elijah Newren 2004-03-15 23:38:26 UTC
Distribution: Fedora Core release 1 (Yarrow)
Package: gnome-panel
Severity: critical
Version: GNOME2.4.0 2.4.x
Gnome-Distributor: GNOME.Org
Synopsis: gnome-panel crash upon trying to remove extra clock applet
Bugzilla-Product: gnome-panel
Bugzilla-Component: Panel
Bugzilla-Version: 2.4.x
BugBuddy-GnomeVersion: 2.0 (2.4.0.1)
Description:
Description of the crash:
This part may not be relevant, but for background and just in case...
I resized my screen (using xrandr) so that I could interface my laptop
to an overhead projector and see the full screen.  I then logged out
(while at the lower resolution).  The next time I logged in the
resolution of course was back to the higher resolution since the Xserver
restarts upon logout.  When I logged in, I couldn't see the gnome-panel.
 I tried various tricks, including logging out and nuking stuff in the
~/.gconf/apps/panel directory and doing some killall's on the gnome
panel before I finally saw an empty one appear at the top of my screen. 
I then went and started to add the things I normally have on a panel.

This is the part that is definitely relevant:
When I tried to add a clock applet, I got two of them (I have no idea
why).  I tried to remove one (right click and choose remove from panel),
but it stayed.   So I tried to remove it a couple more times when I got
this crash.

Steps to reproduce the crash:
1. Possibly do all the xrandr stuff I did; I don't know if this is
necessary.
2. Add some clock applets to the panel
3. Try to remove one -- and do so repeatedly when it won't work

How often does this happen?
First time I've seen it, but then again, I haven't changed the
resolution much before.

Additional Information:
I'm running Fedora Core 1.  If the stack trace isn't helpful, let me
know and I'll try to determine whether it's reproducible--if it is I'll
try it on a CVS installation.


Debugging Information:

Backtrace was generated from '/usr/bin/gnome-panel'

(no debugging symbols found)...Using host libthread_db library
"/lib/tls/libthread_db.so.1".
(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...[Thread debugging using libthread_db
enabled]
[New Thread -1084546944 (LWP 5940)]
(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
0x004c7c32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2

Thread 1 (Thread -1084546944 (LWP 5940))

  • #0 _dl_sysinfo_int80
    from /lib/ld-linux.so.2
  • #1 __waitpid_nocancel
    from /lib/tls/libpthread.so.0
  • #2 libgnomeui_module_info_get
    from /usr/lib/libgnomeui-2.so.0
  • #3 <signal handler called>
  • #4 panel_profile_delete_object
  • #5 bonobo_socket_add_id
    from /usr/lib/libbonoboui-2.so.0
  • #6 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #7 bonobo_closure_invoke_va_list
    from /usr/lib/libbonobo-2.so.0
  • #8 bonobo_closure_invoke
    from /usr/lib/libbonobo-2.so.0
  • #9 ??
  • #10 ??
  • #11 ??
  • #12 ??
  • #13 pthread_mutex_unlock
    from /lib/tls/libpthread.so.0
  • #14 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #15 ORBit_c_stub_invoke
    from /usr/lib/libORBit-2.so.0
  • #16 Bonobo_UIComponent_execVerb
    from /usr/lib/libbonobo-2.so.0
  • #17 bonobo_ui_engine_get_ui_container
    from /usr/lib/libbonoboui-2.so.0
  • #18 bonobo_ui_engine_get_ui_container
    from /usr/lib/libbonoboui-2.so.0
  • #19 g_cclosure_marshal_VOID__POINTER
    from /usr/lib/libgobject-2.0.so.0
  • #20 g_cclosure_new_swap
    from /usr/lib/libgobject-2.0.so.0
  • #21 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #22 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #23 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #0 _dl_sysinfo_int80
    from /lib/ld-linux.so.2




------- Bug moved to this database by unknown@bugzilla.gnome.org 2004-03-15 18:38 -------

Reassigning to the default owner of the component, gnome-panel-maint@bugzilla.gnome.org.

Comment 1 Elijah Newren 2004-03-16 00:10:05 UTC
*sigh*.  I submitted this bug a *long* time ago, but my outgoing mail
was screwed up.  I had to read a lot of it before I even remembered
submitting it.  Anyway, I figured all that email was long since dead.
 But when I finally got annoyed enough to fix the problem today, I
found out that email from months ago had actually been queued up and
was just now sent.

I'm no longer using 2.4.x, and in any event, I haven't seen the bug
since I described it in January.  Do whatever you want with it.
Comment 2 Matthew Gatto 2004-04-11 09:14:53 UTC
*** Bug 138573 has been marked as a duplicate of this bug. ***
Comment 3 Matthew Gatto 2004-04-11 09:16:32 UTC
*** Bug 139036 has been marked as a duplicate of this bug. ***
Comment 4 Mark McLoughlin 2004-04-14 16:30:47 UTC
I think what's going on here is that we're deleting an applet which has already
been deleted or something. It'd be very useful if you could get a stack trace
with the gnome-panel debuginfo package installed
Comment 5 William Jon McCann 2004-07-18 14:06:56 UTC
*** Bug 147788 has been marked as a duplicate of this bug. ***
Comment 6 Vincent Untz 2004-08-16 09:57:06 UTC
*** Bug 149573 has been marked as a duplicate of this bug. ***
Comment 7 Vincent Noel 2004-09-15 14:47:49 UTC
*** Bug 152700 has been marked as a duplicate of this bug. ***
Comment 8 Elijah Newren 2004-11-08 18:26:40 UTC
*** Bug 156158 has been marked as a duplicate of this bug. ***
Comment 9 Elijah Newren 2004-11-15 16:00:20 UTC
*** Bug 158364 has been marked as a duplicate of this bug. ***
Comment 10 Vincent Untz 2004-12-19 14:05:06 UTC
I just found (and fixed) a bug really similar to this one in HEAD. But I don't
think this was the same bug than this one. It'll be interesting to see if this
still happens in 2.9/2.10 (one duplicate was from 2.8).
Comment 11 Vincent Untz 2004-12-19 14:06:18 UTC
Small not I forgot: the bug was happening when the last applet was removed (or
when the last launcher was removed). This might be a good question to ask for
next duplicates.
Comment 12 Elijah Newren 2004-12-29 19:53:02 UTC
*** Bug 162485 has been marked as a duplicate of this bug. ***
Comment 13 Vincent Untz 2005-01-12 16:33:18 UTC
*** Bug 163823 has been marked as a duplicate of this bug. ***
Comment 14 Vincent Untz 2005-01-12 17:04:21 UTC
Just received a mail from François telling me this:
"When I add *one* applet, sometimes *two* applets are added. It happened three
times, with three different applets."

That's the cause of the bug: both applets probably share the same settings and
when you remove the first one, you remove the second one too. So when you try to
remove the second one, it crashes.

I don't know how this can happen...
Comment 15 Vincent Untz 2005-03-27 16:27:56 UTC
Got it.

2005-03-27  Vincent Untz  <vincent@vuntz.net>

	Make the panel more robust when the object/applet/toplevel list
	contains incorrect data.
	Most probably fixes bug #137308.

	* panel-gconf.[ch]: (panel_gconf_value_strcmp): new, to strcmp strings
	in GConfValue
	* panel-profile.c: (panel_profile_save_id_list): make sure there is no
	duplicate element in the list when saving it
	(panel_profile_remove_from_list): remove all occurrence of the id in
	the list (and not only the first one)
	(panel_profile_load_toplevel): stop monitoring the gconf dir if
	there's an error
	(panel_profile_load_object): ditto
	(panel_profile_toplevel_id_list_notify): make sure there is no
	duplicate element in the list we get, so we don't add twice the same
	toplevel
	(panel_profile_object_id_list_notify): ditto, for the objects
	(panel_profile_load_list): ditto
	* panel-util.[ch]: (panel_g_slist_make_unique): new, to remove
	duplicate elements in a list
Comment 16 Alex Duggan 2005-06-12 14:44:41 UTC
*** Bug 307371 has been marked as a duplicate of this bug. ***