dtrace ustack kernel panic

maestro something maestro82 at gmail.com
Wed Aug 3 00:47:10 UTC 2011


Hi,

> Hi,

> >
> > diff --git a/lib/libproc/proc_create.c b/lib/libproc/proc_create.c
> >> index c372a47..9bd24a2 100644
> >> --- a/lib/libproc/proc_create.c
> >> +++ b/lib/libproc/proc_create.c
> >> @@ -79,12 +79,11 @@ proc_attach(pid_t pid, int flags, struct proc_handle
> >> **pphdl)
> >>        else
> >>                phdl->status = PS_STOP;
> >>
> >> +out:
> >>        if (error)
> >>                proc_free(phdl);
> >>        else
> >>                *pphdl = phdl;
> >> -out:
> >> -       proc_free(phdl);
> >>        return (error);
> >>  }
> >>
> >
> > What do I have to recompile for the patch to be picked up?
> > make libproc in /usr/src/lib
> > works but
> > make install libproc
> > fails the following way:
> >
>
> > fb90i386# make install libproc
> > ===> csu/i386-elf (install)
> > install -o root -g wheel  -m 444 crti.o crtn.o gcrt1.o crt1.o Scrt1.o
> > /usr/lib
> > ===> libc (install)
> > install -C -o root -g wheel -m 444   libc.a /usr/lib
> > install: libc.a: No such file or directory
> > *** Error code 71
> >
> > Stop in /usr/src/lib/libc.
> > *** Error code 1
> >
> > Stop in /usr/src/lib.
>
> Did you remember to 'make obj'? If you didn't, the library would be
> left in the wrong place where 'make install' would not find it.
>
> make obj
> make depend (possibly a no-op)
> make
> make install
>

Thank you very much that helped.

now it seems that the ustack() action on i386 and FreeBSD-9.0BETA1 almost
works.

Almost because dtrace still exits (this time without an error message) The
process for which the ustack should be genereated is terminated

Here are the specifics:

fb90i386# dtrace -n 'syscall::accept:return / execname == "nc" / {
ustack();}'
dtrace: description 'syscall::accept:return ' matched 1 probe
CPU     ID                    FUNCTION:NAME
  0  46457                    accept:return
              libc.so.7`__sys_accept+0x7
              0x3
              0xed96e824


This alsmost looks like a stack trace I'd say
However, dtrace quits once I connect to nc

nc quits with the following error message

fb90i386# nc -vl 4444
nc: Polling Error: Interrupted system call

cheers
-m


More information about the freebsd-stable mailing list