Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Aug 2011 17:47:09 -0700
From:      maestro something <maestro82@gmail.com>
To:        Kevin Oberman <kob6558@gmail.com>
Cc:        Kostik Belousov <kostikbel@gmail.com>, freebsd-stable@freebsd.org, Andriy Gapon <avg@freebsd.org>
Subject:   Re: dtrace ustack kernel panic
Message-ID:  <CAJ_JOqtoGLwa4JMGFYxCcdCOo0-1n8eE-YFZW1N_Z%2BFpwqumaA@mail.gmail.com>
In-Reply-To: <CAN6yY1tC4-zAb1TGDCfLAyNhkN_RZeuhsj=C9M=LtyHMKOPDkg@mail.gmail.com>
References:  <CAJ_JOqvEmXBTBABhUcJ66=bh9%2B8S%2BC9v30hXxVZiCXuEpGPJ1A@mail.gmail.com> <4E2E9F60.1060808@FreeBSD.org> <CAJ_JOqszViwLi6TeQxAxeX2Mte5eBPsGJpjQPVOQs2BOwAq9JQ@mail.gmail.com> <4E33B7CF.90200@FreeBSD.org> <CAJ_JOqt4VdgJm3NnB1KUf1RFuk75nu6-Rh=Bqb53h5TAEzB0%2BA@mail.gmail.com> <4E344D15.1040508@FreeBSD.org> <CAJ_JOqvCDE1Zcv4jz14rtZu5_NmqfY04tz91uy76WnaW2trO7Q@mail.gmail.com> <CAJ_JOqu2SR2n1Cm__3x3rfcJpYY=ihnoE9oyuKeNmKGuUGgnGA@mail.gmail.com> <20110730192646.GC17489@deviant.kiev.zoral.com.ua> <CAJ_JOqtofEjt-jiZBiLKW--fY0sdiHvF36baS3Qxc8ubmQMazg@mail.gmail.com> <CAJ_JOqtsrOr7Uq0Jo-Mb8kKnucjUarJxKrgzNEbMxTcGP7OCAw@mail.gmail.com> <CAJ_JOqsWNDeh_2SW5cz1PDewALJoANhuW81d4TjxWSK1w=nAjw@mail.gmail.com> <4E386636.2000507@FreeBSD.org> <4E386741.5030801@FreeBSD.org> <CAJ_JOqvmDMe5m1=cpoS95qJfCqX7EwuDqYGjLv4kbBPKCF=r2Q@mail.gmail.com> <CAN6yY1tC4-zAb1TGDCfLAyNhkN_RZeuhsj=C9M=LtyHMKOPDkg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ_JOqtoGLwa4JMGFYxCcdCOo0-1n8eE-YFZW1N_Z%2BFpwqumaA>