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 74189 - nautilus crash on startup [get_info_callback]
nautilus crash on startup [get_info_callback]
Status: RESOLVED FIXED
Product: nautilus
Classification: Core
Component: general
unspecified
Other other
: Urgent critical
: 1.1.x
Assigned To: Nautilus Maintainers
Nautilus Maintainers
: 75105 81194 83596 84402 85313 86071 86556 87044 87493 88137 90025 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2002-03-11 01:51 UTC by Greg Schafer
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
screenshot to show possible session problem (29.65 KB, image/png)
2002-03-11 05:37 UTC, Greg Schafer
  Details
Patch to fix it (3.48 KB, patch)
2002-06-25 18:46 UTC, Damon Chaplin
none Details | Review

Description Greg Schafer 2002-03-11 01:51:34 UTC
Package: nautilus
Severity: normal
Version: 1.1.8
Synopsis: Crash on startup
Bugzilla-Product: nautilus
Bugzilla-Component: general
BugBuddy-GnomeVersion: 2.0 (1.112.1)

Description:
Description of Problem:
Nautilus crashes most times when starting new Gnome2 X session. After
the crash, it respawns successfully.
This is CVS everything as of about 10 March 2002
I have noticed it for the past few days.

This appears on stderr:
nautilus (pid:1989): ** ERROR **: file nautilus-directory-async.c: line
2643 (get_info_callback): assertion failed: (handle == NULL || handle ==
directory->details->get_info_in_progress)

Additional Information:
Have also noticed that Nautilus sometimes tries to open a nautilus
window when starting new Gnome2 session even though I closed all
nautilus windows at end of last session.



Debugging Information:

[New Thread 1024 (LWP 1989)]
[New Thread 2049 (LWP 1996)]
[New Thread 1026 (LWP 1997)]
[New Thread 2051 (LWP 1998)]
[New Thread 3076 (LWP 2007)]
0x40a906e9 in wait4 () from /lib/libc.so.6

Thread 1 (Thread 1024 (LWP 1989))

  • #0 wait4
    from /lib/libc.so.6
  • #1 __DTOR_END__
    from /lib/libc.so.6
  • #2 waitpid
    from /lib/libpthread.so.0
  • #3 libgnomeui_segv_handle
    at gnome-ui-init.c line 598
  • #4 pthread_sighandler
    from /lib/libpthread.so.0
  • #5 <signal handler called>
  • #6 kill
    from /lib/libc.so.6
  • #7 pthread_kill
    from /lib/libpthread.so.0
  • #8 raise
    from /lib/libpthread.so.0
  • #9 abort
    from /lib/libc.so.6
  • #10 g_logv
  • #11 g_log
  • #12 get_info_callback
    at nautilus-directory-async.c line 2643
  • #13 dispatch_get_file_info_callback
    at gnome-vfs-job.c line 269
  • #14 dispatch_job_callback
    at gnome-vfs-job.c line 550
  • #15 g_idle_dispatch
    at gmain.c line 3129
  • #16 g_main_dispatch
    at gmain.c line 1617
  • #17 g_main_context_dispatch
    at gmain.c line 2161
  • #18 g_main_context_iterate
    at gmain.c line 2242
  • #19 g_main_loop_run
    at gmain.c line 2462
  • #20 gtk_main
    at gtkmain.c line 915
  • #21 main
    at nautilus-main.c line 265
  • #22 __libc_start_main
    from /lib/libc.so.6
  • #0 wait4
    from /lib/libc.so.6
  • #0 wait4
    from /lib/libc.so.6
  • #1 __DTOR_END__
    from /lib/libc.so.6
  • #2 waitpid
    from /lib/libpthread.so.0
  • #3 libgnomeui_segv_handle
    at gnome-ui-init.c line 598
  • #4 pthread_sighandler
    from /lib/libpthread.so.0
  • #5 <signal handler called>
  • #6 kill
    from /lib/libc.so.6
  • #7 pthread_kill
    from /lib/libpthread.so.0




------- Bug moved to this database by unknown@bugzilla.gnome.org 2002-03-10 20:51 -------

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 Greg Schafer 2002-03-11 02:02:34 UTC
Additional info, sometimes instead of gnome-segv catching the bug, I
get this instead:

The program 'nautilus' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadPixmap (invalid Pixmap parameter)'.
  (Details: serial 4585 error_code 4 request_code 2 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 2 Greg Schafer 2002-03-11 05:37:00 UTC
Created attachment 7097 [details]
screenshot to show possible session problem
Comment 3 Greg Schafer 2002-03-11 06:02:25 UTC
Note the attchment above. Nautilus is in there twice which doesn't
look right to me. In fact, if I remove the second session (using the
capplet) then quit session, then restart session, everything comes up
as expected. So maybe this is a session related problem?
Comment 4 John Fleck 2002-03-17 15:19:02 UTC
*** Bug 75105 has been marked as a duplicate of this bug. ***
Comment 5 Heath Harrelson 2002-03-28 16:00:33 UTC
Marking this confirmed, since it has a duplicate.
Comment 6 Luis Villa 2002-03-30 20:43:11 UTC
Darin: is this bug 71149?

Greg: this might be the result of a mismatched nautilus and gnome-vfs
build, according to the other bug. Can you try rebuilding both with
most recent from CVS and seeing if that works?
Comment 7 Greg Schafer 2002-04-03 08:25:56 UTC
I'm closing this bug now as my recent builds don't display the problem.
Comment 8 Luis Villa 2002-05-10 05:24:21 UTC
*** Bug 81194 has been marked as a duplicate of this bug. ***
Comment 9 Luis Villa 2002-05-10 05:25:01 UTC
Reopening :/
Comment 10 Luis Villa 2002-05-22 22:14:45 UTC
Jacob, can you take a look at this?
Comment 11 Michael Meeks 2002-05-24 16:07:50 UTC
Ok - so I can see how this could happen, possibly in this circumstance:

g_idle_add as used in job_oneway_notify is assumed to be thread safe
by gnome-vfs, indeed this locking is pretty vital to avoid nasty
memory trashing corruption.

I'm guessing then that this problem only occurs for people who
compiled glib themselves, and (presumably) ommitted the
--with-threads=posix, or somesuch.
Comment 12 Michael Meeks 2002-05-24 16:15:04 UTC
sigh, what rubbish I talk, of course g_thread_supported would fail in
this case, it's not the problem - unless the g_idle_add locking is
busted. It's prolly something more banal.
Comment 13 Michael Meeks 2002-05-24 17:06:12 UTC
It would be _extremely_ helpful to be able to see the contents of:

#12
$ p *(NautilusDirectory *)callback_data

$ p *$1.details

It's possible that the object has been finalized, it's pretty much all
I can think of.
Comment 14 Michael Meeks 2002-05-31 16:49:52 UTC
*** Bug 83596 has been marked as a duplicate of this bug. ***
Comment 15 Andrew Sobala 2002-06-06 22:41:54 UTC
*** Bug 84402 has been marked as a duplicate of this bug. ***
Comment 16 Luis Villa 2002-06-14 19:34:52 UTC
Twanger: can you still reproduce this? Can you also take a look at
Michael's comment if you can?
Comment 17 Dave Camp 2002-06-14 20:47:27 UTC
*** Bug 84910 has been marked as a duplicate of this bug. ***
Comment 18 Markus Bertheau 2002-06-15 00:07:47 UTC
I can't remember having this crasher.
Comment 19 Luis Villa 2002-06-15 12:19:23 UTC
Markus: you submitted it as bug 84402; it had the same stack trace
though you reached it differently.
Comment 20 Luis Villa 2002-06-15 12:19:32 UTC
*** Bug 85313 has been marked as a duplicate of this bug. ***
Comment 21 Markus Bertheau 2002-06-15 12:57:38 UTC
If anoncvs wasn't so fscked up, i'd bring my gnome2 up-to-date and
tried reproducing. :(

cvs -z3 update -dP -A
cvs server: Updating .
cvs server: failed to create lock directory for `/cvs/gnome/gtk-doc'
(/cvs/gnome/gtk-doc/#cvs.lock): Permission denied
cvs server: failed to obtain dir lock in repository `/cvs/gnome/gtk-doc'
cvs [server aborted]: read lock failed - giving up

which modules need updating for the re-check to make sense?
Comment 22 Markus Bertheau 2002-06-16 10:17:08 UTC
The crash still occurs. The first bugbuddy report I get is another
backtrace, though, which I filed as bug 85448. After that, when
nautilus is restarted, I get this crash several times. I tried to get
that backtrace in gdb to help Michael, didn't work. I only get SIG32s.
Another difference to other crashes is, that the gnome-segv dialogbox
says ".. has crashed due to a fatal error (Trace/breakpoint trap)",
not ".. has crashed due to a fatal error (Segmentation Fault)".
Comment 23 Michael Meeks 2002-06-19 12:50:12 UTC
could this be Damon's gnome-vfs fix in a different guise ?
Comment 24 Damon Chaplin 2002-06-19 18:39:50 UTC
I wouldn't think so, though I'm not sure. My bug was about bad file
monitors, but here it looks like we have a bad GnomeVFSAsyncHandle:

  get_info_callback (handle=0x1

Other that that, I have no idea.
Comment 25 Luis Villa 2002-06-20 22:21:01 UTC
*** Bug 86071 has been marked as a duplicate of this bug. ***
Comment 26 Damon Chaplin 2002-06-21 18:03:13 UTC
Actually a GnomeVFSAsyncHandle is a GUINT_TO_POINTER, so 0x1
could be valid.

Quite a few of the traces have a handle of 1 or 2, though bug 85313 has
handle=0x400d9e95. Most crashes happen on startup, though bug 84402 
doesn't.

I can reproduce 84910 up to the hang, but it doesn't SEGV.


Comment 27 Damon Chaplin 2002-06-25 18:29:37 UTC
gnome_vfs_async_job_cancel_job_and_callbacks() doesn't set the job's
cancelled flag to TRUE if async_job_callback_map == NULL. It just
returns.

So if a job is cancelled before any callbacks have been registered at
all, then it isn't marked as cancelled. I can reproduce by adding
sleep(5) to job_oneway_notify() to delay adding callbacks.

I'll attach a patch in a sec.
Comment 28 Damon Chaplin 2002-06-25 18:46:56 UTC
Created attachment 9451 [details] [review]
Patch to fix it
Comment 29 Seth Nickell 2002-06-26 18:31:11 UTC
The patch looks good Damon, thanks for looking at this. As long as
you've tested basic GnomeVFS clients to make sure they still run and
are basically ok (say, Nautilus, I really don't think this would break
them, but better to be safe than sorry), go ahead and checkin to HEAD
and the gnome-vfs-2-0 branch.
Comment 30 Damon Chaplin 2002-06-26 18:54:10 UTC
Patch applied to head and gnome-2-0 branch.
Comment 31 Luis Villa 2002-06-26 21:46:44 UTC
*** Bug 86556 has been marked as a duplicate of this bug. ***
Comment 32 Luis Villa 2002-07-01 22:37:54 UTC
*** Bug 87044 has been marked as a duplicate of this bug. ***
Comment 33 Heath Harrelson 2002-07-06 19:12:30 UTC
*** Bug 87493 has been marked as a duplicate of this bug. ***
Comment 34 Luis Villa 2002-07-16 03:53:59 UTC
*** Bug 88137 has been marked as a duplicate of this bug. ***
Comment 35 Luis Villa 2002-08-06 18:59:04 UTC
*** Bug 90025 has been marked as a duplicate of this bug. ***