threaded, forked, rethreaded processes will deadlock
Brian Fundakowski Feldman
green at FreeBSD.org
Thu Jan 8 19:30:09 PST 2009
It appears that the post-fork hooks for malloc(3) are somewhat broken such that
when a threaded program forks, and then its child attempts to go threaded, it
deadlocks because it already appears to have locks held. I am not familiar
enough with the current libthr/libc/rtld-elf interaction that I've been able
to fix it myself, unfortunately.
I discovered this today upgrading my work box from 7.0 to 7.1, but I can easily
reproduce it at home on a stale -CURRENT as well. Testing on an OS X box to make
sure, the regression test does exit 0 there.
Has anyone happened to have fixed this already locally?
Brian Fundakowski Feldman \'[ FreeBSD ]''''''''''\
<> green at FreeBSD.org \ The Power to Serve! \
Opinions expressed are my own. \,,,,,,,,,,,,,,,,,,,,,,\
More information about the freebsd-hackers