From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20041111 Firefox/1.0 Description of problem: Whenever I burn a CD, xcdroast says "Error writing tracks" in the status bar at the top of the burn window at the end, even when there were apparently no errors. Log file attached. Version-Release number of selected component (if applicable): xcdroast-0.98a15-8 How reproducible: Always Steps to Reproduce: 1. Burn an ISO image using xcdroast Actual Results: It said "Error writing tracks" Expected Results: "Success" or similar Additional info: Kernel version: kernel-2.6.10-1.741_FC3 cdrecord version: cdrecord-2.01.1-5
Created attachment 110363 [details] A cdrecord log
Created attachment 110364 [details] Another cdrecord log
I think the problem lies in the way xcdroast determines the exit status code of some of its child processes. For example, read_write_out() in src/io.c: /* pick up return status of child */ waitpid((pid_t)readcdda_pid, &ret, WNOHANG); read_done = WEXITSTATUS(ret); Since the WNOHANG flag is used in the waitpid() call, we can't be sure the child has really exited, successfully or not, at the moment the read_done variable is assigned. A possible work-around could be something like: /* pick up return status of child */ retries = 100; do { if (waitpid((pid_t)readcdda_pid, &ret, WNOHANG) == (pid_t)readcdda_pid) { if (WIFEXITED(ret)) { read_done = WEXITSTATUS(ret); break; } } usleep(10000); } while (--retries > 0); if (read_done == 999) read_done = -1; However, this approach may have the disadvantage of freezing the GUI for a while -- although it wouldn't be forever even if the child cdrecord process was stuck in some uninterruptible system call.
good catch! :) Thx!
Fedora Core 3 is now maintained by the Fedora Legacy project for security updates only. If this problem is a security issue, please reopen and reassign to the Fedora Legacy product. If it is not a security issue and hasn't been resolved in the current FC5 updates or in the FC6 test release, reopen and change the version to match. Thank you!
Fedora Core 3 is not maintained anymore. Setting status to "INSUFFICIENT_DATA". If you can reproduce this bug in the current Fedora release please reopen this bug.