Package: xz-utils
Version: 5.1.1alpha+20120614-2+b3
Severity: important
Tags: newcomer



I noticed that xzcmp returns status code 2 (error) for a few file pairs, 
especially if they differ in size.

After some investigation, I found out that exit status 141 (SIGPIPE) is raised 
by the xz-commands, because cmp seems to have already quit after it found the 
first difference between the two streams. After that, the two xz commands write 
into the broken pipe.

The exit status of the two xz commands is written into $xz_status . At the end 
of the script, if $xz_status is not 0, then xzcmp's exit status will become 2 
(although the actual CMP did work fine in this specific case)


Workaround:

If the following line is added, the signal SIGPIPE (exit status 141) will not 
be raised by the xz commands, and thus, the xzdiff process will return the 
correct exit code:

trap '' PIPE



-- System Information:
Debian Release: 8.6
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.16.0-4-amd64 (SMP w/8 CPU cores)
Locale: LANG=de_DE, LC_CTYPE=de_DE (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages xz-utils depends on:
ii  libc6     2.19-18+deb8u6
ii  liblzma5  5.1.1alpha+20120614-2+b3

xz-utils recommends no packages.

xz-utils suggests no packages.

-- no debconf information

Reply via email to