<div dir="ltr">Hey Thomas,<br><br><div class="gmail_quote">2008/9/26 Thomas Horsten <span dir="ltr">&lt;<a href="mailto:thomas@horsten.com">thomas@horsten.com</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d"><br>
</div><div><div></div><div class="Wj3C7c">Ok, as I said earlier it still fails on my machine. I&#39;ve verified that<br>
it&#39;s an SMP-related issue by running it with taskset -c 0, in which<br>
case it always gets further, and taskset -c 0-3, in which case it<br>
hangs most of the time. So probably a race condition.<br><br></div></div></blockquote><div><br>The race condition was due to me trying to use ptrace(PTRACE_TRACEME) and ptrace(PTRACE_ATTACH) at the same time.&nbsp; The attach was winning the race on your machine, but losing on mine, thus failing for me and being ignored.&nbsp; Successfully attaching meant no signal was generated, and we hung on the wait4 in loader/tt.c<br>
&nbsp;</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div class="Wj3C7c">
set_thread_context failed<br>
</div></div></blockquote></div><br>This was due to me over-eagerly reverting a hack that is necessary.&nbsp; ntdll has hardcoded segment registers that are incompatible with Linux, so we need to override/ignore them.<br><br>Thanks for finding these problems.&nbsp; I have fixed them, and released ring3k-0.0.4.tar.gz<br>
<br>Mike<br></div>