Sent a log off list 
With logging on it does not really want to hang. 
Instead (with ~5% probability) it loops forever. 
I think this is the same bug -- the process misses its own death time...

--kcc 
On Thu, Jan 28, 2010 at 10:40 AM, Julian Seward <jseward@acm.org> wrote:
On Wednesday 27 January 2010, Julian Seward wrote:
> On Wednesday 27 January 2010, Konstantin Serebryany wrote:
> > I've minimized the problem to a small test (below).
> > It spawns many threads and doesn't join them before exiting.
> > It will hang (or loop forever) one out of 40-100 runs:
> > % g++ -g -lpthread hang.cc
> > % for((i=10;i<=99;i++)); do date; time ~/valgrind/trunk/inst/bin/valgrind
> > --tool=none --trace-syscalls=yes --trace-signals=yes  -q ./a.out 2>
> > $i.log ; done
>
> Ok; managed to reproduce it.  2 threads were still stuck in some syscall
> (don't know which yet).  Investigating.

I can reproduce it, but only in the case where there is no logging,
which isn't useful.  If you have a logfile where it hangs for
--trace-syscalls=yes --trace-signals=yes, can you compress it and
send it to me?  afaics the log is about 40MB long, but it should
bzip2 nicely.

J