GNOME Bugzilla – Bug 538060
Brasero fails to read cue file when PATH contains a non fully qualified path
Last modified: 2009-11-22 20:02:14 UTC
Please describe the problem: When trying to open a cue file with Brasero, if the cue file does not contain a full path to the relevant file then Brasero fails to load it. e.g. Works: FILE "/home/moogman/file.mp3" MP3 Does not work: FILE "file.mp3" MP3 I'd expect that Brasero checks the cue file directory for the FILE. Steps to reproduce: 1. Have a (valid) file available (e.g. file.mp3) 2. Create a cue file (e.g. file.cue) with the contents: FILE "file.mp3" MP3 TRACK 01 AUDIO TITLE "Test" INDEX 01 00:00:00 3. Run Brasero on the cue file: brasero -i file:///home/moogman/Desktop/file.cue 4. Click "Burn". Actual results: After clicking "Burn", Brasero complains that it cannot find the file. "Error while burning: size can't be retrieved for file.mp3: No such file or directory." Expected results: Brasero searches the cue file directory and finds the mp3 file. Does this happen every time? If Brasero's pwd != cue/target file directory, this problem exists. If Brasero's pwd == cue/target file directory, then Brasero seems to pick up the target file OK. Other information: Session log: Checking session consistency (brasero_burn_check_session_consistency burn.c:1714) Inconsistent flag: you can't use flag on_the_fly (brasero_burn_check_session_consistency burn.c:1810) BraseroLocalTrack called brasero_job_get_action BraseroLocalTrack called brasero_job_get_action BraseroLocalTrack stopping BraseroLocalTrack called brasero_job_get_action BraseroLocalTrack output set (IMAGE) image = /tmp/brasero_tmp_TLNXCU.bin toc = /tmp/brasero_tmp_TLNXCU BraseroLocalTrack called brasero_job_get_session_output_size BraseroLocalTrack called brasero_job_get_action BraseroLocalTrack called brasero_job_get_current_track BraseroLocalTrack called brasero_job_get_input_type BraseroLocalTrack no foreign URIs BraseroLocalTrack stopping BraseroCdrdao called brasero_job_get_action BraseroCdrdao getting varg BraseroCdrdao called brasero_job_get_action BraseroCdrdao called brasero_job_get_current_track BraseroCdrdao got varg: BraseroCdrdao deactivating Session error : size can't be retrieved for file.mp3: No such file or directory (brasero_burn_record burn.c:2270)
Created attachment 112642 [details] Debug output from brasero -i file:///home/moogman/Desktop/file.cue -g | tee debug.out 2>&1
Running an strace gives the following: write(1, "(brasero:24892): BraseroBurn-DEB"..., 92(brasero:24892): BraseroBurn-DEBUG: At burn-task.c:391: Trying to set a default output size ) = 92 open("/home/moogman/Desktop/file.cue", O_RDONLY|O_LARGEFILE) = 27 fstat64(27, {st_mode=S_IFREG|0644, st_size=77, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb4eee000 read(27, "FILE \"file.mp3\" MP3\r\n TRACK 01 "..., 4096) = 77 lstat64("file.mp3", 0xbfb338b8) = -1 ENOENT (No such file or directory) write(1, "(brasero:24892): BraseroBurn-DEB"..., 86(brasero:24892): BraseroBurn-DEBUG: At burn-task.c:164: BraseroCdrdao already stopped
Bug also downstream @ Ubuntu : https://bugs.launchpad.net/brasero/+bug/202546
I can confirm this problem for 0.7.1. Now I fixed it for the upcoming version 0.8.x. You can try 0.7.90 if you want that contains the fix. Thanks for your report.
I can confirm this bug has not been fixed in (at least) 0.8.2, not sure about 0.8.4 (or current svn) though. This is also mentioned in the associated downstream Ubuntu bug: https://bugs.launchpad.net/brasero/+bug/202546 (Therefore I am re-opening this bug).
This should be fixed since 2.26 for cdrdao plugin and since 2.29.3 (current master) for cdrecord and wodim plugins. Thanks for your patience.