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 337014 - Nautilus crash when trying to eject an empty cd drive
Nautilus crash when trying to eject an empty cd drive
Status: RESOLVED FIXED
Product: gnome-vfs
Classification: Deprecated
Component: File operations
2.15.x
Other All
: Normal critical
: 2.16
Assigned To: Christian Neumair
gnome-vfs maintainers
: 338895 344997 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2006-04-03 11:02 UTC by Priit Laes (IRC: plaes)
Modified: 2006-10-06 19:14 UTC
See Also:
GNOME target: ---
GNOME version: 2.15/2.16


Attachments
Proposed patch (1.05 KB, patch)
2006-04-07 10:19 UTC, Christian Neumair
committed Details | Review

Description Priit Laes (IRC: plaes) 2006-04-03 11:02:30 UTC
Steps to reproduce:
1. Right click on CD-device
2. Click "Eject"
3. Wait for error message and crash...


Stack trace:
Backtrace was generated from '/usr/bin/nautilus'

Using host libthread_db library "/lib/libthread_db.so.1".
`system-supplied DSO at 0xffffe000' has disappeared; keeping its
symbols.
[Thread debugging using libthread_db enabled]
[New Thread -1492633936 (LWP 7844)]
[New Thread -1583350880 (LWP 8861)]
[New Thread -1503097952 (LWP 7852)]
0xffffe410 in __kernel_vsyscall ()

Thread 2 (Thread -1583350880 (LWP 8861))

  • #0 __kernel_vsyscall
  • #1 __waitpid_nocancel
    from /lib/libpthread.so.0
  • #2 libgnomeui_segv_handle
    from /usr/lib/libgnomeui-2.so.0
  • #3 <signal handler called>
  • #4 strcmp
    from /lib/libc.so.6
  • #5 mount_unmount_thread
    at gnome-vfs-volume-ops.c line 745
  • #6 start_thread
    from /lib/libpthread.so.0
  • #7 clone
    from /lib/libc.so.6




Other information:
Comment 1 Christian Kirbach 2006-04-03 15:29:44 UTC
cannot reproduce with CVS head.
what version of hal is installed on your system?
Comment 2 Priit Laes (IRC: plaes) 2006-04-04 07:52:30 UTC
sys-apps/hal-0.5.7 with some extra patches from Gentoo devs.
Comment 3 Christian Kirbach 2006-04-04 14:43:40 UTC
hal 0.5.8 here

seems to be a gnome-vfs problem, changing product
Comment 4 Christian Neumair 2006-04-04 15:02:12 UTC
the MountInfoThread's argv is NULL if none of

  "/sbin/umount", "/bin/umount", "/usr/sbin/umount", "/usr/bin/umount"

could be found in the unmount case.

What is the output of

 which umount

?
Comment 5 Priit Laes (IRC: plaes) 2006-04-05 14:18:38 UTC
amd@box770 ~ $ which umount
/bin/umount
Comment 6 Christian Neumair 2006-04-05 15:08:58 UTC
Thanks, that doesn't look suspicious. Maybe pumount is used. Where is it located?

It would also be great if you could add the following code to libgnomevfs/gnome-vfs-volume-ops.c:(mount_unmount_operation), right above the pthread_create call:

for (i = 0; i < 4; i++) {
  g_message ("got argv %d: %s", i, mount_info->argv[i]);
}
Comment 7 Priit Laes (IRC: plaes) 2006-04-05 16:22:52 UTC
Indeed it's weird...

amd@box770 ~ $ which pumount
/usr/bin/pumount

In function: mount_unmount_operation
libgnomevfs-Message: got argv 0: (null)

libgnomevfs-Message: got argv 1: (null)

libgnomevfs-Message: got argv 2: (null)

libgnomevfs-Message: got argv 3: (null)

[New Thread -1508213856 (LWP 29153)]
gnome-mount 0.4
Comment 8 Christian Neumair 2006-04-06 22:05:27 UTC
Priit: Thanks for your feedback. This is really odd...
Maybe you could check back whether and if so how the find_command function is used, by replacing it with code similar to


/* Returns the full path to the queried command */
static const char *
find_command (const char **known_locations)
{
        int i;

        for (i = 0; known_locations [i]; i++) {
                g_message ("checking known location %s", known_locations[i]);

                if (g_file_test (known_locations [i], G_FILE_TEST_IS_EXECUTABLE)) {
                        g_message ("returning known location %s", known_locations[i]);
                        return known_locations [i];
                }
        }
        return NULL;
}
Comment 9 Priit Laes (IRC: plaes) 2006-04-07 09:00:56 UTC
Did also some other magic like g_message(%s, __FUNCTION__) and seems like this function doesn't even get called.
Comment 10 Christian Neumair 2006-04-07 10:19:28 UTC
Created attachment 62904 [details] [review]
Proposed patch

Thanks for your extensive feedback!
Comment 11 Christian Neumair 2006-04-07 10:27:25 UTC
Discussion:

http://mail.gnome.org/archives/gnome-vfs-list/2006-April/msg00013.html
Comment 12 Priit Laes (IRC: plaes) 2006-04-07 12:04:35 UTC
Doesn't crash, but noticed this when running under dbg. Note the zombie :)

<snip>
[Thread -1544127584 (LWP 23362) exited]
[New Thread -1544127584 (LWP 23363)]
gnome-mount 0.4
[Thread -1544127584 (zombie) exited]
</snip>
Comment 13 Christian Neumair 2006-04-25 11:21:45 UTC
Priit: gdb zombies are a well-known issue. Just ask google :).

The proposed patch was committed to HEAD and to the 2.14 branch. I'm closing this bug report for now, thanks for your help.
Comment 14 André Klapper 2006-10-06 19:14:14 UTC
*** Bug 338895 has been marked as a duplicate of this bug. ***
Comment 15 André Klapper 2006-10-06 19:14:31 UTC
*** Bug 344997 has been marked as a duplicate of this bug. ***