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 ---

Reply via email to