Details

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

The strace packages provide a utility to intercept and record the system callscalled and received by a running process. The strace utility can print a recordof each system call, its arguments and its return value. The strace utility isuseful for diagnosing, debugging and instructional purposes.

This update fixes the following bugs:

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

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

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

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

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

* Prior to this update, a misinterpreted status caused strace to leave thetraced process in a stopped state when detaching from a process. This updatemodifies the underlying code to leave the process in the correct state afterdetaching. (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 incorrectlydisplayed. This update modifies strace to extract the arguments from the correctmemory location so that the arguments for the "semtimedop" system call aredisplayed as expected. (BZ#759566)

* Prior to this update, the strace utility did not correctly track switchesbetween 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 tracedprocesses. This update corrects personality tracking in strace so that it nowprints system call names and arguments as expected. (BZ#768203)

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

Solution

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