Hi,

We experiment the same issue. It is related to this fix: linux-2.6-misc-ptrace-fix-exec-report.patch and the related bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=455060

We patched the ptrace.c with this:

*** /root/rpmbuild_r5/BUILD/kernel-2.6.18/linux-2.6.18.i386/kernel/ptrace.c 2010-02-17 18:02:49.000000000 +0100
--- ptrace.c    2010-02-17 19:23:05.000000000 +0100
***************
*** 1976,1981 ****
--- 1976,1982 ----
        * The difference is in where the real stop takes place and
        * what ptrace can do with tsk->exit_code there.
        */
+       preempt_enable_no_resched();
       send_sig(SIGTRAP, tsk, 0);
       return UTRACE_ACTION_RESUME;
 }

And it seems to be fine for now: gdb, strace are now working properly.

Regards
Régis.

Roland McGrath wrote:
But I'm happy to have tracked it down to the utrace-based ptrace
emulation, and was mostly just interested in knowing if preempt and
utrace are fundamentally incompatible on x86_64, or something like
that. I'll fight through the 2.6.18-164 issues instead, since the
ptrace problem doesn't seem to be happening on that version.

It is probably the case that the RHEL5 utrace code cannot easily be made to
work reliably with CONFIG_PREEMPT.


Thanks,
Roland




--
Régis ODEYE

Kontron Modular Computers SA
150, rue M. Berthelot / ZI Toulon Est / BP 244 / Fr 83078 TOULON Cedex 9
Phone: (33) 4 98 16 34 86           Fax: (33) 4 98 16 34 01
E-mail: regis.od...@kontron.com  Web : www.kontron.com


Reply via email to