dead lock in forked child
jasone at canonware.com
Fri Jun 1 12:07:09 PDT 2012
On Jun 1, 2012, at 11:35 AM, Salvatore Sanfilippo wrote:
> thanks for your reply. Redis is known to surely allocate something in
> the main thread before doing anything else, so this bug should not be
> possible in our case and maybe we were observing something else? Or
> actually Jemalloc < 3.0 had such an issue even if the main thread
> allocate something (I found some mention related to fork+exec in the
> 3.0 changelog, we don't do exec btw.)? Thanks.
It's likely that redis is hitting the bug that was fixed for jemalloc 3.0.0 by this change:
jemalloc changed to a finer-grained locking model shortly before the 1.0.0 release, but the fork-related support didn't have the necessary changes to lock all relevant mutexes until this change.
More information about the jemalloc-discuss