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 438937 - crash in modify_link_hash_table at nautilus-file.c:278
crash in modify_link_hash_table at nautilus-file.c:278
Status: RESOLVED DUPLICATE of bug 435823
Product: nautilus
Classification: Core
Component: general
2.18.x
Other All
: High critical
: ---
Assigned To: Nautilus Maintainers
Nautilus Maintainers
: 439276 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2007-05-16 16:48 UTC by Dan Nicholson
Modified: 2007-10-21 21:32 UTC
See Also:
GNOME target: ---
GNOME version: 2.17/2.18



Description Dan Nicholson 2007-05-16 16:48:55 UTC
Version: 2.18.1

What were you doing when the application crashed?
From terminal, `gnome-open ftp://ftp.gnu.org/'. Nautilus ftp authentication dialog came up, I said connect. Browser window opened, then bug buddy shortly later. Browsing ftp://ftp.gnome.org/ seems to work. Maybe it's server specific?


Distribution: 20070505-devel
Gnome Release: 2.18.1 2007-04-23 (Gado)
BugBuddy Version: 2.18.1

System: Linux 2.6.20.11-1 #1 SMP Thu May 3 07:21:08 PDT 2007 i686
X Vendor: The X.Org Foundation
X Vendor Release: 70200000
Selinux: No
Accessibility: Disabled
GTK+ Theme: Clearlooks
Icon Theme: gnome

Memory status: size: 82509824 vsize: 82509824 resident: 29831168 share: 17907712 rss: 29831168 rss_rlim: 4294967295
CPU usage: start_time: 1179334093 rtime: 148 utime: 140 stime: 8 cutime:0 cstime: 0 timeout: 0 it_real_value: 0 frequency: 100

Backtrace was generated from '/usr/bin/nautilus'

Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1228248880 (LWP 9575)]
0xb7efe410 in __kernel_vsyscall ()

Thread 1 (Thread -1228248880 (LWP 9575))

  • #0 __kernel_vsyscall
  • #1 ??
    from /lib/libpthread.so.0
  • #2 libgnomeui_segv_handle
    at gnome-ui-init.c line 872
  • #3 <signal handler called>
  • #4 IA__g_str_hash
    at gstring.c line 95
  • #5 IA__g_hash_table_lookup_extended
    at ghash.c line 231
  • #6 modify_link_hash_table
    at nautilus-file.c line 278
  • #7 update_info_internal
    at nautilus-file.c line 1468
  • #8 update_info_and_name
    at nautilus-file.c line 1480
  • #9 nautilus_file_new_from_info
    at nautilus-file.c line 355
  • #10 dequeue_pending_idle_callback
    at nautilus-directory-async.c line 880
  • #11 directory_load_callback
    at nautilus-directory-async.c line 1041
  • #12 dispatch_job_callback
    at gnome-vfs-job.c line 237
  • #13 g_idle_dispatch
    at gmain.c line 3928
  • #14 IA__g_main_context_dispatch
    at gmain.c line 2045
  • #15 g_main_context_iterate
    at gmain.c line 2677
  • #16 IA__g_main_loop_run
    at gmain.c line 2881
  • #17 IA__gtk_main
    at gtkmain.c line 1154
  • #18 main
    at nautilus-main.c line 548
  • #0 __kernel_vsyscall


----------- .xsession-errors (5657 sec old) ---------------------
fixme:devenum:DEVENUM_ICreateDevEnum_CreateClassEnumerator Category {cc7bfb46-f175-11d1-a392-00e0291f3959} not found
fixme:devenum:DEVENUM_ICreateDevEnum_CreateClassEnumerator Category {cc7bfb41-f175-11d1-a392-00e0291f3959} not found
fixme:devenum:DEVENUM_ICreateDevEnum_CreateClassEnumerator Category {cc7bfb46-f175-11d1-a392-00e0291f3959} not found
fixme:devenum:DEVENUM_ICreateDevEnum_CreateClassEnumerator Category {cc7bfb41-f175-11d1-a392-00e0291f3959} not found
fixme:devenum:DEVENUM_ICreateDevEnum_CreateClassEnumerator Category {cc7bfb46-f175-11d1-a392-00e0291f3959} not found
fixme:devenum:DEVENUM_ICreateDevEnum_CreateClassEnumerator Category {cc7bfb41-f175-11d1-a392-00e0291f3959} not found
fixme:devenum:DEVENUM_ICreateDevEnum_CreateClassEnumerator Category {cc7bfb46-f175-11d1-a392-00e0291f3959} not found
fixme:devenum:DEVENUM_ICreateDevEnum_CreateClassEnumerator Category {cc7bfb41-f175-11d1-a392-00e0291f3959} not found
fixme:devenum:DEVENUM_ICreateDevEnum_CreateClassEnumerator Category {cc7bfb46-f175-11d1-a392-00e0291f3959} not found
fixme:devenum:DEVENUM_ICreateDevEnum_CreateClassEnumerator Category {cc7bfb41-f175-11d1-a392-00e0291f3959} not found
fixme:devenum:DEVENUM_ICreateDevEnum_CreateClassEnumerator Category {cc7bfb46-f175-11d1-a392-00e0291f3959} not found
fixme:devenum:DEVENUM_ICreateDevEnum_CreateClassEnumerator Category {cc7bfb41-f175-11d1-a392-00e0291f3959} not found
fixme:devenum:DEVENUM_ICreateDevEnum_CreateClassEnumerator Category {cc7bfb46-f175-11d1-a392-00e0291f3959} not found
...Too much output, ignoring rest...
--------------------------------------------------
Comment 1 Dan Nicholson 2007-05-16 16:54:13 UTC
If I go directly to a subdirectory, e.g. ftp://ftp.gnu.org/gnu/, then it works fine.
Comment 2 André Klapper 2007-06-22 14:39:42 UTC
*** Bug 439276 has been marked as a duplicate of this bug. ***
Comment 3 Dan Nicholson 2007-08-11 19:52:29 UTC
Some more interesting info from quitting nautilus and then running directly:

** (nautilus:15414): CRITICAL **: nautilus_file_get_symbolic_link_target_uri: assertion `nautilus_file_is_symbolic_link (file)' failed

Using gdb, I was able to find out that it's choking on the pub directory, which is a symlink to the current directory:

$ ftp ftp.gnu.org
Connected to ftp.gnu.org.
...
ftp> ls p*
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
lrwxrwxrwx    1 0        0               1 Aug 05  2003 pub -> .
226 Directory send OK.

Somehow this freaks out nautilus_file_is_symbolic_link, causing NULL to be returned to modify_link_hash_table as the target_uri. Subsequent call to g_hash_table_lookup_extended crashes when passed NULL as the lookup_key.

It seems that GNOME_VFS_FILE_INFO_FIELDS_FLAGS (1<<2) is not set, but the flags are set to indicate a symlink.

(gdb) p file->details->relative_uri
$13 = 0xb2417550 "pub"
(gdb) p /t file->details->info->valid_fields
$11 = 11000000000001
(gdb) p file->details->info->flags
$12 = GNOME_VFS_FILE_FLAGS_SYMLINK

This causes nautilus_file_is_symbolic_link to return FALSE because nautilus_file_info_missing (file, GNOME_VFS_FILE_INFO_FIELDS_FLAGS) returns TRUE. So, it seems to be a bug in gnome-vfs that the flags member is valid, but the bit flag is set incorrectly. Or, nautilus_file_is_symbolic_link is doing the wrong thing with GNOME_VFS_FILE_INFO_FIELDS_FLAGS.

You can trigger directly with `nautilus --no-desktop ftp://ftp.gnu.org/pub'.
Comment 4 Dan Nicholson 2007-08-11 20:12:28 UTC
This patch fixes it:

http://svn.gnome.org/viewcvs/gnome-vfs?view=revision&revision=5330
Comment 5 Christian Kirbach 2007-10-21 21:32:20 UTC
Thanks for taking the time to report this bug.
This particular bug has already been reported into our bug tracking system, but we are happy to tell you that the problem has already been fixed. It should be solved in the next software version. You may want to check for a software upgrade.


*** This bug has been marked as a duplicate of 435823 ***