<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html style="direction: ltr;">
<head>
  <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  <title></title>
  <style>body p { margin-bottom: 0cm; margin-top: 0pt; } </style>
</head>
<body style="direction: ltr;" bidimailui-charset-is-forced="true"
 bidimailui-detected-decoding-type="UTF-8" bgcolor="#ffffff"
 text="#000000">
On 27/10/10 15:40, shimi wrote:
<blockquote
 cite="mid:AANLkTim4bNHCpaYyrLv1+BVWB2=ixhO7PzxG8qMH8-KK@mail.gmail.com"
 type="cite">
  <div dir="ltr"><br>
  <br>
  <div class="gmail_quote">On Wed, Oct 27, 2010 at 3:38 PM, shimi <span
 dir="ltr">&lt;<a moz-do-not-send="true"
 href="mailto:linux-il@shimi.net">linux-il@shimi.net</a>&gt;</span>
wrote:<br>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
    <div dir="ltr">
    <div class="im">
    <div class="gmail_quote">On Wed, Oct 27, 2010 at 2:07 PM, Shachar
Shemesh <span dir="ltr">&lt;<a moz-do-not-send="true"
 href="mailto:shachar@shemesh.biz" target="_blank">shachar@shemesh.biz</a>&gt;</span>
wrote:<br>
    <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
      <br>
For threads, there is a strange set of events taking place. Both for
strace and for fakeroot-ng, the clone system call gets modified. For
both, the new thread created has the same debugger as the parent. For
strace, the debugger runs "wait", receives the child's pid, and handles
it accordingly. For fakeroot-ng, "wait" never reports the child.<br>
      <br>
Running strace on the debugger shows that the exact same ptrace
commands are sent. I will happily send them to anyone who wishes to
have a look.<br>
      <br>
How can two programs do the same thing on the same system, and yet get
such different results?<br>
      <br>
    </blockquote>
    <div> </div>
    </div>
    </div>
Not that I am an expert in this (I wouldn't even say I am novice ;)
just a simple many-years-strace-user...), I am really guessing here and
may be saying complete nonsense :) <br>
    <br>
...But perhaprs it's related to the fact that in your implementation
they (the tracer and the tracee) both run on different UIDs (with the
tracing process trying to trace a process that runs by a different user
[which btw is 'more powerful']) and that's sort of a security feature?<br>
    <br>
    </div>
  </blockquote>
  <div><br>
(by "running on different UIDs" I of course mean "think that they are
[running on...])<br>
  </div>
  </div>
  <br>
  </div>
</blockquote>
<p>Last I checked, the kernel didn't care what two user space programs
do to each other. As far as the kernel is concerned, all processes are
of the same UID (which is the whole point of fakeroot, and, by
extension, fakeroot-ng).</p>
<p>Shachar<br>
</p>
<br>
<pre class="moz-signature" cols="72">-- 
Shachar Shemesh
Lingnu Open Source Consulting Ltd.
<a class="moz-txt-link-freetext" href="http://www.lingnu.com">http://www.lingnu.com</a>
</pre>
</body>
</html>