dead lock in forked child

Jason Evans 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:

http://www.canonware.com/cgi-bin/gitweb.cgi?p=jemalloc.git;a=commitdiff;h=4e2e3dd9cf19ed5991938a708a8b50611aa5bbf8

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.

Jason




More information about the jemalloc-discuss mailing list