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 87414 - Nautilus crash when invoked with '-q' option
Nautilus crash when invoked with '-q' option
Status: VERIFIED INCOMPLETE
Product: nautilus
Classification: Core
Component: general
0.x.x [obsolete]
Other other
: High critical
: ---
Assigned To: Nautilus Maintainers
Nautilus Maintainers
: 115342 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2002-07-05 10:26 UTC by Anand
Modified: 2009-08-15 18:40 UTC
See Also:
GNOME target: ---
GNOME version: 2.1/2.2


Attachments
a patch. (3.74 KB, patch)
2002-08-29 10:33 UTC, Michael Meeks
none Details | Review

Description Anand 2002-07-05 10:26:59 UTC
I have the 2nd July sources from CVS.

The 'Nautilus to draw desktop' /must/ be turned on for the crash to happen.

Open a terminal and type 'nautilus -q' (this command line switch option is 
supposed to invoke nautilus and quit instantly). All nautilus processes 
are killed and they respawn.

Even before the nautilus comes up, type 'nautilus -q' again and again in 
quick succession. Nautilus crashes.

Reproducibility is a little poor in Linux as compared to the Solaris 
platform. 

In Linux, most of the times, i get a "Nautilus cant be used now, due to an 
unexpected error" dialog. But it did crashed once in a while.

In Solaris, the crash is very frequently observed. Sometimes, it occurs 
due to a bus error, sometimes a segfault and at time it aborts. But one of 
these three /definitely/ occur. 

Pasting the stack trace from Linux bug buddy. The Solaris stack traces are 
also very similar. Please feel free to ask for any specific traces, if 
required. I'll attach them.

Debugging info:

[New Thread 1024 (LWP 2741)]
[New Thread 2049 (LWP 2742)]
[New Thread 1026 (LWP 2743)]
[New Thread 2051 (LWP 2744)]
0x40d7a519 in __wait4 () from /lib/i686/libc.so.6
  • #0 __wait4
    from /lib/i686/libc.so.6
  • #1 __DTOR_END__
    from /lib/i686/libc.so.6
  • #2 waitpid
    at wrapsyscall.c line 172
  • #3 libgnomeui_segv_handle
    at gnome-ui-init.c line 620
  • #4 pthread_sighandler
    at signals.c line 97
  • #5 <signal handler called>
  • #6 g_logv
  • #7 g_log
  • #8 bonobo_ui_toolbar_insert
    at bonobo-ui-toolbar.c line 1316
  • #9 toolbar_build_control
    at bonobo-ui-sync-toolbar.c line 253
  • #10 impl_bonobo_ui_sync_toolbar_build
    at bonobo-ui-sync-toolbar.c line 346
  • #11 bonobo_ui_sync_build
    at bonobo-ui-sync.c line 209
  • #12 bonobo_ui_engine_sync
    at bonobo-ui-engine.c line 2184
  • #13 do_sync
    at bonobo-ui-engine.c line 2307
  • #14 bonobo_ui_engine_update_node
    at bonobo-ui-engine.c line 2361
  • #15 bonobo_ui_engine_update
    at bonobo-ui-engine.c line 2501
  • #16 bonobo_ui_engine_thaw
    at bonobo-ui-engine.c line 3042
  • #17 nautilus_window_ui_update
    at nautilus-window.c line 316
  • #18 nautilus_window_set_content_view_widget
    at nautilus-window.c line 1759
  • #19 location_has_really_changed
    at nautilus-window-manage-views.c line 629
  • #20 load_underway_callback
    at nautilus-window-manage-views.c line 1767
  • #21 g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #22 g_closure_invoke
    at gclosure.c line 437
  • #23 signal_emit_unlocked_R
    at gsignal.c line 2341
  • #24 g_signal_emit_valist
    at gsignal.c line 2100
  • #25 g_signal_emit
    at gsignal.c line 2144
  • #26 view_frame_underway
    at nautilus-view-frame.c line 332
  • #27 nautilus_view_frame_report_load_underway
    at nautilus-view-frame.c line 1188
  • #28 report_load_underway
    at nautilus-view-frame-corba.c line 151
  • #29 execute_queued_functions
    at nautilus-idle-queue.c line 66
  • #30 g_idle_dispatch
    at gmain.c line 3129
  • #31 g_main_dispatch
    at gmain.c line 1617
  • #32 g_main_context_dispatch
    at gmain.c line 2161
  • #33 g_main_context_iterate
    at gmain.c line 2242
  • #34 g_main_loop_run
    at gmain.c line 2462
  • #35 gtk_main
    at gtkmain.c line 1077
  • #36 main
    at nautilus-main.c line 263
  • #37 __libc_start_main
    at ../sysdeps/generic/libc-start.c line 129
  • #0 __wait4
    from /lib/i686/libc.so.6
  • #1 __DTOR_END__
    from /lib/i686/libc.so.6
  • #2 waitpid
    at wrapsyscall.c line 172
  • #3 libgnomeui_segv_handle
    at gnome-ui-init.c line 620
  • #4 pthread_sighandler
    at signals.c line 97
  • #5 <signal handler called>
  • #6 g_logv
  • #7 g_log

Comment 1 Michael Meeks 2002-07-11 15:26:52 UTC
Assuming it's a re-enterancy / destroy bug through the control
realisation process, I've committed a fix - please re-open if problems
persist.
Comment 2 Anand 2002-07-22 06:23:25 UTC
Michael: I'm still seeing the crash on the 19th sources from CVS. The 
reproducibility rate has now dwindled. It is less reproducible. But, 
I did get a crash.

I also get a "Nautilus cannot be started now due to an unexpected 
error" dialog at times, when i keep executing the 'nautilus -q' 
command repeatedly. I then need to 'bonobo-slay' before starting 
nautilus again.

Reopening bug.

The new stack trace looks different from the earlier one. I'm 
attaching the fresh stack trace.

[New Thread 1024 (LWP 9607)]
[New Thread 2049 (LWP 9610)]
[New Thread 1026 (LWP 9611)]
[New Thread 2051 (LWP 9612)]
0x40d7f519 in __wait4 () from /lib/i686/libc.so.6
  • #0 __wait4
    from /lib/i686/libc.so.6
  • #1 __DTOR_END__
    from /lib/i686/libc.so.6
  • #2 waitpid
    at wrapsyscall.c line 172
  • #3 libgnomeui_segv_handle
    at gnome-ui- init.c line 620
  • #4 pthread_sighandler
    at signals.c line 97
  • #5 <signal handler called>
  • #6 nautilus_sidebar_set_title
    at nautilus-sidebar.c line 1686
  • #7 update_title
    at nautilus-window-manage-views.c line 231
  • #8 set_displayed_location
    at nautilus-window-manage-views.c line 288
  • #9 load_new_location_in_all_views
    at nautilus-window-manage-views.c line 879
  • #10 set_to_pending_location_and_selection
    at nautilus-window-manage-views.c line 902
  • #11 view_loaded_callback
    at nautilus-window-manage-views.c line 1977
  • #12 g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #13 g_closure_invoke
    at gclosure.c line 437
  • #14 signal_emit_unlocked_R
    at gsignal.c line 2341
  • #15 g_signal_emit_valist
    at gsignal.c line 2100
  • #16 g_signal_emit
    at gsignal.c line 2144
  • #17 view_frame_activated
    at nautilus-view-frame.c line 275
  • #18 attach_view
    at nautilus-view-frame.c line 756
  • #19 activation_callback
    at nautilus-view-frame.c line 774
  • #20 activation_idle_callback
    at nautilus-bonobo-extensions.c line 517
  • #21 g_idle_dispatch
    at gmain.c line 3129
  • #22 g_main_dispatch
    at gmain.c line 1617
  • #23 g_main_context_dispatch
    at gmain.c line 2161
  • #24 g_main_context_iterate
    at gmain.c line 2242
  • #25 g_main_loop_run
    at gmain.c line 2462
  • #26 gtk_main
    at gtkmain.c line 1077
  • #27 main
    at nautilus- main.c line 262
  • #28 __libc_start_main
    at ../sysdeps/generic/libc-start.c line 129
  • #0 __wait4
    from /lib/i686/libc.so.6
  • #1 __DTOR_END__
    from /lib/i686/libc.so.6
  • #2 waitpid
    at wrapsyscall.c line 172
  • #3 libgnomeui_segv_handle
    at gnome-ui- init.c line 620
  • #4 pthread_sighandler
    at signals.c line 97
  • #5 <signal handler called>
  • #6 nautilus_sidebar_set_title
    at nautilus-sidebar.c line 1686
  • #7 update_title
    at nautilus-window-manage-views.c line 231

Comment 3 Michael Meeks 2002-07-24 07:45:08 UTC
a rather different bug, the sidebar widget not being NULLed correctly
on the window. Fixed in CVS.
Comment 4 Anand 2002-08-28 16:17:51 UTC
Crashing again :/. I'm running the 28th august sources from CVS.

I repeatedly executed 'nautilus -q' and it crashed. I've set nautilus 
to draw my desktop. The stack trace appears different from the 
previous two ones. 

Attaching the fresh stack trace, obtained from bug buddy. Reopening 
bug, again :(

Debugging information:
[New Thread 1024 (LWP 3284)]
[New Thread 2049 (LWP 3286)]
[New Thread 1026 (LWP 3287)]
[New Thread 2051 (LWP 3288)]
0x40c77519 in __wait4 () from /lib/i686/libc.so.6
  • #0 __wait4
    from /lib/i686/libc.so.6
  • #1 __DTOR_END__
    from /lib/i686/libc.so.6
  • #2 waitpid
    at wrapsyscall.c line 172
  • #3 libgnomeui_segv_handle
    at gnome-ui-init.c line 647
  • #4 pthread_sighandler
    at signals.c line 97
  • #5 <signal handler called>
  • #6 bonobo_ui_component_freeze
    at bonobo-ui-component.c line 1022
  • #7 nautilus_window_constructed
    at nautilus-window.c line 654
  • #8 nautilus_window_set_property
    at nautilus-window.c line 727
  • #9 object_set_property
    at gobject.c line 571
  • #10 g_object_constructor
    at gobject.c line 811
  • #11 g_object_newv
    at gobject.c line 695
  • #12 g_object_new_valist
    at gobject.c line 778
  • #13 gtk_widget_new
    at gtkwidget.c line 1423
  • #14 nautilus_application_create_window
    at nautilus-application.c line 745
  • #15 open_window
    at nautilus-shell.c line 128
  • #16 corba_open_default_window
    at nautilus-shell.c line 175
  • #17 Nautilus_Shell_open_default_window
    at nautilus-shell-interface-stubs.c line 48
  • #18 nautilus_application_startup
    at nautilus-application.c line 558
  • #19 main
    at nautilus-main.c line 255
  • #20 __libc_start_main
    at ../sysdeps/generic/libc-start.c line 129
  • #0 __wait4
    from /lib/i686/libc.so.6
  • #1 __DTOR_END__
    from /lib/i686/libc.so.6
  • #2 waitpid
    at wrapsyscall.c line 172
  • #3 libgnomeui_segv_handle
    at gnome-ui-init.c line 647
  • #4 pthread_sighandler
    at signals.c line 97
  • #5 <signal handler called>
  • #6 bonobo_ui_component_freeze
    at bonobo-ui-component.c line 1022
  • #7 nautilus_window_constructed
    at nautilus-window.c line 654

Comment 5 Luis Villa 2002-08-28 16:45:09 UTC
Michael? Is this bonobo or nautilus?
Comment 6 Michael Meeks 2002-08-29 10:32:30 UTC
Almost certainly nautilus; it's possible that an incoming call
destroys the window, before it's even finished being constructed.

It's pretty hard to fix this, because of the (curious) way Nautilus
does so much CORBA work in the construct time properties - in a most
odd way.

It looks like this needs splitting out and a ref holding over the
construction process. It's almost certainly a different bug though -
so it sucks to attach this trace to this old, closed bug.

My attached patch might help some of the re-enterancy pain go away;
it'd be good to have anyway - but I can't take the release team
approval pain.
Comment 7 Michael Meeks 2002-08-29 10:33:40 UTC
Created attachment 10785 [details] [review]
a patch.
Comment 8 Luis Villa 2002-09-11 14:56:01 UTC

*** This bug has been marked as a duplicate of 76233 ***
Comment 9 Luis Villa 2002-09-11 14:56:18 UTC
Doh. My mistake.
Comment 10 Gaute Lindkvist 2003-03-20 20:46:48 UTC
I'm still seeing this in CVS HEAD as of 2003-03-20
Comment 11 Alexander Larsson 2003-04-23 10:35:55 UTC
I checked in the patch. Do people still see this?
Comment 12 Kjartan Maraas 2003-07-02 14:50:46 UTC
*** Bug 115342 has been marked as a duplicate of this bug. ***
Comment 13 John Fleck 2003-08-25 02:48:41 UTC
Closing based on lack of further feedback.