[lldb-dev] Resuming traced process on Linux and SIGSTOP

Andrew MacPherson andrew.macp at gmail.com
Tue Mar 25 14:46:26 PDT 2014


Ok, thanks Todd!


On Tue, Mar 25, 2014 at 9:41 PM, Todd Fiala <tfiala at google.com> wrote:

> Hey Andrew, this looks fine.  It also tested out just fine as well.
>
>
> On Tue, Mar 25, 2014 at 12:11 PM, Todd Fiala <tfiala at google.com> wrote:
>
>> Sure thing :-)
>>
>>
>> On Tue, Mar 25, 2014 at 12:10 PM, Andrew MacPherson <
>> andrew.macp at gmail.com> wrote:
>>
>>> Great, thanks Todd!
>>>
>>>
>>> On Tue, Mar 25, 2014 at 8:09 PM, Todd Fiala <tfiala at google.com> wrote:
>>>
>>>> I just finished clearing out some Linux test errors (I'm now all green
>>>> on Linux x86_64).  I'll add this to a queue I've got with some changes from
>>>> Piotr, Ed and you in it now.
>>>>
>>>>
>>>> On Tue, Mar 25, 2014 at 12:08 PM, Andrew MacPherson <
>>>> andrew.macp at gmail.com> wrote:
>>>>
>>>>> Just pinging this again in case anyone has a chance to review the
>>>>> small Linux detach patch here. Thanks!
>>>>>
>>>>>
>>>>> On Sat, Mar 22, 2014 at 11:05 AM, Andrew MacPherson <
>>>>> andrew.macp at gmail.com> wrote:
>>>>>
>>>>>> I'm attaching a patch here that resolves the issue of a signal being
>>>>>> delivered to the inferior on detach, let me know if I should start a new
>>>>>> thread for this but since it's related to what we were discussing I'm
>>>>>> attaching it here. To reproduce the issue just launch a process, then in a
>>>>>> new terminal:
>>>>>>
>>>>>> sudo lldb -p <pid>
>>>>>> c
>>>>>> q
>>>>>>
>>>>>> When quitting the inferior receives a SIGSTOP because the process is
>>>>>> already running when the PTRACE_DETACH is sent. I can't find a clear answer
>>>>>> on what's supposed to happen here (PTRACE_DETACH sent to running thread)
>>>>>> but this is the behaviour I'm seeing. The docs do indicate that
>>>>>> PRACE_DETACH is like PTRACE_CONT and should only be sent to a stopped
>>>>>> thread.
>>>>>>
>>>>>> I also tried to add a unit test for this and the previous patch,
>>>>>> however I hit http://llvm.org/pr16172. The tests these two patches
>>>>>> require are similar to the one mentioned in that case and I get the same
>>>>>> errors in my sample test as when running that one:
>>>>>>
>>>>>> attach -p <pid> (ok)
>>>>>> c (ok)
>>>>>> detach (error: Detach failed: No such process)
>>>>>>
>>>>>> And:
>>>>>>
>>>>>> attach -p <pid> (ok)
>>>>>> c (ok)
>>>>>> process interrupt (ok)
>>>>>> c (error: Failed to resume process: Resume request failed - process
>>>>>> still running..)
>>>>>>
>>>>>>
>>>>>> On Fri, Mar 21, 2014 at 8:37 PM, Ed Maste <emaste at freebsd.org> wrote:
>>>>>>
>>>>>>> On 21 March 2014 15:14,  <jingham at apple.com> wrote:
>>>>>>> > I'm pretty sure we have some test cases that test attach.  If we
>>>>>>> don't, then it would be great to add one.  If we do, then it would be
>>>>>>> interesting to see why they didn't fail.  For instance, maybe they just
>>>>>>> didn't bother to try "continue" after the attach.  Just adding that would
>>>>>>> be good too.
>>>>>>>
>>>>>>> We definitely have some, because they used to fail early on in the
>>>>>>> FreeBSD porting effort.  I suspect that your suggestion is correct
>>>>>>> and
>>>>>>> they just don't do anything but attach and then quit.
>>>>>>>
>>>>>>> On a related note, I'm pretty sure we don't have tests for detach.
>>>>>>> I'll see about extending tests to include that at some point.
>>>>>>>
>>>>>>> -Ed
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>>  Todd Fiala | Software Engineer |  tfiala at google.com |  650-943-3180
>>>>
>>>
>>>
>>
>>
>> --
>> Todd Fiala | Software Engineer |  tfiala at google.com |  650-943-3180
>>
>
>
>
> --
> Todd Fiala | Software Engineer |  tfiala at google.com |  650-943-3180
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20140325/94ae4619/attachment.html>


More information about the lldb-dev mailing list