Bug#681694: brasero: Properly watch the child process state
George Danchev
danchev at spnet.net
Sun Jul 15 17:41:37 UTC 2012
Source: brasero
Version: 3.4.1-2
Severity: normal
Tags: upstream patch
Dear Maintainer,
Please consider answering these questions, where appropriate ***
In libbrasero-burn/burn-process.c:brasero_process_watch_child (gpointer data)
waitpid() could have returned positive value (child's pid) due to the
child's change of state, e.g. child being signalled for any (obscure)
reason (SIGPIPE, SIGSTOP, etc), and also child's exit status is being
blindly "examined" by flat WEXITSTATUS(status), instead of first checking
WIFEXITED(status) for returning true, i.e. that the child has actually exited.
This could lead to unnoticed problem with the child process state. For
instance, I think the log message [1] of "process finished with status
0" could be pretty much bogus in this particular case shown in the log with
a burn failure halfway around ~49-50%. (see the tail of waitpid(2) for a good
example of a diligent parent waiting for their possibly naughty child)
[1] https://launchpadlibrarian.net/71440716/brasero_log.txt
-- System Information:
Debian Release: wheezy/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 3.2.0-3-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
-- no debconf information
-------------- next part --------------
A non-text attachment was scrubbed...
Name: child-waiting-error-handling.patch
Type: text/x-diff
Size: 2285 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-gnome-maintainers/attachments/20120715/49bd4ec3/attachment.patch>
More information about the pkg-gnome-maintainers
mailing list