Your message dated Sat, 02 Feb 2019 19:33:44 +0000
with message-id <e1gq12u-0002al...@fasolo.debian.org>
and subject line Bug#919616: Removed package(s) from unstable
has caused the Debian Bug report #813959,
regarding pxz: silent data corruption when write to temporary file fails (eg
TMPDIR is full)
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 this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)
--
813959: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=813959
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: pxz
Version: 4.999.99~beta5+gitfcfea93-1
Severity: important
Dear Maintainer,
pxz seems to ignore errors when writing to the temporary output
files used by the parallel compression threads, and silently
creates a corrupted output file.
to reproduce the bug (by using an extremely small /tmp dir, and
the bash builtin random number generator as a data source):
# mkdir -p /tmp
# mount -t tmpfs tmpfs /tmp/ -o size=512k
# RANDOM=0; while [[ true ]]; do echo $RANDOM; done | dd bs=1M
iflag=fullblock count=4 | ltrace -s0 -f -o trace pxz -T16 -f > out.bin.xz
observe the corrupted output file:
xz -l out.bin.xz
xz: out.bin.xz: File format not recognized
also observe the failed writes (where the number of bytes to
write out is not equal to the number of bytes actually written):
# awk '/fwrite/{ if(int($4) != int($7)){ print $0; } }' < trace
32159 fwrite(""..., 1, 61444, 0x1c380e0)
= 32705
32159 fwrite(""..., 1, 61444, 0x1c380e0)
= 4096
32159 fwrite(""..., 1, 61444, 0x1c380e0)
= 4096
32159 fwrite(""..., 1, 61444, 0x1c380e0)
= 4096
...
if you use strace instead of ltrace, you can see the actual ENOSPC error:
# RANDOM=0; while [[ true ]]; do echo $RANDOM; done | dd bs=1M
iflag=fullblock count=4 | strace -s0 -f -o trace pxz -T16 -f > out.bin.xz
# grep 'write.* = -1' trace
32241 write(3, ""..., 28672) = -1 ENOSPC (No space left on
device)
32241 write(3, ""..., 4096) = -1 ENOSPC (No space left on
device)
32241 write(3, ""..., 4096) = -1 ENOSPC (No space left on
device)
32241 write(3, ""..., 4096) = -1 ENOSPC (No space left on
device)
...
looking at pxz's source in the git repository, the error
checking after some fwrite() calls is erroneous:
https://github.com/jnovy/pxz/blob/fcfea93/pxz.c#L391
https://github.com/jnovy/pxz/blob/fcfea93/pxz.c#L408
if ( !fwrite(mo, 1, BUFFSIZE - strm.avail_out, ftemp[p]) ) {
error(EXIT_FAILURE, errno, "writing to temp file failed");
}
it should be at least
if ( fwrite(mo, 1, BUFFSIZE - strm.avail_out, ftemp[p]) != BUFFSIZE -
strm.avail_out ) {
just like at other parts of the program.
-- System Information:
Debian Release: 8.0
APT prefers stable
APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
Versions of packages pxz depends on:
ii libc6 2.19-18+deb8u1
ii libgomp1 4.9.2-10
ii liblzma5 5.1.1alpha+20120614-2+b3
pxz recommends no packages.
pxz suggests no packages.
-- no debconf information
--
mazsi
----------------------------------------------------------------
strawberry fields forever! mazsi-debian-b...@imrek.org
----------------------------------------------------------------
--- End Message ---
--- Begin Message ---
Version: 4.999.99~beta5+gitfcfea93-5+rm
Dear submitter,
as the package pxz has just been removed from the Debian archive
unstable we hereby close the associated bug reports. We are sorry
that we couldn't deal with your issue properly.
For details on the removal, please see https://bugs.debian.org/919616
The version of this package that was in Debian prior to this removal
can still be found using http://snapshot.debian.org/.
This message was generated automatically; if you believe that there is
a problem with it please contact the archive administrators by mailing
ftpmas...@ftp-master.debian.org.
Debian distribution maintenance software
pp.
Scott Kitterman (the ftpmaster behind the curtain)
--- End Message ---