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): 4.4.95-1 How reproducible: 100% Steps to Reproduce: 1. strace -f /usr/bin/time /bin/true 2. See some crashing. 3. Lament. Actual results: Expected results: Additional info:
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. http://rhn.redhat.com/errata/RHBA-2003-361.html