Re: sysutils/strace wilderness on 6-CURRENT

From: Gary Jennejohn <garyj_at_www.jennejohn.org>
Date: Tue, 31 Aug 2004 19:05:27 +0200
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
Received on Tue Aug 31 2004 - 15:05:46 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:09 UTC