On Mon, 21 Jul 2014 17:41:17 PDT Nick Owens <misch...@9.offblast.org> wrote:
> 
> hello,
> 
> i'm trying to use ratrace to debug a go binary.
> what i don't understand is why records of syscalls sometimes appear on
> top of one another.
> 
> here's the output of 'ratrace -c ./strings.test >[2]/tmp/ratrace.log',
> where strings.test is made with 'go test -c strings'.
> 
> http://sprunge.us/aCBG
> 
> you can see in several places that more than one syscall record is
> printed on the same line.

Look at code bracketed by
        if(up->procctl == Proc_tracesyscall){
in /sys/src/9/pc/trap.c

Hints: rfork() returns twice: in parent and in child.  exist()
never returns.  A syscall may finish *after* a later syscall
(from another process) returns.

Reply via email to