Skip to navigation

Bug Fix Advisory strace bug fix update

Advisory: RHBA-2013:0010-1
Type: Bug Fix Advisory
Severity: N/A
Issued on: 2013-01-07
Last updated on: 2013-01-07
Affected Products: Red Hat Enterprise Linux (v. 5 server)
Red Hat Enterprise Linux Desktop (v. 5 client)

Details

Updated strace packages that fix multiple bugs are now available for Red Hat
Enterprise Linux 5.

The strace packages provide a utility to intercept and record the system calls
called and received by a running process. The strace utility can print a record
of each system call, its arguments and its return value. The strace utility is
useful for diagnosing, debugging and instructional purposes.

This update fixes the following bugs:

* Prior to this update, the strace utility incorrectly decoded system calls when
tracing a 32 bit process on a 64 bit machine, because strace on IBM System z
platforms is not multi-arch aware. This update provides an additional strace
executable (strace32) which can be used to trace 32 bit processes on 64 bit
machines. (BZ#495935)

* Prior to this update, the strace utility incorrectly exited a system call loop
when the child process was interrupted. As a consequence, strace reported that
the last system call exited with a ERESTART_RESTARTBLOCK condition. This update
modifies the loop exit so that strace now correctly reports that the interrupted
system call is unfinished. (BZ#509152)

* Prior to this update, the kernel could, under certain circumstances, fail to
send a SIGTRAP signal to the strace utility. As a consequence, the strace
utility could become suspended if the target process blocked the debugging
signal SIGTRAP. With this update, strace now checks for this situation and
re-synchronizes with system call notifications when necessary. (BZ#512692)

* Prior to this update, traces were not detached but forcefully terminated when
the SIGTERM signal terminated the strace process while the trace executed a fork
or a cloned system call. This update modifies the underlying code to cleanly
detach traces when a strace process is terminated. (BZ#552964)

* Prior to this update, the strace utility incorrectly printed 64 bit arguments
for certain system calls such as "fadvise". This update modifies the underlying
code so that the correct "fadvise" arguments are printed as expected.
(BZ#571437)

* Prior to this update, a misinterpreted status caused strace to leave the
traced process in a stopped state when detaching from a process. This update
modifies the underlying code to leave the process in the correct state after
detaching. (BZ#580211)

* Prior to this update, the strace utility extracted arguments for the
"semtimedop" system call from the wrong location on the IBM System z platforms.
As a consequence, arguments for the "semtimedop" system call were incorrectly
displayed. This update modifies strace to extract the arguments from the correct
memory location so that the arguments for the "semtimedop" system call are
displayed as expected. (BZ#759566)

* Prior to this update, the strace utility did not correctly track switches
between 32-bit and 64-bit process execution domains, so called "personalities",
when tracing multiple processes with multiple "personalities". As a consequence,
strace logged the wrong system call names and arguments for the traced
processes. This update corrects personality tracking in strace so that it now
prints system call names and arguments as expected. (BZ#768203)

All users of strace are advised to upgrade to these updated packages, which fix
these bugs.


Solution

Before applying this update, make sure all previously-released errata relevant
to your system have been applied.

This update is available via the Red Hat Network. Details on how to use the Red
Hat Network to apply this update are available at
https://access.redhat.com/knowledge/articles/11258

Updated packages

Red Hat Enterprise Linux (v. 5 server)

SRPMS:
strace-4.5.18-18.el5.src.rpm     MD5: a4c8132c6fc3c0e032b2e2901eacf75c
SHA-256: 33312d2222419b97752787998e71cfc7dcd55090d05f285e6332c7bb1fc2afd3
 
IA-32:
strace-4.5.18-18.el5.i386.rpm     MD5: 131bea8bacda120cd7eb897e11806fc1
SHA-256: ccaef060fbc2abaa310547c865736688cdbebcbae86840764be154f99adf82e8
strace-debuginfo-4.5.18-18.el5.i386.rpm     MD5: 69f90b5ca824c6139fb44a6abc7a3dd9
SHA-256: 055ca3b00f58d3f1353244e031df5a67f73ce0476a5d6bc018e4a4e93c81666e
 
IA-64:
strace-4.5.18-18.el5.ia64.rpm     MD5: 41c3019df28e54928fa17ead1bb4569d
SHA-256: 4b05efdedfda408db7dc983139adef6bfccfdc7c2e523c8a088fc1fbe3599159
strace-debuginfo-4.5.18-18.el5.ia64.rpm     MD5: cf54ff8021af3e17a382723ef6d62db4
SHA-256: e956b995884c835bd71b82d63833f72f99f17bb8674f6cb96d0d55fac7c60bdc
 
PPC:
strace-4.5.18-18.el5.ppc.rpm     MD5: f16413faee9fd0f900f747de42bb64c0
SHA-256: a6b41f962fc5dec168319c5cc3ec5535c04c4e0c6d7cf24b4e6de344012c13af
strace-debuginfo-4.5.18-18.el5.ppc.rpm     MD5: 5afbaf756a30685d3e2e5ae451a5dafb
SHA-256: 58e84c6346e27dac03967f7a18d2ed8c9b1c07ed6b4440cdca6ea8323bf2839a
strace-debuginfo-4.5.18-18.el5.ppc64.rpm     MD5: ffcdf22d7d22b4af2eac0536db97f92d
SHA-256: 15e6aade266d2d7436c71e2772e8568b00567e71bf58153f3d1c10ab1862de9c
strace32-4.5.18-18.el5.ppc.rpm     MD5: 0f0be338506880bc354ec6cdd105c2f7
SHA-256: 6fbaa2652d93c9fb32459a48bd79c662da0fa07d7fa2e6b4ad446724ed1043eb
strace64-4.5.18-18.el5.ppc64.rpm     MD5: 8522e70de698514164c7248d9852f0c1
SHA-256: b2bc3a86b43d7636e1e4c5095b62f771833bc454aafd1288d1e08cd457a28be9
 
s390x:
strace-4.5.18-18.el5.s390x.rpm     MD5: 3758cb9a02c9e25fee69bd8e528cce47
SHA-256: dbd667f262fee58d02f1d73d23e3f9d4614d26ba0b87b3fc4fc69c10b2a21244
strace-debuginfo-4.5.18-18.el5.s390x.rpm     MD5: c87fee2cccb4123cf8f95ee3cce5e1f8
SHA-256: b507ba4ae94b394a84f7c88aa07109ebfb45f685aa5fa3457c4ba2489cab2662
strace64-4.5.18-18.el5.s390x.rpm     MD5: 22937998a871e9e6bf5f7dfdd8d2267d
SHA-256: 2015c12520b275d184ad2efd25ea50411e9bec17bbd3710bc8b5d81e6957a5b0
 
x86_64:
strace-4.5.18-18.el5.x86_64.rpm     MD5: 4bb106ced8876bec74391eec67bf70ec
SHA-256: d3d9ec8104c52c34f555484f450b970e476379f0b400519679f467e60482a744
strace-debuginfo-4.5.18-18.el5.x86_64.rpm     MD5: b72b7cd64294d20267db288be7625ec8
SHA-256: dac049de4db80a691b55d34ad47f39db5e64fcc8cbb8466517b1865351b15d51
 
Red Hat Enterprise Linux Desktop (v. 5 client)

SRPMS:
strace-4.5.18-18.el5.src.rpm     MD5: a4c8132c6fc3c0e032b2e2901eacf75c
SHA-256: 33312d2222419b97752787998e71cfc7dcd55090d05f285e6332c7bb1fc2afd3
 
IA-32:
strace-4.5.18-18.el5.i386.rpm     MD5: 131bea8bacda120cd7eb897e11806fc1
SHA-256: ccaef060fbc2abaa310547c865736688cdbebcbae86840764be154f99adf82e8
strace-debuginfo-4.5.18-18.el5.i386.rpm     MD5: 69f90b5ca824c6139fb44a6abc7a3dd9
SHA-256: 055ca3b00f58d3f1353244e031df5a67f73ce0476a5d6bc018e4a4e93c81666e
 
x86_64:
strace-4.5.18-18.el5.x86_64.rpm     MD5: 4bb106ced8876bec74391eec67bf70ec
SHA-256: d3d9ec8104c52c34f555484f450b970e476379f0b400519679f467e60482a744
strace-debuginfo-4.5.18-18.el5.x86_64.rpm     MD5: b72b7cd64294d20267db288be7625ec8
SHA-256: dac049de4db80a691b55d34ad47f39db5e64fcc8cbb8466517b1865351b15d51
 
(The unlinked packages above are only available from the Red Hat Network)

Bugs fixed (see bugzilla for more information)

495935 - s390x strace problems with 31-bit executables
571437 - strace incorrectly shows the arguments of fadvise() in 32 bit compat programs



These packages are GPG signed by Red Hat for security. Our key and details on how to verify the signature are available from:
https://www.redhat.com/security/team/key/#package

The Red Hat security contact is secalert@redhat.com. More contact details at http://www.redhat.com/security/team/contact/