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 146075 - Crash while adding images to desktop (should be fixed in 2.10.0)
Crash while adding images to desktop (should be fixed in 2.10.0)
Status: RESOLVED FIXED
Product: gnome-panel
Classification: Other
Component: general
2.9.x
Other other
: High critical
: ---
Assigned To: Panel Maintainers
Panel Maintainers
: 145893 145947 146274 146929 148857 149026 149046 149869 150315 150766 153387 153511 154200 155601 155661 155747 156382 156788 157553 157727 157788 158016 158464 158560 159724 159740 159762 160086 160157 160466 160644 161088 161852 162037 163217 163239 163527 163868 164074 164129 164172 164284 164500 164501 165311 165747 165975 166178 166791 167013 167335 167555 167620 167905 168612 169658 169783 169971 170056 170422 171150 171880 172873 173062 300792 301549 305845 305993 307118 307761 318415 333940 335847 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2004-05-25 21:10 UTC by carlos
Modified: 2006-03-25 09:45 UTC
See Also:
GNOME target: ---
GNOME version: 2.9/2.10


Attachments
stack trace (32.00 KB, text/plain)
2005-02-08 11:59 UTC, Tony Tsui
Details

Description carlos 2004-07-08 23:13:01 UTC
Distribution: Fedora Core release 2 (Tettnang)
Package: gnome-panel
Severity: normal
Version: GNOME2.6. 2.6.x
Gnome-Distributor: Red Hat, Inc
Synopsis: Crash while adding images to desktop
Bugzilla-Product: gnome-panel
Bugzilla-Component: Panel
Bugzilla-Version: 2.6.x
BugBuddy-GnomeVersion: 2.0 (2.6.0)
Description:
Description of the crash:


Steps to reproduce the crash:
1. Right click on Desktop
2. Select "change wallpaper"
3. Click on "add image" button
4. When I select a bunch of files and then try to add them it crashes


Expected Results:
  Well I expected to see all my images added, so I could see a preview
of them and then choose one.


How often does this happen?
  My first time

Additional Information:
  Maybe a single file selecting could work, if you allow users to select
many files listed, then they will try to add many files in a row...

Regards, 

PS. Cool work


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 -151119712 (LWP 3135)]
(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)...(no debugging symbols found)...(no debugging symbols
found)...0x00a84402 in ?? ()
  • #0 ??
  • #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 ORBit_adaptor_setup
    from /usr/lib/libORBit-2.so.0
  • #5 ORBit_handle_request
    from /usr/lib/libORBit-2.so.0
  • #6 giop_connection_handle_input
    from /usr/lib/libORBit-2.so.0
  • #7 link_connection_set_max_buffer
    from /usr/lib/libORBit-2.so.0
  • #8 link_servers_move_io_T
    from /usr/lib/libORBit-2.so.0
  • #9 g_main_depth
    from /usr/lib/libglib-2.0.so.0
  • #10 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #11 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #12 g_main_context_iteration
    from /usr/lib/libglib-2.0.so.0
  • #13 link_main_iteration
    from /usr/lib/libORBit-2.so.0
  • #14 giop_recv_buffer_get
    from /usr/lib/libORBit-2.so.0
  • #15 ORBit_small_invoke_stub
    from /usr/lib/libORBit-2.so.0
  • #16 ORBit_small_invoke_stub_n
    from /usr/lib/libORBit-2.so.0
  • #17 ORBit_c_stub_invoke
    from /usr/lib/libORBit-2.so.0
  • #18 Bonobo_ActivationContext_query
    from /usr/lib/libbonobo-activation.so.4
  • #19 bonobo_activation_query
    from /usr/lib/libbonobo-activation.so.4
  • #20 panel_applet_frame_set_info
  • #21 panel_applet_frame_set_info
  • #22 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #23 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #24 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #25 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #26 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #27 link_connection_unref
    from /usr/lib/libORBit-2.so.0
  • #28 link_connection_state_changed
    from /usr/lib/libORBit-2.so.0
  • #29 link_connection_exec_disconnect
    from /usr/lib/libORBit-2.so.0
  • #30 ??
  • #31 ??
  • #32 link_connection_writev
    from /usr/lib/libORBit-2.so.0




------- Bug moved to this database by unknown@bugzilla.gnome.org 2004-07-08 19:13 -------


Unknown platform unknown. Setting to default platform "Other".
Unknown milestone "unknown" in product "gnome-panel".
   Setting to default milestone for this product, '---'
The original reporter of this bug does not have
   an account here. Reassigning to the person who moved
   it here, unknown@bugzilla.gnome.org.
   Previous reporter was carlos@sapotek.com.
Setting to default status "UNCONFIRMED".
Setting qa contact to the default for this product.
   This bug either had no qa contact or an invalid one.

Comment 1 Vincent Untz 2004-07-09 14:39:02 UTC
*** Bug 145947 has been marked as a duplicate of this bug. ***
Comment 2 Vincent Untz 2004-07-09 14:39:12 UTC
*** Bug 146274 has been marked as a duplicate of this bug. ***
Comment 3 Vincent Untz 2004-07-09 14:39:28 UTC
*** Bug 146929 has been marked as a duplicate of this bug. ***
Comment 4 Olav Vitters 2004-08-02 21:03:56 UTC
*** Bug 149046 has been marked as a duplicate of this bug. ***
Comment 5 Olav Vitters 2004-08-02 21:16:05 UTC
*** Bug 149026 has been marked as a duplicate of this bug. ***
Comment 6 Elijah Newren 2004-08-11 21:24:35 UTC
*** Bug 149869 has been marked as a duplicate of this bug. ***
Comment 7 Vincent Untz 2004-08-17 07:55:01 UTC
*** Bug 150315 has been marked as a duplicate of this bug. ***
Comment 8 Vincent Untz 2004-08-17 12:25:40 UTC
*** Bug 148857 has been marked as a duplicate of this bug. ***
Comment 9 Vincent Untz 2004-08-17 12:26:15 UTC
I can reproduce. Here's a good stack trace:

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

Using host libthread_db library "/lib/tls/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -150658944 (LWP 3002)]
0x0068f402 in ?? ()
  • #0 ??
  • #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 ORBit_adaptor_setup
    from /usr/lib/libORBit-2.so.0
  • #5 ORBit_handle_request
    from /usr/lib/libORBit-2.so.0
  • #6 giop_connection_handle_input
    from /usr/lib/libORBit-2.so.0
  • #7 link_connection_set_max_buffer
    from /usr/lib/libORBit-2.so.0
  • #8 link_servers_move_io_T
    from /usr/lib/libORBit-2.so.0
  • #9 g_main_depth
    from /usr/lib/libglib-2.0.so.0
  • #10 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #11 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #12 g_main_context_iteration
    from /usr/lib/libglib-2.0.so.0
  • #13 link_main_iteration
    from /usr/lib/libORBit-2.so.0
  • #14 giop_recv_buffer_get
    from /usr/lib/libORBit-2.so.0
  • #15 ORBit_small_invoke_stub
    from /usr/lib/libORBit-2.so.0
  • #16 ORBit_small_invoke_stub_n
    from /usr/lib/libORBit-2.so.0
  • #17 ORBit_c_stub_invoke
    from /usr/lib/libORBit-2.so.0
  • #18 Bonobo_ActivationContext_query
    from /usr/lib/libbonobo-activation.so.4
  • #19 bonobo_activation_query
    from /usr/lib/libbonobo-activation.so.4
  • #20 panel_applet_frame_get_name
    at panel-applet-frame.c line 819
  • #21 panel_applet_frame_cnx_broken
    at panel-applet-frame.c line 861
  • #22 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #23 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #24 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #25 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #26 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #27 link_connection_unref
    from /usr/lib/libORBit-2.so.0
  • #28 link_connection_state_changed
    from /usr/lib/libORBit-2.so.0
  • #29 link_connection_exec_disconnect
    from /usr/lib/libORBit-2.so.0
  • #30 ??
  • #31 ??
  • #32 link_connection_writev
    from /usr/lib/libORBit-2.so.0

Comment 10 Vincent Untz 2004-08-17 12:27:34 UTC
Note that I get this warning:

The program 'gnome-panel' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadGC (invalid GC parameter)'.
  (Details: serial 54287 error_code 13 request_code 62 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
Comment 11 Vincent Untz 2004-08-17 12:59:17 UTC
Here's an even better stack trace:

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

Using host libthread_db library "/lib/tls/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -150183808 (LWP 13946)]
0x00a0e402 in ?? ()

Thread 1 (Thread -150183808 (LWP 13946))

  • #0 ??
  • #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 ORBit_adaptor_find
    at orbit-adaptor.c line 164
  • #5 ORBit_handle_request
    at orbit-adaptor.c line 221
  • #6 giop_connection_handle_input
    at giop-recv-buffer.c line 1281
  • #7 link_connection_io_handler
    at linc-connection.c line 1264
  • #8 link_source_dispatch
    at linc-source.c line 53
  • #9 g_main_depth
    from /usr/lib/libglib-2.0.so.0
  • #10 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #11 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #12 g_main_context_iteration
    from /usr/lib/libglib-2.0.so.0
  • #13 link_main_iteration
    at linc.c line 232
  • #14 giop_recv_buffer_get
    at giop-recv-buffer.c line 717
  • #15 ORBit_small_invoke_stub
    at orbit-small.c line 657
  • #16 ORBit_small_invoke_stub_n
    at orbit-small.c line 575
  • #17 ORBit_c_stub_invoke
    at poa.c line 2640
  • #18 Bonobo_ActivationContext_query
    at Bonobo_ActivationContext-stubs.c line 140
  • #19 bonobo_activation_query
    at bonobo-activation-activate.c line 290
  • #20 panel_applet_frame_get_name
    at panel-applet-frame.c line 819
  • #21 panel_applet_frame_cnx_broken
    at panel-applet-frame.c line 861
  • #22 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #23 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #24 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #25 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #26 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #27 link_connection_state_changed_T_R
    at linc-connection.c line 287
  • #28 link_connection_state_changed
    at linc-connection.c line 689
  • #29 link_connection_exec_disconnect
    at linc-connection.c line 1336
  • #30 link_dispatch_command
    at linc.c line 441
  • #31 link_exec_command
    at linc.c line 123
  • #32 link_connection_disconnect
    at linc-connection.c line 1351
  • #33 giop_connection_close
    at giop-connection.c line 55
  • #34 giop_connection_dispose
    at giop-connection.c line 65
  • #35 g_object_run_dispose
    from /usr/lib/libgobject-2.0.so.0
  • #36 link_connections_close
    at linc-connection.c line 1444
  • #37 giop_shutdown
    at giop.c line 614
  • #38 CORBA_ORB_shutdown
    at corba-orb.c line 1144
  • #39 CORBA_ORB_destroy
    at corba-orb.c line 1163
  • #40 shutdown_orb
    at corba-orb.c line 255
  • #41 exit
    from /lib/tls/libc.so.6
  • #42 gdk_keyboard_grab_info_libgtk_only
    from /usr/lib/libgdk-x11-2.0.so.0
  • #43 bonobo_ui_gtk_module_info_get
    from /usr/lib/libbonoboui-2.so.0
  • #44 _XError
    from /usr/X11R6/lib/libX11.so.6
  • #45 _XReply
    from /usr/X11R6/lib/libX11.so.6
  • #46 XSync
    from /usr/X11R6/lib/libX11.so.6
  • #47 gdk_image_new_bitmap
    from /usr/lib/libgdk-x11-2.0.so.0
  • #48 gdk_drawable_copy_to_image
    from /usr/lib/libgdk-x11-2.0.so.0
  • #49 gdk_pixmap_get_type
    from /usr/lib/libgdk-x11-2.0.so.0
  • #50 gdk_drawable_copy_to_image
    from /usr/lib/libgdk-x11-2.0.so.0
  • #51 gdk_pixbuf_get_from_drawable
    from /usr/lib/libgdk-x11-2.0.so.0
  • #52 panel_background_monitor_setup_pixbuf
    at panel-background-monitor.c line 329
  • #53 panel_background_monitor_get_region
    at panel-background-monitor.c line 359
  • #54 background_changed
    at panel-background.c line 159
  • #55 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #56 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #57 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #58 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #59 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #60 panel_background_monitor_xevent_filter
    at panel-background-monitor.c line 229
  • #61 gdk_event_get_graphics_expose
    from /usr/lib/libgdk-x11-2.0.so.0
  • #62 gdk_x11_register_standard_event_type
    from /usr/lib/libgdk-x11-2.0.so.0
  • #63 gdk_x11_register_standard_event_type
    from /usr/lib/libgdk-x11-2.0.so.0
  • #64 gdk_x11_register_standard_event_type
    from /usr/lib/libgdk-x11-2.0.so.0
  • #65 g_main_depth
    from /usr/lib/libglib-2.0.so.0
  • #66 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #67 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #68 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #69 gtk_main
    from /usr/lib/libgtk-x11-2.0.so.0
  • #70 main
    at main.c line 99
  • #0 ??

Comment 12 Vasista Sarma 2004-08-17 13:08:43 UTC
My observation is it fails at the function gdk_pixbuf_get_from_drawable()
panel-background-monitor.c : line 331 in function
panel_background_monitor_setup_pixbuf()
Comment 13 Vincent Untz 2004-08-17 13:20:07 UTC
It seems there are three problems:
  * the X error in panel-background-monitor
  * some applet crash (maybe due to the X error?)
  * the panel crashes when it detects the applet crashed

I'd like to fix the third one while we can reproduce it, and then fix the other
ones.
Comment 14 Mark McLoughlin 2004-08-17 13:44:36 UTC
 - for the X error see bug #128317

 - The crash in ORBit_adaptor setup is strange - some applet crashes and
   we query bonobo-activation for its details in order to display the
   reload dialog and it crashes in ORBit2? That needs investigation regardless
   of the X error
Comment 15 Mark McLoughlin 2004-08-17 13:54:43 UTC
Oh, hold on - I'm just seeing this:

  • #40 shutdown_orb
    at corba-orb.c line 255
  • #41 exit
    from /lib/tls/libc.so.6
  • #42 gdk_keyboard_grab_info_libgtk_only
    from /usr/lib/libgdk-x11-2.0.so.0
  • #43 bonobo_ui_gtk_module_info_get
    from /usr/lib/libbonoboui-2.so.0
  • #44 _XError
    from /usr/X11R6/lib/libX11.so.6

That looks bogus, but looks a little bogus, but my guess is the bonobo X error
handler is calling exit(0) which is shutting down the ORB, causing the "broken"
signal to be emitted on all CORBA connections and then we try and run a
bonobo-activation query. Something similar to what happened when libgamin was
calling exit() in bug #149371

Hmm, its probably not useful to to emit the broken signals when shutting down
the ORB.

Michael, what do you think ?
Comment 16 Mark McLoughlin 2004-08-17 14:03:53 UTC
Hmm, okay, nothing has changed with the X error handler, so this must have
always worked before now. I suspect that something has changed in ORBit2 either
to cause it to crash when you invoke when the ORB is shutting down or to cause
it to emit broken signals from shutdown.
Comment 17 Michael Meeks 2004-08-18 10:14:17 UTC
Sure; I guess we can stop it emitting broken signals in-line like that during an
explicit shutdown; it's an unusual case anyway.
It'd be great to have that in 2.6.x as well.
Comment 18 Michael Meeks 2004-08-19 14:59:54 UTC
Mark: this looks like you're connecting to the "broken" signal on the opaque
ORBitConnection instead of using the ORBit_small_listen_for_broken_full etc.
methods on the ORBitConnection - which delay that signal until idle.

Is there any reason you're doing that ? I seem to recall there was one (the
rather pants listen_for_broken API originally) but it should be fixed now.

I believe that might fix this issue without ORB changes.

21 0x08089a98 in panel_applet_frame_cnx_broken (frame=0x87562a8)
    at panel-applet-frame.c:861
	dialog = (GtkWidget *) 0x65c0bc
	screen = (GdkScreen *) 0x853c410
	applet_name = 0x0
	applet_txt = 0x65c0bc "`o\003"
	dialog_txt = 0x87562a8 "à\tp\b\002"
	locked_down = 141910696
  • #22 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #23 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #24 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #25 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #26 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #27 link_connection_state_changed_T_R
    at linc-connection.c line 287

Comment 19 Mark McLoughlin 2004-08-19 15:03:18 UTC
Okay, we're using ORBit_small_listen_for_broken() in 2.7.91 and later. Problem
should be fixed then ...

Thanks Michael
Comment 20 Vincent Untz 2004-08-19 15:25:52 UTC
Mark, Michael: I'm seeing the crash with HEAD. So I don't think this change
fixed it.
Comment 21 Vincent Untz 2004-08-19 15:30:11 UTC
I forgot to mention: I used the FC2 GNOME packages (2.6.x) and I only have
gnome-panel HEAD.
Comment 22 Mark McLoughlin 2004-08-19 15:35:38 UTC
Vincent: same stack trace?
Comment 23 Vincent Untz 2004-08-19 15:38:48 UTC
Here's the stack trace:

The program 'gnome-panel' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadGC (invalid GC parameter)'.
  (Details: serial 5536 error_code 13 request_code 62 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
 
Program received signal SIGSEGV, Segmentation fault.

Thread NaN (LWP 17946)

  • #0 ORBit_adaptor_find
    at orbit-adaptor.c line 164
  • #1 ORBit_handle_request
    at orbit-adaptor.c line 221
  • #2 giop_connection_handle_input
    at giop-recv-buffer.c line 1281
  • #3 link_connection_io_handler
    at linc-connection.c line 1264
  • #4 link_source_dispatch
    at linc-source.c line 53
  • #5 g_main_depth
    from /usr/lib/libglib-2.0.so.0
  • #6 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #7 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #8 g_main_context_iteration
    from /usr/lib/libglib-2.0.so.0
  • #9 link_main_iteration
    at linc.c line 232
  • #10 giop_recv_buffer_get
    at giop-recv-buffer.c line 717
  • #11 ORBit_small_invoke_stub
    at orbit-small.c line 657
  • #12 ORBit_small_invoke_stub_n
    at orbit-small.c line 575
  • #13 ORBit_c_stub_invoke
    at poa.c line 2640
  • #14 Bonobo_Unknown_unref
    at Bonobo_Unknown-stubs.c line 23
  • #15 bonobo_object_release_unref
    at bonobo-object.c line 568
  • #16 bonobo_control_frame_bind_to_control
    from /usr/lib/libbonoboui-2.so.0
  • #17 bonobo_canvas_item_set_bounds
    from /usr/lib/libbonoboui-2.so.0
  • #18 link_connection_emit_broken
    at linc-connection.c line 141
  • #19 link_connection_state_changed_T_R
    at linc-connection.c line 301
  • #20 link_connection_state_changed
    at linc-connection.c line 689
  • #21 link_connection_exec_disconnect
    at linc-connection.c line 1336
  • #22 link_dispatch_command
    at linc.c line 441
  • #23 link_exec_command
    at linc.c line 123
  • #24 link_connection_disconnect
    at linc-connection.c line 1351
  • #25 giop_connection_close
    at giop-connection.c line 55
  • #26 giop_connection_dispose
    at giop-connection.c line 65
  • #27 g_object_run_dispose
    from /usr/lib/libgobject-2.0.so.0
  • #28 link_connections_close
    at linc-connection.c line 1444
  • #29 giop_shutdown
    at giop.c line 614
  • #30 CORBA_ORB_shutdown
    at corba-orb.c line 1144
  • #31 CORBA_ORB_destroy
    at corba-orb.c line 1163
  • #32 shutdown_orb
    at corba-orb.c line 255
  • #33 exit
    from /lib/tls/libc.so.6
  • #34 gdk_x_error
    at gdkmain-x11.c line 534
  • #35 bonobo_ui_gtk_module_info_get
    from /usr/lib/libbonoboui-2.so.0
  • #36 _XError
    from /usr/X11R6/lib/libX11.so.6
  • #37 _XReply
    from /usr/X11R6/lib/libX11.so.6
  • #38 XSync
    from /usr/X11R6/lib/libX11.so.6
  • #39 XSync
    from /usr/X11R6/lib/libX11.so.6
  • #40 XCopyArea
    from /usr/X11R6/lib/libX11.so.6
  • #41 _gdk_x11_copy_to_image
    at gdkimage-x11.c line 542
  • #42 gdk_drawable_copy_to_image
  • #43 gdk_pixmap_copy_to_image
    at gdkpixmap.c line 474
  • #44 gdk_drawable_copy_to_image
    at gdkdraw.c line 959
  • #45 gdk_pixbuf_get_from_drawable
    at gdkpixbuf-drawable.c line 1301
  • #46 panel_background_monitor_setup_pixbuf
    at panel-background-monitor.c line 330
  • #47 panel_background_monitor_get_region
    at panel-background-monitor.c line 360
  • #48 background_changed
    at panel-background.c line 159
  • #49 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #50 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #51 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #52 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #53 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #54 panel_background_monitor_xevent_filter
    at panel-background-monitor.c line 229
  • #55 gdk_event_apply_filters
    at gdkevents-x11.c line 319
  • #56 gdk_event_translate
    at gdkevents-x11.c line 923
  • #57 _gdk_events_queue
    at gdkevents-x11.c line 2067
  • #58 gdk_event_dispatch
    at gdkevents-x11.c line 2127
  • #59 g_main_depth
    from /usr/lib/libglib-2.0.so.0
  • #60 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #61 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #62 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #63 gtk_main
    at gtkmain.c line 1172

Comment 24 Vincent Untz 2004-08-24 15:29:22 UTC
*** Bug 150766 has been marked as a duplicate of this bug. ***
Comment 25 Gustavo Carneiro 2004-09-01 22:35:01 UTC
The problem has nothing to do with adding multiple images at the same time.  The
correct way to reproduce is: 1. activate translucent panel background; 2. start
background images properties; 3. change background image twice in quick succession.
And it doesn't look like it has anything to do with bonobo.  It looks like a
pure gnome-panel bug, starting in frame #45, gdk_pixbuf_get_from_drawable, which
triggers an X server error, probably due to invalid pixmap or gdkwindow or
something like that.
Comment 26 Vincent Untz 2004-09-02 08:32:09 UTC
Gustavo: look at all the comments, for example:
http://bugzilla.gnome.org/show_bug.cgi?id=146075#c14
Comment 27 Gustavo Carneiro 2004-09-02 20:12:29 UTC
  Right.  Sorry about that.
  Still, the original procedure to reproduce the bug doesn't work for me, only
the procedure I described above triggers it for me.  And my stack trace is about
half the size.  The part starting with with the bonobo X error handler is much
shorter.  Maybe it's already been fixed?  Here's the last part:

  • #0 waitpid
    from /lib/libpthread.so.0
  • #1 libgnomeui_segv_handle
    at gnome-ui-init.c line 741
  • #2 __pthread_sighandler
    from /lib/libpthread.so.0
  • #3 <signal handler called>
  • #4 g_logv
    at gmessages.c line 526
  • #5 g_log
    at gmessages.c line 541
  • #6 gdk_x_error
    at gdkmain-x11.c line 530
  • #7 bonobo_x_error_handler
    at bonobo-ui-main.c line 50
  • #8 _XError
    at XlibInt.c line 2909
  • #9 _XReply
    at XlibInt.c line 1839
  • #10 XSync
    at Sync.c line 45
  • #11 _gdk_x11_copy_to_image
    at gdkimage-x11.c line 544
  • #12 gdk_drawable_copy_to_image
    at gdkdraw.c line 959
  • #13 gdk_pixmap_copy_to_image
    at gdkpixmap.c line 474
  • #14 gdk_drawable_copy_to_image
    at gdkdraw.c line 959
  • #15 gdk_pixbuf_get_from_drawable
    at gdkpixbuf-drawable.c line 1301
  • #16 panel_background_monitor_get_region
    at panel-background-monitor.c line 329
  • #17 background_changed
    at panel-background.c line 159

Comment 28 Vincent Untz 2004-09-03 15:53:58 UTC
This is the same stack trace as in bug 128317 (which is still open), AFAICT.
Comment 29 Matthew Gatto 2004-09-27 15:48:00 UTC
*** Bug 145893 has been marked as a duplicate of this bug. ***
Comment 30 Vincent Untz 2004-10-15 19:02:13 UTC
*** Bug 154200 has been marked as a duplicate of this bug. ***
Comment 31 Vincent Untz 2004-10-17 08:57:50 UTC
*** Bug 155601 has been marked as a duplicate of this bug. ***
Comment 32 Vincent Untz 2004-10-18 17:31:44 UTC
*** Bug 155747 has been marked as a duplicate of this bug. ***
Comment 33 Vincent Untz 2004-10-25 20:27:13 UTC
*** Bug 156382 has been marked as a duplicate of this bug. ***
Comment 34 Vincent Untz 2004-10-25 20:27:50 UTC
It seems it's still happening in 2.8.0
Comment 35 Vincent Untz 2004-10-27 15:07:03 UTC
*** Bug 155661 has been marked as a duplicate of this bug. ***
Comment 36 Vincent Untz 2004-10-29 14:45:39 UTC
*** Bug 156788 has been marked as a duplicate of this bug. ***
Comment 37 Elijah Newren 2004-11-07 22:41:46 UTC
*** Bug 157553 has been marked as a duplicate of this bug. ***
Comment 38 Elijah Newren 2004-11-09 21:24:10 UTC
*** Bug 157788 has been marked as a duplicate of this bug. ***
Comment 39 Elijah Newren 2004-11-12 02:27:11 UTC
*** Bug 158016 has been marked as a duplicate of this bug. ***
Comment 40 Elijah Newren 2004-11-17 17:09:23 UTC
*** Bug 158560 has been marked as a duplicate of this bug. ***
Comment 41 Michael Meeks 2004-11-18 09:45:07 UTC
This just needs some hackery in the ORB to stop broken callbacks being emitted
during ORB shutdown - can someone not poke at that ? it shouldn't be too difficult. 
Comment 42 Vincent Untz 2004-11-19 17:27:58 UTC
*** Bug 153511 has been marked as a duplicate of this bug. ***
Comment 43 Gustavo Carneiro 2004-11-21 14:48:42 UTC
Michael, it really doesn't look like this has anything to do with ORBit/bonobo.
 The stack trace I get now is this:

  • #4 _XError
    from /usr/X11R6/lib/libX11.so.6
  • #5 _XReply
    from /usr/X11R6/lib/libX11.so.6
  • #6 XSync
    from /usr/X11R6/lib/libX11.so.6
  • #7 IA__gdk_display_sync
    at gdkdisplay-x11.c line 595
  • #8 panel_background_prepare
    at panel-background.c line 132
  • #9 panel_background_composite
    at panel-background.c line 320
  • #10 background_changed
    at panel-background.c line 175

What is triggering the X error is a call to gdk_display_sync().  I get this
problem very easily by switching backgrounds in quick successsion.

One experiment that may help someone (but me) reveal the bug is that I tried
running gnome-panel with --sync, and then try as I might I couldn't reproduce
this error anymore.  Not sure what this means though.
Comment 44 Vincent Untz 2004-11-25 20:03:53 UTC
*** Bug 157727 has been marked as a duplicate of this bug. ***
Comment 45 Vincent Untz 2004-11-28 14:49:32 UTC
*** Bug 159724 has been marked as a duplicate of this bug. ***
Comment 46 Elijah Newren 2004-11-28 19:41:35 UTC
*** Bug 159740 has been marked as a duplicate of this bug. ***
Comment 47 Elijah Newren 2004-12-01 14:18:43 UTC
*** Bug 160086 has been marked as a duplicate of this bug. ***
Comment 48 Elijah Newren 2004-12-03 00:26:44 UTC
*** Bug 160157 has been marked as a duplicate of this bug. ***
Comment 49 Elijah Newren 2004-12-05 01:22:30 UTC
*** Bug 160466 has been marked as a duplicate of this bug. ***
Comment 50 Elijah Newren 2004-12-07 03:09:34 UTC
*** Bug 160644 has been marked as a duplicate of this bug. ***
Comment 51 Elijah Newren 2004-12-13 00:16:38 UTC
*** Bug 161088 has been marked as a duplicate of this bug. ***
Comment 52 Vincent Untz 2004-12-21 23:37:20 UTC
*** Bug 161852 has been marked as a duplicate of this bug. ***
Comment 53 Elijah Newren 2004-12-23 00:32:19 UTC
*** Bug 162037 has been marked as a duplicate of this bug. ***
Comment 54 Vincent Untz 2005-01-04 18:42:10 UTC
*** Bug 158464 has been marked as a duplicate of this bug. ***
Comment 55 Elijah Newren 2005-01-07 18:18:54 UTC
*** Bug 163217 has been marked as a duplicate of this bug. ***
Comment 56 Elijah Newren 2005-01-07 18:19:49 UTC
*** Bug 163239 has been marked as a duplicate of this bug. ***
Comment 57 Elijah Newren 2005-01-10 16:06:59 UTC
*** Bug 163527 has been marked as a duplicate of this bug. ***
Comment 58 Elijah Newren 2005-01-12 22:14:44 UTC
*** Bug 163868 has been marked as a duplicate of this bug. ***
Comment 59 Vincent Untz 2005-01-14 13:34:16 UTC
*** Bug 164074 has been marked as a duplicate of this bug. ***
Comment 60 Elijah Newren 2005-01-15 02:02:38 UTC
*** Bug 164129 has been marked as a duplicate of this bug. ***
Comment 61 Vincent Untz 2005-01-15 17:26:52 UTC
*** Bug 164172 has been marked as a duplicate of this bug. ***
Comment 62 Elijah Newren 2005-01-17 00:11:47 UTC
*** Bug 164284 has been marked as a duplicate of this bug. ***
Comment 63 Olav Vitters 2005-01-18 18:40:20 UTC
*** Bug 164500 has been marked as a duplicate of this bug. ***
Comment 64 Olav Vitters 2005-01-18 18:41:16 UTC
*** Bug 164501 has been marked as a duplicate of this bug. ***
Comment 65 Michael Meeks 2005-01-19 15:04:04 UTC
> The problem has nothing to do with adding multiple images at the same time.  The
> correct way to reproduce is: 1. activate translucent panel background; 2. start
> background images properties; 3. change background image twice in quick
> succession.

This looks like a pure X race-condition; do we need a gdk_push/pop around this
code-path & a check on the error condition ? - most likely. Glad it's nothing to
do with bonobo at root; un-CC'ing myself.
Comment 66 Sebastien Bacher 2005-01-22 20:54:09 UTC
*** Bug 153387 has been marked as a duplicate of this bug. ***
Comment 67 Luis Villa 2005-01-25 04:39:59 UTC
Given number of dups, marking 2.10 showstopper.
Comment 68 Vincent Untz 2005-01-25 20:29:10 UTC
*sigh*

Everyone, please read comment #14.
Thanks.

We have two bugs here:

  * something that might be a GTK+ bug (see bug #128317)
  * a crash in ORBit_adaptor_setup

What would be useful is someone with GNOME HEAD trying to reproduce the bug and
see if it's still here, with the same stack traces.
Comment 69 Jules Colding 2005-01-26 09:35:52 UTC
I have tried to reproduce this/these bug(s) the way it is described in #1 and
#25 but to no avail. I am on FC3 with all updates, except for ORBit2 and libIDL
where I am following CVS HEAD.
Comment 70 Vincent Untz 2005-01-26 15:08:10 UTC
*** Bug 165311 has been marked as a duplicate of this bug. ***
Comment 71 Olav Vitters 2005-01-30 22:14:17 UTC
*** Bug 165747 has been marked as a duplicate of this bug. ***
Comment 72 Vincent Untz 2005-02-01 21:52:34 UTC
*** Bug 165975 has been marked as a duplicate of this bug. ***
Comment 73 Elijah Newren 2005-02-03 16:42:32 UTC
*** Bug 166178 has been marked as a duplicate of this bug. ***
Comment 74 Dennis Cranston 2005-02-05 02:02:33 UTC
FWIW, I cannot reproduce this bug with gnome-panel 2.9.91.
Comment 75 Vincent Noel 2005-02-05 02:06:47 UTC
Me neither, with everything from CVS.
Comment 76 Gustavo Carneiro 2005-02-05 11:56:26 UTC
  I can reproduce with 2.9.90, but it's a bit harder than it used to.   You have
to switch background a bunch of times, not too fast and not too slow. :)
  I'm upgrading hoary to a newer version and then I'll try again.
Comment 77 Tony Tsui 2005-02-08 11:59:57 UTC
Created attachment 37155 [details]
stack trace

Hi, 

I can reproduce this bug with 2.9.91 by switching backgrounds with translucent
panels. Attached is the stack trace.
Comment 78 Gustavo Carneiro 2005-02-08 12:46:18 UTC
Just one small comment: frame #19 in this last stack trace looks suspicious
(notice the drawable address):

  • #19 gdk_pixmap_draw_pixbuf
However, this is inside gtk+, not gnome-panel.  There's a possibility that this
may be a gtk+ bug.  Unless it was passed bad parameters...
Comment 79 Vincent Untz 2005-02-08 13:02:29 UTC
In bug #128317 (which is more or less related to this one), there are suspicions
that the crash happens in GTK+ too... And there's a workaround patch there.
Comment 80 Vincent Noel 2005-02-09 16:02:47 UTC
*** Bug 166791 has been marked as a duplicate of this bug. ***
Comment 81 Dan Reish 2005-02-09 16:15:32 UTC
To add my voice to comment #77 from Tony Tsui, I tried turning off panel
background translucency, and now the crash has gone from 100% reproducible to
0%.  My version info, and how I got there, is described in bug #166791, but the
important parts are: gnome-panel-2.8.1-3 control-center-2.8.0-12 gtk+-1.2.10-33
Comment 82 Elijah Newren 2005-02-11 03:59:35 UTC
*** Bug 167013 has been marked as a duplicate of this bug. ***
Comment 83 Elijah Newren 2005-02-15 00:19:59 UTC
*** Bug 167335 has been marked as a duplicate of this bug. ***
Comment 84 Elijah Newren 2005-02-16 03:09:06 UTC
*** Bug 167555 has been marked as a duplicate of this bug. ***
Comment 85 Vincent Untz 2005-02-17 20:31:58 UTC
*** Bug 167620 has been marked as a duplicate of this bug. ***
Comment 86 Elijah Newren 2005-02-19 22:59:24 UTC
*** Bug 167905 has been marked as a duplicate of this bug. ***
Comment 87 Christian Kirbach 2005-02-22 16:02:51 UTC
I was able to produce a gnome panel crash on Debian testing by setting 
transluceny and changing the wallpaper quickly. However it took some minutes of 
wallpaper swapping.
gnome-desktop-data 2.8.1-2
gnome-panel      2.8.2-2
libpanel-applet2 2.8.2-2
liborbit2        2.10.2-1.1

Ran panel with a debugger again but could not reproduce within 3 minutes so 
giving up.

I have compiled Gnome 2.9.91 (using garnome)and tried *really hard* (~15mins of 
wallpaper changing) but could not produce a single crash.
=> I suspect it has been fixed in at least 2.10beta.
gnome-panel 2.9.91
Comment 88 Elijah Newren 2005-02-26 21:23:49 UTC
*** Bug 168612 has been marked as a duplicate of this bug. ***
Comment 89 Matthias Clasen 2005-02-28 17:18:00 UTC
I believe this is a race between whoever sets _XROOTPMAP_ID and
panel_background_monitor.

What I believe is happening is:
1) background is changed
2) panel_background_monitor picks up the PropertyNotify for _XROOTPMAP_ID
   and emits a changed signal
3) panel_background_monitor creates a GdkPixmap for the new _XROOTPMAP_ID
4) before the background monitor can do anything with the new pixmap, the 
   background is changed again, which causes the pixmap pointed to by the    
   _XROOTPMAP_ID read in 2) to become invalid. 
5) the background monitor tries to read the contents of the now invalid
   pixmap, and gets killed by the X error handler

The simplest fix is probably to live with the race, and push an X error 
handler around all pixmap accesses in the background monitor.
Comment 90 Matthias Clasen 2005-02-28 17:27:01 UTC
Alternatively, change the background monitor to grab the server and read the
pmap id and the background contents atomically.
Comment 91 Vincent Untz 2005-03-01 10:22:30 UTC
This should now be fixed since I committed the patch in bug #128317. I don't
know if we should keep the bug open for the stack trace available in comment #23...

I'm leaving it open for now.
Comment 92 John Heidemann 2005-03-08 15:49:30 UTC
"Me too".

Here's a suggestion about reproducing the bug (for me on FC3 with all updates
as of March 2005):

gconftool-2 -t str -s /desktop/gnome/background/picture_filename background2.png
gconftool-2 -t str -s /desktop/gnome/background/picture_filename other_bg.png

Assumes you have a tansparent panel.
Comment 93 Elijah Newren 2005-03-08 21:53:15 UTC
*** Bug 169658 has been marked as a duplicate of this bug. ***
Comment 94 Elijah Newren 2005-03-09 23:13:57 UTC
*** Bug 169783 has been marked as a duplicate of this bug. ***
Comment 95 Elijah Newren 2005-03-11 15:54:52 UTC
*** Bug 169971 has been marked as a duplicate of this bug. ***
Comment 96 Elijah Newren 2005-03-12 16:10:48 UTC
*** Bug 170056 has been marked as a duplicate of this bug. ***
Comment 97 Elijah Newren 2005-03-15 19:01:06 UTC
*** Bug 170422 has been marked as a duplicate of this bug. ***
Comment 98 Elijah Newren 2005-03-21 23:48:38 UTC
*** Bug 171150 has been marked as a duplicate of this bug. ***
Comment 99 Vincent Untz 2005-03-27 16:31:27 UTC
Closing the bug since this should not happen any more.
Comment 100 Elijah Newren 2005-03-28 17:06:39 UTC
*** Bug 171880 has been marked as a duplicate of this bug. ***
Comment 101 Elijah Newren 2005-04-06 22:19:46 UTC
*** Bug 172873 has been marked as a duplicate of this bug. ***
Comment 102 Elijah Newren 2005-04-09 14:37:20 UTC
*** Bug 173062 has been marked as a duplicate of this bug. ***
Comment 103 Elijah Newren 2005-04-16 00:57:54 UTC
*** Bug 300792 has been marked as a duplicate of this bug. ***
Comment 104 Kjartan Maraas 2005-04-22 14:10:16 UTC
*** Bug 301549 has been marked as a duplicate of this bug. ***
Comment 105 bill.haneman 2005-05-25 09:55:24 UTC
*** Bug 159762 has been marked as a duplicate of this bug. ***
Comment 106 Elijah Newren 2005-06-05 15:52:06 UTC
*** Bug 305845 has been marked as a duplicate of this bug. ***
Comment 107 Elijah Newren 2005-06-05 15:52:10 UTC
*** Bug 305993 has been marked as a duplicate of this bug. ***
Comment 108 Sebastien Bacher 2005-06-11 13:12:59 UTC
*** Bug 307118 has been marked as a duplicate of this bug. ***
Comment 109 Martin Wehner 2005-06-18 12:12:18 UTC
*** Bug 307761 has been marked as a duplicate of this bug. ***
Comment 110 Vincent Untz 2005-10-22 12:14:41 UTC
*** Bug 318415 has been marked as a duplicate of this bug. ***
Comment 111 Sergej Kotliar 2006-03-09 10:40:48 UTC
*** Bug 333940 has been marked as a duplicate of this bug. ***
Comment 112 Fabio Bonelli 2006-03-25 09:45:52 UTC
*** Bug 335847 has been marked as a duplicate of this bug. ***