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 73456 - Notes sidebar crash long after main Nautilus crash
Notes sidebar crash long after main Nautilus crash
Status: RESOLVED FIXED
Product: nautilus
Classification: Core
Component: [obsolete] Sidebar Panel: (Other)
unspecified
Other other
: High critical
: ---
Assigned To: Nautilus Maintainers
Nautilus Maintainers
Depends on:
Blocks:
 
 
Reported: 2002-03-04 23:31 UTC by Havoc Pennington
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch to avoid SEGV in this instance (812 bytes, patch)
2002-04-23 18:56 UTC, Damon Chaplin
none Details | Review
New version of patch which compiles (change '->' to '.') (811 bytes, patch)
2002-04-25 20:07 UTC, Damon Chaplin
none Details | Review

Description Havoc Pennington 2002-03-04 23:31:15 UTC
Package: nautilus
Severity: normal
Version: 1.1.6
Synopsis: Notes sidebar crash long after main Nautilus crash
Bugzilla-Product: nautilus
Bugzilla-Component: Sidebar Panel: (Other)
BugBuddy-GnomeVersion: 2.0 (1.112.0)

Description:
Hmm, my main Nautilus died a few hours ago, then I got a nautilus-notes

crash dialog with no main Nautilus running. Go figure. ;-)

Backtrace looks like it could be figured out without needing a way to 
reproduce.



Debugging Information:

[New Thread 1024 (LWP 19537)]
0x40a695d9 in __wait4 () from /lib/i686/libc.so.6

Thread 1 (Thread 1024 (LWP 19537))

  • #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 598
  • #4 pthread_sighandler
    at signals.c line 97
  • #5 <signal handler called>
  • #6 strcmp
    from /lib/i686/libc.so.6
  • #7 eel_strcmp
    at eel-string.c line 54
  • #8 eel_str_is_empty
    at eel-string.c line 118
  • #9 nautilus_directory_get_file_metadata
    at nautilus-directory-metafile.c line 213
  • #10 nautilus_file_get_metadata
    at nautilus-file.c line 2018
  • #11 load_note_text_from_metadata
    at nautilus-notes.c line 160
  • #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 2340
  • #15 g_signal_emit_valist
    at gsignal.c line 2099
  • #16 g_signal_emit
    at gsignal.c line 2143
  • #17 nautilus_file_emit_changed
    at nautilus-file.c line 4646
  • #18 nautilus_directory_emit_change_signals
    at nautilus-directory.c line 723
  • #19 call_files_changed_unref_free_list
    at nautilus-directory.c line 843
  • #20 g_hash_table_foreach
    at ghash.c line 559
  • #21 nautilus_directory_notify_files_changed
    at nautilus-directory.c line 981
  • #22 nautilus_file_changes_consume_changes
    at nautilus-file-changes-queue.c line 452
  • #23 process_fam_notifications
    at nautilus-monitor.c line 225
  • #24 g_io_unix_dispatch
    at giounix.c line 160
  • #25 g_main_dispatch
    at gmain.c line 1616
  • #26 g_main_context_dispatch
    at gmain.c line 2160
  • #27 g_main_context_iterate
    at gmain.c line 2241
  • #28 g_main_loop_run
    at gmain.c line 2461
  • #29 gtk_main
    at gtkmain.c line 915
  • #30 nautilus_view_standard_main_multi
    at nautilus-view-standard-main.c line 228
  • #31 nautilus_view_standard_main
    at nautilus-view-standard-main.c line 311
  • #32 main
    at nautilus-notes.c line 439
  • #33 __libc_start_main
    at ../sysdeps/generic/libc-start.c line 129
  • #0 __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 598
  • #4 pthread_sighandler
    at signals.c line 97
  • #5 <signal handler called>
  • #6 strcmp
    from /lib/i686/libc.so.6
  • #7 eel_strcmp
bounds>, 
    string_b=0x0) at eel-string.c:54
54		return strcmp (string_a == NULL ? "" : string_a,
No locals.




------- Bug moved to this database by unknown@bugzilla.gnome.org 2002-03-04 18:31 -------

Unknown version 1.1.x in product nautilus. Setting version to the default, "unspecified".
Reassigning to the default owner of the component, nautilus-maint@bugzilla.gnome.org.

Comment 1 Luis Villa 2002-03-30 19:17:21 UTC
Still seeing this, Havoc?
Comment 2 Havoc Pennington 2002-03-31 20:30:41 UTC
Only saw it the one time.
Comment 3 Luis Villa 2002-03-31 22:23:53 UTC
Dave: we've got no duplicates of this, and Havoc only saw it the one
time. Can you close this if the trace isn't useful/relevant anymore?
Comment 4 Damon Chaplin 2002-04-23 18:55:33 UTC
It happens because it isn't checking CORBA ev for errors in
nautilus_directory_get_file_metadata(). So I guess the CORBA call is
failing because nautilus is dead, but it uses the return value which
is invalid, and it SEGVs.

Also see bug #46664. There are 11 corba calls in
nautilus-directory-metafile.c that don't check the ev for errors.

I'll attach a patch that would avoid this particular SEGV, but it
doesn't fix the underlying issue of no error-handling strategy.
Comment 5 Damon Chaplin 2002-04-23 18:56:27 UTC
Created attachment 7897 [details] [review]
Patch to avoid SEGV in this instance
Comment 6 Damon Chaplin 2002-04-25 20:07:26 UTC
Created attachment 7962 [details] [review]
New version of patch which compiles (change '->' to '.')
Comment 7 Damon Chaplin 2002-04-26 19:42:41 UTC
Patch applied. Closing.