GNOME Bugzilla – Bug 149486
NCB eats up my CPU when using broken filenames
Last modified: 2006-01-03 20:53:45 UTC
1. Create a file with an invalid utf8 filename (or download your favorite one from a windows share) 2. Insert a blank dvd or cd. 3. Copy the file to burn:/// 4. Try to burn 5. See the wonderful burn option dialog 6. Press okay 7. See the even more wonderful burn progress dialog and watch it while it eats up your cpu without the funny cycling disk picture.
Which version of nautilus-cd-burner are you using? With a recent version, get the output of nautilus-cd-burner with /apps/nautilus-cd-burner/debug enabled.
The one which is included in debian unstable, 2.6.1 . I'm going to give you more info in two weeks when I'm back at work.
So, I still have this problem and here's a tarball to reproduce: unpack the tarball, compile the file using the compile script, it should create a file called "Bröken Filename" according to ISO-8859-1(5). As 'ö' has got a code bigger than 127 according to UTF-8 another character bigger than 127 is required, that's why natilus should display somthing like "Bröken Filename (Broken UTF-8)". If you try to burn the directory containing the file with the non-utf8 name, ncb uses 100% of CPU and doesn't seem to do anything useful.
Created attachment 31192 [details] Testcase
Confirmed here with ncb 2.8.5. According to the nautilus-cd-burner debug output: launching command: mkisofs -r -J -input-charset utf8 -q -graft-points -path-list /tmp/iso-seb128.4zeMAE/filelist -print-size launching command: mkisofs -r -J -graft-points -path-list /tmp/iso-seb128.4zeMAE/filelist -V test -o /tmp/image.iso make_iso stderr: INFO: UTF-8 character encoding detected by locale settings. make_iso stderr: Assuming UTF-8 encoded filenames on source filesystem, make_iso stderr: use -input-charset to override. make_iso stderr: Incorrectly encoded string (Br\uffffken Filename) encountered. make_iso stderr: Possibly creating an invalid Joliet extension. Aborting.
This bug is particularly annoying when catching the files to burn from a vfat partition whose charset is not correctly set. All filenames with a no-standard character will make nautilus-cd-burner eat cpu cycles without doing anything.
Could any of you attach a tarball with a file with a broken filename? (can be an empty file) So that I can reproduce the bug, and see if it's corrected.
Created attachment 34121 [details] bugged filename
There's also the testcase committed by me, which creates a broken filename (att 31192)
2004-12-04 Bastien Nocera <hadess@hadess.net> * make-iso.c: (mkisofs_stderr_read), (make_iso): * nautilus-cd-burner.c: (burn_cd): When an incorrectly encoded file is to be added to an image, we need to error out. Also force utf8 encoding on the command-line when building the image (Closes: #149486)
Just as a note: The change in nautilus-cd-burner.c (forcing utf8 on the command-line for mkisofs) breaks nautilus-cd-burner totally on all systems using an unpatched version of mkisofs, since mkisofs *does not* support utf8 at all, if not patched. I do not know which Linux distributions silently ship patched versions of mkisofs, but the offical mkisofs does not support utf8. In FreeBSD for example (which has the official version of mkisofs) CD burning with Nautilus is just plain broken now. Thanks for listening.
*** Bug 325346 has been marked as a duplicate of this bug. ***