Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 8 Jan 2009 22:19:43 -0500
From:      Brian Fundakowski Feldman <green@FreeBSD.org>
To:        hackers@FreeBSD.org, jasone@FreeBSD.org
Subject:   threaded, forked, rethreaded processes will deadlock
Message-ID:  <20090109031942.GA2825@green.homeunix.org>

next in thread | raw e-mail | index | archive | help

--VbJkn9YxBvnuCH5J
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

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@FreeBSD.org                               \  The Power to Serve! \
 Opinions expressed are my own.                       \,,,,,,,,,,,,,,,,,,,,,,\

--VbJkn9YxBvnuCH5J--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090109031942.GA2825>