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