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 77892 - drag icon to trash=crash [or open trash for some people]
drag icon to trash=crash [or open trash for some people]
Status: RESOLVED FIXED
Product: nautilus
Classification: Core
Component: Trash
unspecified
Other other
: High critical
: ---
Assigned To: Michael Meeks
Nautilus Maintainers
: 82049 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2002-04-07 02:51 UTC by John Fleck
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: Old
GNOME version: ---


Attachments
old Trash file that was causing the crash (655 bytes, text/plain)
2002-06-01 19:56 UTC, John Fleck
Details

Description John Fleck 2002-04-07 02:51:03 UTC
Package: nautilus
Severity: normal
Version: 1.1.11
Synopsis: drag icon to trash=crash
Bugzilla-Product: nautilus
Bugzilla-Component: Trash
BugBuddy-GnomeVersion: 2.0 (1.114.0)

Description:
Drag an item on the desktop background to the trash causes crash.	





Debugging Information:

Backtrace was generated from
'/home/jfleck/gnome/head/INSTALL/bin/nautilus'

[New Thread 1024 (LWP 875)]
[New Thread 2049 (LWP 876)]
[New Thread 1026 (LWP 877)]
[New Thread 2051 (LWP 878)]
0x40b6dca9 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 593
  • #4 pthread_sighandler
    at signals.c line 97
  • #5 <signal handler called>
  • #6 g_logv
  • #7 g_log
  • #8 eel_format_uri_for_display_internal
------- Bug moved to this database by unknown@bugzilla.gnome.org 2002-04-06 21: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 Luis Villa 2002-04-15 02:51:29 UTC
I saw this on the train to GUADEC but have been unable to reproduce since.
Comment 2 Murray Cumming 2002-04-26 06:12:52 UTC
I guess that the original poster can't reproduce this now either. I
guess it's fixed?
Comment 3 John Fleck 2002-04-27 14:43:42 UTC
I'm still seeing this.
Comment 4 Alexander Larsson 2002-04-28 03:56:19 UTC
Does this happen with any file?

I suspect that you have a file on the desktop or something with a
"strange" name. It seems to die in the utf8 validation.

Can you try to isolate the file that causes this?
Comment 5 John Fleck 2002-04-28 04:15:29 UTC
It seems to happen with any arbitrarily chosen file. The following
error message shows up on the console:

Eel-ERROR **: file eel-vfs-extensions.c: line 662
(eel_format_uri_for_display_internal): assertion failed:
(g_utf8_validate (uri, -1, NULL))
aborting

This is a cvs build from this morning (both eel and Nautilus).
Comment 6 Alexander Larsson 2002-04-28 20:54:38 UTC
It would be interesting to know what uri didn't validate. Can you ad a
printf("URI: %s\n", uri); to eel-vfs-extensions.c line 662, before the
assert.
Comment 7 John Fleck 2002-04-28 21:05:31 UTC
[jfleck@jelloiii jfleck]$ nautilus 
URI: file:///home/jfleck
URI: file:///home/jfleck/.gnome-desktop
URI: file:! 

Eel-ERROR **: file eel-vfs-extensions.c: line 663
(eel_format_uri_for_display_internal): assertion failed:
(g_utf8_validate (uri, -1, NULL))
aborting...

(the first being the window open to my "home", I assume, and the
second being the desktop - the third is when I try to drag an icon to
the trash)

I'm guessing by the tone of your questions that you can't duplicate
this, which suggests something odd about my setup.

I'm using vbs, building to ~/gnome/head, with ~/nome/head/INSTALL/bin
added to my path.
Comment 8 John Fleck 2002-04-28 22:12:37 UTC
Identical error, identical output when I double-click on the trash to
try to open it:

see #77680 which I think was mistakenly marked a dupe of #77520.

Comment 9 Luis Villa 2002-05-01 11:23:33 UTC
bug 77680 was really two separate bugs; the first was a dup of bug
77520 but the second a dup of this one. I can't duplicate either one
of these from jacob's snaps, FWIW. :/
Comment 10 Luis Villa 2002-05-17 23:35:39 UTC
*** Bug 82049 has been marked as a duplicate of this bug. ***
Comment 11 Luis Villa 2002-05-17 23:36:43 UTC
Now a duplicate from 1.1.16. Bumping to 2.0.0 but puntable if we can't
fix.
Comment 12 Luis Villa 2002-05-22 22:42:34 UTC
Can you take a look at this, Michael?
Comment 13 Michael Meeks 2002-05-23 07:47:21 UTC
John, can you go up several stack frames and do:

$ p strlen (uri)
$ p uri [0]
$ p uri [1]
$ p uri [2]
...

until it prints a 0 for the value ? so we can see what is actually in
the string :-)
Comment 14 Michael Meeks 2002-05-23 07:52:16 UTC
caught it, just a silly assert in that method, re-factoring.
Comment 15 Michael Meeks 2002-05-23 08:36:21 UTC
I managed to repeat this, by reverting my D&D URI fix, so we put
unencoded (non UTF-8) URIs across, and managed to get a new window to
open somehow when I dragged the file.

It's un-repeatable in HEAD - I'm assuming it was fixed by the D&D fix
- although that would not explain the crash on opening the trash.

Also John the stack trace is pretty useless for debugging; if you can
still repeat the bug with snapshots as of last night, can you post a
full stack trace - the first 4 frames are always meaningless, and we
need to be able to trace right back to main, most times.

It looks like bug-buddy is barfing on some non-utf8 character in the
string that gdb prints, so it's possible you'll have to run nautilus
in gdb, type 'bt' when it crashes and post the full trace.

Thanks.
Comment 16 Michael Meeks 2002-05-23 08:47:24 UTC
oh, and I also moved the g_assert that blew further down that method,
below the bit to handle locale encoded filename translation - since it
was clearly broken where it was; should be in tommorrow's eel snapshot.
Comment 17 John Fleck 2002-05-25 13:20:31 UTC
Reopening. I still get the crash when double-clicking on the trash
icon to open trash. I don't get it any longer when dragging an item to
the trash (though nothing happens when I drag an item to the trash -
it doesn't go there).

First the terminal spew:

** (nautilus:1398): WARNING **: [Invalid UTF-8] Possibly invalid new
URI '! '
This can cause subtle evils like #48423

** (nautilus:1398): WARNING **: activation failed: g_module_open of
`libnautilus-history-view.so' failed with `/usr/lib/libnautilus.so.0:
undefined symbol: TC_string_struct'

** (nautilus:1398): WARNING **: activation failed: g_module_open of
`libnautilus-notes-view.so' failed with `/usr/lib/libnautilus.so.0:
undefined symbol: TC_string_struct'

** (nautilus:1398): WARNING **: activation failed: g_module_open of
`libnautilus-tree-view.so' failed with `/usr/lib/libnautilus.so.0:
undefined symbol: TC_string_struct'

** (nautilus:1398): WARNING **: A view failed. The UI will handle this
with a dialog but this should be debugged.

** (nautilus:1398): WARNING **: A view failed. The UI will handle this
with a dialog but this should be debugged.

** (nautilus:1398): WARNING **: A view failed. The UI will handle this
with a dialog but this should be debugged.

Eel-ERROR **: file eel-vfs-extensions.c: line 681
(eel_format_uri_for_display_internal): assertion failed:
(!canonical_uri || g_utf8_validate (canonical_uri, -1, NULL))
aborting...

****************************************************
Now backtracish stuff:
****************************************************
Program received signal SIGTRAP, Trace/breakpoint trap.

Thread 1024 (LWP 1398)

  • #0 g_logv
  • #1 g_log
  • #2 eel_format_uri_for_display_internal
    at eel-vfs-extensions.c line 681
  • #3 eel_format_uri_for_display
    at eel-vfs-extensions.c line 836
  • #4 determined_initial_view_callback
    at nautilus-window-manage-views.c line 1212
  • #5 got_file_info_callback
    at nautilus-applicable-views.c line 128
  • #6 ready_callback_call
    at nautilus-directory-async.c line 1210
  • #7 call_ready_callbacks
    at nautilus-directory-async.c line 1797
  • #8 nautilus_directory_async_state_changed
    at nautilus-directory-async.c line 3056
  • #9 execute_queued_functions
    at nautilus-idle-queue.c line 66
  • #10 g_idle_dispatch
    at gmain.c line 3129
  • #11 g_main_dispatch
    at gmain.c line 1617
  • #12 g_main_context_dispatch
    at gmain.c line 2161
  • #13 g_main_context_iterate
    at gmain.c line 2242
  • #14 g_main_loop_run
    at gmain.c line 2462
  • #15 gtk_main
    at gtkmain.c line 936
  • #16 main
    at nautilus-main.c line 263
  • #17 __libc_start_main
    at ../sysdeps/generic/libc-start.c line 129

Comment 18 Michael Meeks 2002-05-27 11:04:30 UTC
ok; I can repeat this if I put an invalid URI inside
~/.gnome-desktop/Trash - including OOB non-UTF-8 characters.

Can you attach your ~/.gnome-desktop/Trash file ?
Comment 19 Michael Meeks 2002-05-27 17:04:30 UTC
ok, got another fix for this then - pending Alex getting distcheck to
pass for the monday snaps.
Comment 20 John Fleck 2002-06-01 19:56:51 UTC
Created attachment 8930 [details]
old Trash file that was causing the crash
Comment 21 John Fleck 2002-06-01 19:57:21 UTC
As suggested, Michael, I'm attaching my old Trash file. Deleting it
solved the problem.