Your message dated Fri, 12 Oct 2007 14:32:02 +0000
with message-id <[EMAIL PROTECTED]>
and subject line Bug#446351: fixed in fakeroot 1.8.2
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: fakeroot
Version: 1.7.1ubuntu1
Severity: important

--- Please enter the report below this line. ---

This is related to #381016, but different. This may or may not be
the root cause of #444446.

When fakeroot terminates, a signal is sent to the faked process which
tells it to exit after processing all pending messages.  Unfortunately
some write messages may still be pending in the kernel buffers at this
time, regardless of the communications style (TCP or SysV IPC).

Here is a script that demonstrates the problem:

  for i in `seq 1 100`; do
    rm -f fakeroot.state 2>/dev/null
    fakeroot -s fakeroot.state mknod null c 1 3
    sleep 1
    fakeroot -i fakeroot.state -s fakeroot.state ls -l null
  done

The output on my system is:

  -rw-r--r-- 1 root root 0 2007-10-12 13:19 null
  -rw-r--r-- 1 root root 0 2007-10-12 13:19 null
  -rw-r--r-- 1 root root 0 2007-10-12 13:19 null
  -rw-r--r-- 1 root root 0 2007-10-12 13:19 null

meaning that the mknod command doesn't make it to the save file,
in time, despite the sleep 1 (the latter being there to discriminate
from another race condition, see bug #381016).

To fix that one only needs to issue a single synchronous command
that talks to faked, such as "ls -l /", before sending the signal.

A combined fix to #381016 and this bug is to replace the line

  trap "kill -s TERM $PID ; wait $PID >/dev/null 2>&1" EXIT INT

with

  trap 'FAKEROOTKEY=$FAKEROOTKEY LD_LIBRARY_PATH="$PATHS"  LD_PRELOAD="$LIB" 
/bin/ls -l / > /dev/null; while kill -s TERM $PID 2>/dev/null; do sleep 0; 
done' EXIT INT

This could certainly use some refactoring :-) but now fakeroot -s
works properly.

Fix also tested for fakeroot 1.5.10 btw.

--- System information. ---
Architecture: i386
Kernel:       Linux 2.6.20-16-lowlatency

Debian Release: 4.0
  500 feisty-updates  fr.archive.ubuntu.com 
  500 feisty-security fr.archive.ubuntu.com 
  500 feisty-commercial archive.canonical.com 
  500 feisty-cafuego  au.ubuntu.cafuego.net 
  500 feisty-backports fr.archive.ubuntu.com 
  500 feisty          www.in.fh-merseburg.de 
  500 feisty          fr.packages.medibuntu.org 
  500 feisty          fr.archive.ubuntu.com 
  500 Seveas          mirror2.ubuntulinux.nl 
   50 gutsy-updates   fr.archive.ubuntu.com 
   50 gutsy-security  fr.archive.ubuntu.com 
   50 gutsy-backports fr.archive.ubuntu.com 
   50 gutsy           fr.archive.ubuntu.com 

--- Package information. ---
Depends              (Version) | Installed
==============================-+-==================
libc6        (>= 2.5-0ubuntu1) | 2.5-0ubuntu14





--- End Message ---
--- Begin Message ---
Source: fakeroot
Source-Version: 1.8.2

We believe that the bug you reported is fixed in the latest version of
fakeroot, which is due to be installed in the Debian FTP archive:

fakeroot_1.8.2.dsc
  to pool/main/f/fakeroot/fakeroot_1.8.2.dsc
fakeroot_1.8.2.tar.gz
  to pool/main/f/fakeroot/fakeroot_1.8.2.tar.gz
fakeroot_1.8.2_i386.deb
  to pool/main/f/fakeroot/fakeroot_1.8.2_i386.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [EMAIL PROTECTED],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Clint Adams <[EMAIL PROTECTED]> (supplier of updated fakeroot package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [EMAIL PROTECTED])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Fri, 12 Oct 2007 10:09:48 -0400
Source: fakeroot
Binary: fakeroot
Architecture: source i386
Version: 1.8.2
Distribution: unstable
Urgency: low
Maintainer: Clint Adams <[EMAIL PROTECTED]>
Changed-By: Clint Adams <[EMAIL PROTECTED]>
Description: 
 fakeroot   - Gives a fake root environment
Closes: 381016 446351
Changes: 
 fakeroot (1.8.2) unstable; urgency=low
 .
   * Apply fix from Dominique Quatravaux to avoid race condition with
     save files.  closes: #446351, #381016.
Files: 
 39870acba9a2d4adf803179f02ee8b14 623 utils optional fakeroot_1.8.2.dsc
 782a1b78dca79da13e2f0e3f566ed06d 397350 utils optional fakeroot_1.8.2.tar.gz
 870f887c6ed05392f92964d16d7598d4 110198 utils optional fakeroot_1.8.2_i386.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Debian!

iD8DBQFHD4L45m0u66uWM3ARAv/hAJ0X0Mx7E2xzKQ/Jecc/km/3dm0cSACg32KH
gf81svus5nUyOUnX8odw+aY=
=TajT
-----END PGP SIGNATURE-----



--- End Message ---

Reply via email to