GNOME Bugzilla – Bug 325586
Nautilius crashed after trying to copy folder, with name in UNICODE (japanese)
Last modified: 2006-05-18 22:37:55 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 ()
+ Trace 64928
Thread 1 (Thread -1226488128 (LWP 7773))
Other information: This folder name: "1990 - SKA PARA TÔJÔ". Mayby it isn't japanese, I don't know ;-)
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?
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.
Created attachment 56710 [details] "Crashing folder"
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 ()
+ Trace 64930
Thread 1 (Thread -1225722176 (LWP 7777))
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.
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?
Thanks for your bug. Your backtrace lack
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
are you sure than the attachement is a tar? It seems to be a text string in fact
(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Ô/
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
Why ? If nautilus feeds non-UTF-8 to g_markup_printf_escaped(), thats not GLib's fault
glib should probably not crash though ...
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.
Created attachment 56716 [details] [review] Proposed (untested) patch
Ubuntu bug about that: https://launchpad.net/distros/ubuntu/+source/nautilus/+bug/29315
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.
*** Bug 322356 has been marked as a duplicate of this bug. ***
*** Bug 330534 has been marked as a duplicate of this bug. ***
*** Bug 333208 has been marked as a duplicate of this bug. ***
*** Bug 333788 has been marked as a duplicate of this bug. ***
*** Bug 335376 has been marked as a duplicate of this bug. ***
*** Bug 335571 has been marked as a duplicate of this bug. ***
*** Bug 336115 has been marked as a duplicate of this bug. ***
http://mail.gnome.org/archives/gnome-vfs-list/2006-March/msg00041.html may fix this issue.
*** Bug 337340 has been marked as a duplicate of this bug. ***
*** Bug 337338 has been marked as a duplicate of this bug. ***
*** Bug 339450 has been marked as a duplicate of this bug. ***
*** Bug 340758 has been marked as a duplicate of this bug. ***
*** Bug 341710 has been marked as a duplicate of this bug. ***
*** Bug 342292 has been marked as a duplicate of this bug. ***