sysutils/strace wilderness on 6-CURRENT
Gary Jennejohn
garyj at www.jennejohn.org
Tue Aug 31 10:05:46 PDT 2004
Dan Nelson writes:
> In the last episode (Aug 31), Vladimir Grebenschikov said:
> > (fresh -CURREMT and fresh strace from ports, UP machine)
> >
> > It silmple does nothing - sleeps foreaver in suspended:
> >
> > # strace /bin/ls
> > ^T
> > load: 0.14 cmd: strace 98957 [suspended] 0.00u 0.00s 0% 760k
> > ^C
> > #
>
> This has happened on 5.x for ages. The quick fix is to ^Z, then fg, or
> kill -CONT the hung strace process from another vty. I don't know what
> strace does different from truss that makes it hang. Nowadays, truss
> does almost as good a job as strace, so I don't use it as often as I
> used to. The only thing I miss is strace's ability to print the name
> of blocking syscalls (read or sleep for example) as it waits.
>
I fixed a bug like this in strace for Linux. The SIGCHLD handler was
being set too late and the child (through some wacky handling of
SIGCHLD in the Linux kernel) got into a state where it never returned
the expected status in wait(). Both the child and strace ended up
hanging. kill -CONT also got things going there. Maybe FreeBSD has
a similar problem?
---
Gary Jennejohn / garyj[at]jennejohn.org gj[at]freebsd.org gj[at]denx.de
More information about the freebsd-current
mailing list