RE: spinlock under fork()?
RE: spinlock under fork()?
- Subject: RE: spinlock under fork()?
- From: Nathan Herring <email@hidden>
- Date: Wed, 17 Sep 2008 15:25:17 -0700
- Acceptlanguage: en-US
- Thread-topic: spinlock under fork()?
We’ve narrowed this down a
little further. We introduced a change where we create a new malloc_zone and put
some of our allocations in that zone rather than the default zone. If we just
put all allocations in the default zone, this doesn’t recur. If we use
MallocDebug, it doesn’t recur (and furthermore it doesn’t appear to
have a second zone in that case!)
It looks like the spinlock is
under malloc_prepare_fork, and thus this is entirely malloc-(zone) related. We
have logging around all of our malloc calls to the new zone, but clearly I
cannot instrument all the others without having an interposing library like
libMallocDebug. Anything specific I should be looking for?
Thx in advance,
nh
From:
darwin-dev-bounces+nathanh=email@hidden
[mailto:darwin-dev-bounces+nathanh=email@hidden] On Behalf
Of Nathan Herring
Sent: Monday, September 15, 2008 4:59 PM
To: email@hidden
Subject: spinlock under fork()?
We’re seeing a Safari hang when our plugin has been
loaded and run when you go to Preferences and then the Bookmark tab. Safari is
loading a nib, and underneath some Safari code there’s a call to
“-[NSConcreteTask launch]” followed by a call to fork() followed by
spinlocking forever. What spin lock does fork() use and does it share it with
other system pieces? Are there any hints as to figuring out what deadlocked?
--
Nathan Herring
com.microsoft.devdiv.clr.os/development
|
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden