Srikar Dronamraju wrote:
> Hi Chris, 
>
> Thanks for your quick reply. 
>
> I have been regularly updating from cvs. So I thought I was always on
> the latest copy.  To confirm I checked out a new copy using 
> cvs -z9 -d :ext:[EMAIL PROTECTED]:/cvs/systemtap co froggy 
> and compared it the copy I update regularly and they seem to be identical.
>
>   
>> The printf()s in froggy.c:resp_listener() are all temporary diagnostics
>> and will ultimately be removed.  I don't know which version of froggy
>> you have, but if you'll look at the latest under the RESP_SYSCALL_ENTRY
>> case you'll see:
>>
>>     if (froggy->syscall_fcn)
>>                 (*froggy->syscall_fcn)(resp.resp_syscall.nr,
>>                                        (pid_t)resp.resp_syscall.pid,
>>                                        &regs);
>>     
> I see this:
>  if (froggy->syscall_fcn)
>             (*froggy->syscall_fcn)(resp.resp_syscall.nr,
>                                    (pid_t)resp.resp_syscall.pid,
>                                    resp.resp_syscall.args,
>                                    &regs);
>         }
>   

Yeah, that's the bleeding edge as of yesterday afternoon after I sent
that note--froggy's changing fairly rapidly.

>   
>>> In froogy/module/control.c 
>>> do_process_attach_task() and do_process_attach share lot of code and we
>>> could probably use common function for the shared code.
>>>   
>>>       
>> do_process_attach_task() has been removed.  Originally, I had it set up
>> such that client-thread report_clone wasa used to automatically attach
>>     
>
> I am not sure what you mean by removed. 
> grep -n do_process_attach_task froggy/froggy/module/control.c  shows
> 65:do_process_attach_task (struct utrace_attached_engine * engine,

Look two lines above that--there's a #ifdef DO_AUTOATTACH and
DO_AUTOATTACH isn't being set in the build.  (This is my way of doing
hacks I may want to reverse if they don't work right.  Since things are
playing the way I expect them to, for the next snapshot I'll probably
delete all the code currently wrapped up in DO_AUTOATTACH #ifdefs--it
exists in five places in three separate files.)

>
>   
>> child processes that were ultimately to be execve()ed as code to be
>> debugged, but I've replaced that with something more explicitly like
>> ptrace(PTRACE_TRACEME,...) and the older code has been #ifdef-ed out.
>> (I'll remove it entirely when I'm sure I don't need it anymore...)
>>
>>     
>>> Similarly do_shutdown() shares code with do_process_detach and we could
>>> probably make do_shutdown() call do_process_detach.
>>>   
>>>       
>> It sounds like you don't have the latest snapshot--I did a /lot/ of
>> cleanup in the shutdown/detach code last week and fcns you mention split
>> the work up differently now.
>>
>>     
>
> I am not sure if we are looking at the version with different viewpoints
> or we are looking at different version of sources.
>   

The absolute latest snapshot was at 1704 East Coast U.S. time
yesterday.   Yes,  there's a small overlap between the code in
do_process_detach and do_shutdown, but that's a micro-optimisation I can
do something about when the major stuff is working.  (Shutdown and
detach are fairly sensitive w.r.t. race conditions and what happens
depending on whether the client kills a child, the child is killed
externally, or the client is killed or dies--I don't tinker casually in
that area.)

>   
>>> Do we plan to use report_jctl in the near future. utrace_ops has
>>> report_jctl set to NULL however we have defined report_jctl() function
>>> which never gets used.  Similarly for unsafe_exec and tracer_task.
>>>   
>>>       
>> All the report_* callbacks will ultimately be returned to the client for
>> handling as described above--keep in mind froggy is still in its early
>> stages and there's a lot more that's yet to be done.
>>     
>
> Do you have a document that talks of the features and stuff that you
> intend to provide other than the README which talks of froggy being a
> sandbox for utrace.
> (I haven't read the documents that were updated today. Sorry if its
> covered in those docs.)
>   


I'll be doing a lot of documentation work over the next few days--no
reason I can't include a tentative roadmap.

>   
>>> Can you explain why you would want to attach with
>>> UTRACE_ATTACH_EXCLUSIVE always? So even  if I want to trace the same
>>> program twice from froggy then I shouldn't be able to do it?
>>>   
>>>       
>> To be honest, I had no good reason for using UTRACE_ATTACH_EXCLUSIVE and
>> can certainly experiment with removing it.
>>     
>
> Ok.
>
>   

-- 
Chris Moller

  I know that you believe you understand what you think I said, but
  I'm not sure you realize that what you heard is not what I meant.
      -- Robert McCloskey


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to