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 325586 - Nautilius crashed after trying to copy folder, with name in UNICODE (japanese)
Nautilius crashed after trying to copy folder, with name in UNICODE (japanese)
Status: RESOLVED FIXED
Product: nautilus
Classification: Core
Component: general
2.13.x
Other All
: High critical
: ---
Assigned To: Christian Neumair
Nautilus Maintainers
: 322356 330534 333208 333788 335376 335571 336115 337338 337340 339450 340758 341710 342292 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2006-01-03 08:45 UTC by Marcin Krupowicz
Modified: 2006-05-18 22:37 UTC
See Also:
GNOME target: ---
GNOME version: 2.13/2.14


Attachments
g_markup_printf_escaped testcase (605 bytes, patch)
2006-01-03 11:47 UTC, Christian Neumair
none Details | Review
"Crashing folder" (10.00 KB, application/x-tar)
2006-01-03 12:09 UTC, Marcin Krupowicz
  Details
Proposed (untested) patch (1.16 KB, patch)
2006-01-03 15:08 UTC, Christian Neumair
none Details | Review

Description Marcin Krupowicz 2006-01-03 08:45:54 UTC
Steps to reproduce:
1. trying to copy folder from local disc to usb device.
2. it happend after "dropping" mouse with selecter item to usb device
(mp3 player - Creative MuVo TX)


Stack trace:
Debugging Information:

Backtrace was generated from '/usr/bin/nautilus'
no debugging symbols found)
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
(no debugging symbols found)
`system-supplied DSO at 0xffffe000' has disappeared; keeping its
symbols.
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1226488128 (LWP 7773)]
[New Thread -1238369360 (LWP 8679)]
[New Thread -1236771920 (LWP 8431)]
[New Thread -1236100176 (LWP 7809)]
[New Thread -1235412048 (LWP 7806)]
[New Thread -1228788816 (LWP 7801)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
0xffffe410 in __kernel_vsyscall ()

Thread 1 (Thread -1226488128 (LWP 7773))

  • #0 __kernel_vsyscall
  • #1 __waitpid_nocancel
    from /lib/tls/i686/cmov/libpthread.so.0
  • #2 libgnomeui_module_info_get
    from /usr/lib/libgnomeui-2.so.0
  • #3 <signal handler called>
  • #4 g_markup_escape_text
    from /usr/lib/libglib-2.0.so.0
  • #5 g_markup_vprintf_escaped
    from /usr/lib/libglib-2.0.so.0
  • #6 g_markup_printf_escaped
    from /usr/lib/libglib-2.0.so.0
  • #7 nautilus_file_operations_progress_new_file
    from /usr/lib/libnautilus-private.so.2
  • #8 nautilus_file_operations_progress_resume_timeout
    from /usr/lib/libnautilus-private.so.2
  • #9 nautilus_file_operations_delete
    from /usr/lib/libnautilus-private.so.2
  • #10 _gnome_vfs_job_complete
    from /usr/lib/libgnomevfs-2.so.0
  • #11 g_child_watch_add
    from /usr/lib/libglib-2.0.so.0
  • #12 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #13 g_main_context_check
    from /usr/lib/libglib-2.0.so.0
  • #14 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #15 gtk_main
    from /usr/lib/libgtk-x11-2.0.so.0
  • #16 main
  • #0 __kernel_vsyscall


Other information:
This folder name:  "1990 - SKA PARA TÔJÔ". Mayby it isn't japanese, I don't know ;-)
Comment 1 Sebastien Bacher 2006-01-03 09:41:18 UTC
Thanks for the bug report. Unfortunately, that stack trace is not very useful in determining the cause of the crash. Can you get us one with debugging symbols? Please see http://live.gnome.org/GettingTraces for more information on how to do so.

What version of nautilus do you use? What filesystem is on the usb disk? Could you make a tar of the file and attach it to a comment? What locale do you use?
Comment 2 Christian Neumair 2006-01-03 11:47:03 UTC
Created attachment 56709 [details] [review]
g_markup_printf_escaped testcase

Maybe you could compile the attached testcase using

gcc -o pangoescapetest pangoescapetest.c `pkg-config --libs --cflags glib-2.0`

and try to pass the problematic file name like

./pangoescapetest "1990 - SKA PARA TÔJÔ"

?

It worked correctly for me, but maybe the terminal mangled the characters.

We're extremely interested in further feedback, especially if you're able to reproduce this issue.
Comment 3 Marcin Krupowicz 2006-01-03 12:09:48 UTC
Created attachment 56710 [details]
"Crashing folder"
Comment 4 Marcin Krupowicz 2006-01-03 12:10:37 UTC
Hi!
All right, here is a backtrace with debugging symbols (is it ok?)

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

Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
`system-supplied DSO at 0xffffe000' has disappeared; keeping its symbols.
[Thread debugging using libthread_db enabled]
[New Thread -1225722176 (LWP 7777)]
[New Thread -1236239440 (LWP 8211)]
[New Thread -1235305552 (LWP 7813)]
[New Thread -1234646096 (LWP 7812)]
[New Thread -1228022864 (LWP 7807)]
0xffffe410 in __kernel_vsyscall ()

Thread 1 (Thread -1225722176 (LWP 7777))

  • #0 __kernel_vsyscall
  • #1 __waitpid_nocancel
    from /lib/tls/i686/cmov/libpthread.so.0
  • #2 libgnomeui_module_info_get
    from /usr/lib/libgnomeui-2.so.0
  • #3 <signal handler called>
  • #4 g_markup_escape_text
    from /usr/lib/libglib-2.0.so.0
  • #5 g_markup_vprintf_escaped
    from /usr/lib/libglib-2.0.so.0
  • #6 g_markup_printf_escaped
    from /usr/lib/libglib-2.0.so.0
  • #7 nautilus_file_operations_progress_new_file
    at nautilus-file-operations-progress.c line 583

I hope it is this, what you mean.

I use Nautilus 2.12.1, pl_PL locales. 
I've just discover, that it isn't matter where I copy this folder. It is doesn't matter also what is inside this dir. In attachment I give you tarball of this empty folder.
Comment 5 Marcin Krupowicz 2006-01-03 12:28:11 UTC
I can't compile this program with
gcc -o pangoescapetest pangoescapetest.c `pkg-config --libs --cflags glib-2.0`

mk@cinu:/tmp$ pkg-config --libs --cflags glib-2.0
Package glib-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `glib-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'glib-2.0' found

Sorry, I don't know what to do ;-) I use Ubuntu 5.10.

One more thing: If I copy the name of dir, and create new with this same name it is OK. It aren't excactly this same name:
mk@cinu:/tmp$ ls
1990 - SKA PARA TĂ?JĂ?  1990 - SKA PARA TÔJÔ

nautlius crash with the second "version".

> It worked correctly for me, but maybe the terminal mangled the characters.
Maybe this is this same problem?
Comment 6 Sebastien Bacher 2006-01-03 12:56:01 UTC
Thanks for your bug. Your backtrace lack 
Comment 7 Sebastien Bacher 2006-01-03 12:59:18 UTC
Ups, wrong comment. Thanks for following on that. Your backtrace lacks the debug informations for glib, you need to install libglib2.0-0-dbg for that. To build the small program you need the libglib2.0-dev package
Comment 8 Sebastien Bacher 2006-01-03 13:02:09 UTC
are you sure than the attachement is a tar? It seems to be a text string in fact
Comment 9 Marcin Krupowicz 2006-01-03 13:09:28 UTC
(In reply to comment #8)
> are you sure than the attachement is a tar? It seems to be a text string in
> fact

This is empty dir, there is no files.

I run tar -cf dir.tar 1990\ -\ SKA\ PARA\ TÔJÔ/
Comment 10 Sebastien Bacher 2006-01-03 13:12:57 UTC
Right, it's a tar and the crashes still happens with the current tarball of GNOME and with the small piece of code:

Program received signal SIGSEGV, Segmentation fault.
0xb7ed87b8 in IA__g_markup_escape_text (text=0x806b000 <Address 0x806b000 out of bounds>, length=20) at gmarkup.c:1890
1890          next = g_utf8_next_char (p);

Reassign the bug to glib
Comment 11 Matthias Clasen 2006-01-03 13:28:14 UTC
Why ? 

If nautilus feeds non-UTF-8 to g_markup_printf_escaped(), thats not GLib's fault
Comment 12 Sebastien Bacher 2006-01-03 14:16:34 UTC
glib should probably not crash though ...
Comment 13 Christian Neumair 2006-01-03 15:06:56 UTC
Sebastien: The glib docs explicitly state that the input must be "some valid UTF-8 text". gnome_vfs_uri_extract_short_name doesn't neccessarily return valid UTF-8, though.
Comment 14 Christian Neumair 2006-01-03 15:08:52 UTC
Created attachment 56716 [details] [review]
Proposed (untested) patch
Comment 15 Sebastien Bacher 2006-01-21 23:03:53 UTC
Ubuntu bug about that: https://launchpad.net/distros/ubuntu/+source/nautilus/+bug/29315
Comment 16 Martin Wehner 2006-01-26 00:37:50 UTC
It's fixed on both branches. I fixed it a slighty different way, Manny - thanks anyway.

2006-01-26  Martin Wehner  <martin.wehner@gmail.com>

	* libnautilus-private/nautilus-file-operations.c:
	(progress_dialog_set_to_from_item_text):
	Use nautilus_get_uri_shortname_for_display to avoid
	crashing g_markup with invalid utf-8. Fixes #325586.
Comment 17 Martin Wehner 2006-01-26 00:39:39 UTC
*** Bug 322356 has been marked as a duplicate of this bug. ***
Comment 18 Karsten Bräckelmann 2006-02-09 20:59:06 UTC
*** Bug 330534 has been marked as a duplicate of this bug. ***
Comment 19 Martin Wehner 2006-03-06 19:35:23 UTC
*** Bug 333208 has been marked as a duplicate of this bug. ***
Comment 20 Sergej Kotliar 2006-03-07 22:12:58 UTC
*** Bug 333788 has been marked as a duplicate of this bug. ***
Comment 21 Sergej Kotliar 2006-03-21 20:01:18 UTC
*** Bug 335376 has been marked as a duplicate of this bug. ***
Comment 22 Sergej Kotliar 2006-03-26 22:18:32 UTC
*** Bug 335571 has been marked as a duplicate of this bug. ***
Comment 23 Sergej Kotliar 2006-03-26 22:19:57 UTC
*** Bug 336115 has been marked as a duplicate of this bug. ***
Comment 24 Christian Neumair 2006-03-27 10:13:59 UTC
http://mail.gnome.org/archives/gnome-vfs-list/2006-March/msg00041.html may fix this issue.
Comment 25 Fabio Bonelli 2006-04-05 10:50:45 UTC
*** Bug 337340 has been marked as a duplicate of this bug. ***
Comment 26 Fabio Bonelli 2006-04-05 10:51:05 UTC
*** Bug 337338 has been marked as a duplicate of this bug. ***
Comment 27 Fabio Bonelli 2006-04-23 11:23:31 UTC
*** Bug 339450 has been marked as a duplicate of this bug. ***
Comment 28 Sergej Kotliar 2006-05-05 19:38:57 UTC
*** Bug 340758 has been marked as a duplicate of this bug. ***
Comment 29 Fabio Bonelli 2006-05-14 09:29:03 UTC
*** Bug 341710 has been marked as a duplicate of this bug. ***
Comment 30 Fabio Bonelli 2006-05-18 22:37:55 UTC
*** Bug 342292 has been marked as a duplicate of this bug. ***