Red Hat Bugzilla – Bug 85012
strace -f broken on ia64
Last modified: 2007-04-18 12:51:34 EDT
Description of problem:
New strace -f code causes inferior to get SIGSEGV under Linux 2.4.x kernel.
Reported to work fine with 2.5.x kernel.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. strace -f /usr/bin/time /bin/true
2. See some crashing.
Congratulations, Jakub! You found in 2.5.64 the same lossage that is
mysteriously biting some older AS2.1 kernels but not others on IA64. David
Mosberger was perhaps trying to figure this out, but I have not heard from him
in a few days.
Note that on 2.5.64, "strace -f /usr/bin/time /bin/true" (i.e. any -f) fails
the same way, it's not specific to your test case.
When I played with it, this showed the same weirdness I saw on the old AS2.1
kernel. That is, debugging hacks in strace that insert a PEEKDATA before and/or
after its POKEDATA to diddle register values cause the problem to mysteriouusly
disappear. The working hypothesis is that some strange ia64 kernel bug makes
POKEDATA not always work right and so strace fails to restore
a register value after it has modified the clone2 syscall.
I haven't reproduced this on a current kernel lately.
Someone will refile if it comes up again.
An errata has been issued which should help the problem described in this bug report.
This report is therefore being closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files, please follow the link below. You may reopen
this bug report if the solution does not work for you.