GNOME Bugzilla – Bug 450622
Export to CD works unreliable
Last modified: 2008-12-31 17:39:17 UTC
Please describe the problem: Hi, I'm running Ubuntu Feisty with F-Spot 0.3.5. The export of pictures to CD works unreliable - there seems to be a timing issue. I select some images, export them to cd. F-Spot looks like it is copying the files to the temporary directory where all files are stored that should be burned. But then, when it starts up the cd burn frontend, it shows the following message: In german: "CD/DVD konnte nicht erstellt werden. Keine Dateien ausgewählt." The message translated to english should be Unable to create CD/DVD No files were selected. There seems to be some one else having this problem on ubuntu, see http://gnomesupport.org/forums/viewtopic.php?t=11834 In most of the times I get this error message - but sometimes, the export works as expected. Some little statistics: Out of 13 tries to export pictures to CD, 3 worked. I confirmed this on a second notebook also running Ubuntu Feisty with F-Spot 0.3.5. Steps to reproduce: 1. select some images 2. export them to CD Actual results: Error Message "CD/DVD konnte nicht erstellt werden. Keine Dateien ausgewählt." The message translated to english should be Unable to create CD/DVD No files were selected. Expected results: The export should work. Does this happen every time? No, from 13 tries 3 succeeded, 10 failed. Other information: I also entered a bug into the ubuntu bug system, see https://bugs.launchpad.net/ubuntu/+source/f-spot/+bug/77133
Created attachment 90554 [details] Screenshot showing error This screenshot shows the error message.
Hi, I just analyzed the problem a little bit on my machine. My first thought was, that there is a timing problem. Therefore, I got the sourcecode from the Ubuntu repository, and patched the File CDExport.cs to include a sleep of 10 sec before it calls nautilus-cd-burner in the Transfer() Method: --------- extract from CDExport.cs ------------- if (result == Gnome.Vfs.Result.Ok) { System.Console.WriteLine("##### Gnome.Vfs.Xfer.XferUri returned OK"); System.Console.WriteLine("##### Due to bug, sleep 10 sec"); System.Threading.Thread.Sleep(10000); System.Console.WriteLine("##### Sleep done, now it shoud work hopefully"); progress_dialog.Message = Catalog.GetString ("Done Sending Photos"); progress_dialog.Fraction = 1.0; progress_dialog.ProgressText = Catalog.GetString ("Transfer Complete"); progress_dialog.ButtonLabel = Gtk.Stock.Ok; progress_dialog.Hide (); system ("nautilus-cd-burner"); } else { ------------- Well, I don't know if that was a stupid idea, but it did not change the behaviour (besides the effect that I had to wait 10 secs in each trial to export files to cd...). That is, sometimes (seldom) it works, and very often it does not work. During my trials, I examined the directory /tmp/virtual-jens.oVFB78t, where all the exported photos seems to be copied. The interesting thing is that although nautilus-cd-burner complains that no files have been selected for burning, f-spot (or the gnome-vfs) copies files to this directory. After 10 tries (each with two photos selected for export), the directory looks like the following: jens@toshiba:/tmp/virtual-jens.oVFB78$ ls -lrt insgesamt 3960 -rw-r--r-- 1 jens jens 186401 2006-12-27 20:13 file.I898TT -rw-r--r-- 1 jens jens 207567 2006-12-27 20:13 file.0WEWTT -rw-r--r-- 1 jens jens 186401 2007-06-24 18:13 file.KG13TT -rw-r--r-- 1 jens jens 207567 2007-06-24 18:13 file.IMEEUT -rw-r--r-- 1 jens jens 186401 2007-06-24 18:14 file.H4VDUT -rw-r--r-- 1 jens jens 207567 2007-06-24 18:14 file.6UMZTT -rw-r--r-- 1 jens jens 186401 2007-06-24 18:15 file.BEL7TT -rw-r--r-- 1 jens jens 207567 2007-06-24 18:15 file.0C2EUT -rw-r--r-- 1 jens jens 186401 2007-06-24 18:15 file.VLLVTT -rw-r--r-- 1 jens jens 207567 2007-06-24 18:15 file.P8B6TT -rw-r--r-- 1 jens jens 207567 2007-06-24 18:15 file.UTEBUT -rw-r--r-- 1 jens jens 186401 2007-06-24 18:15 file.4BX0TT -rw-r--r-- 1 jens jens 186401 2007-06-24 18:16 file.IDO1TT -rw-r--r-- 1 jens jens 207567 2007-06-24 18:16 file.FWC9TT -rw-r--r-- 1 jens jens 186401 2007-06-24 18:16 file.9VS9TT -rw-r--r-- 1 jens jens 207567 2007-06-24 18:16 file.13SVTT -rw-r--r-- 1 jens jens 186401 2007-06-24 18:17 file.NOI5TT -rw-r--r-- 1 jens jens 207567 2007-06-24 18:17 file.IRF9TT -rw-r--r-- 1 jens jens 186401 2007-06-24 18:17 file.E1VZTT -rw-r--r-- 1 jens jens 207567 2007-06-24 18:17 file.1C04TT Please note that this is the directory after 10 trials, and the last one succeeded. Have a look at the timestamps. All unsuccessfull tries lead to files with a timestamp of today (2007-06-24). And with the last, successfull try the two files on the top appeared - with the timestamp 2006-12-27, that is the original timestamp of the photos. Only these two files are shown in the "Burn location". And if I delete these two files, the burn location is empty again. I will include a screenshot of this. All the other files don't have any effect on the nautilus-cd-burner. Now I'm a little bit lost - but I don't think any longer that this is a timing issue, but has something todo with the gnome-vfs. If you need more information, please let me know. Regards Jens
Created attachment 90565 [details] Screenshot belonging to comment #2 - Burn location This screenshot shows the "Burn location" (in German be found in Orte->CD/DVD Ersteller, don't know how it's called in english). You can see that although in the directory /tmp/virtual-jens.oVFB78 20 files are lying, only two of them are shown here, with the timestamp 2006-12-27 20:13.
Hi, I just tried to analyse a little bit more and found some coincidence. If nautilus is running when I try to export files to cd from f-spot, it is very very likely that I got the error. The problem is that nautilus is always running in the ubuntu gnome session. I removed the nautilus process with jens@toshiba:~$ gnome-session-remove nautilus and after that, the cd export works as it should! I repeated this several times to be sure - and it is very clear. If I remove nautilus, it works, if I start nautilus again, it isn't working. I don't even have to shut down f-spot between removing and starting nautilus to see the difference. So for me it seems to be clear that a running nautilus instance somehow is the reason for this bug. Regards Jens
New Infos: I managed to install a debug version of the mapping-daemon (by the way, how should the orignal profile_log method work? I changed it to write to a file). The interesting thing is that in the case the export fails, you can see that right after the operation MAPPING_PROTOCOL_OP_CREATE_FILE the mapping daemon receives a request MAPPING_PROTOCOL_OP_REMOVE_FILE to delete the file again. This MAPPING_PROTOCOL_OP_REMOVE_FILE is missing when the export succeeds (i.e. nautilus is not running). So I think that somehow nautilus monitors the burn directory and immediately sends out a remove operation to the mapping daemon. That maybe also the solution why it sometimes works - it seems to be a race condition if nautilus is running during the export. Most of the time the remove operation is "fast enough" to let the export fail, but sometimes nautilus is to slow to send out the remove operation. But it still has to be investigated why this remove operation is done by nautilus. Regards Jens
Created attachment 90900 [details] logfile of the mapping daemon showing success
Created attachment 90901 [details] logfile of the mapping daemon showing error See the remove operation in the logfile
More info here: https://bugzilla.novell.com/show_bug.cgi?id=304498
I cannot reproduce this, and it's been quite a while since anybody could. Please reopen if you can still get this error. I'm assuming it's been fixed.