• Oran Agra's avatar
    RED-31295 - redis: avoid race between dlopen and thread creation · 2e19b941
    Oran Agra authored
    It seeems that since I added the creation of the jemalloc thread redis
    sometimes fails to start with the following error:
    
    Inconsistency detected by ld.so: dl-tls.c: 493: _dl_allocate_tls_init: Assertion `listp->slotinfo[cnt].gen <= GL(dl_tls_generation)' failed!
    
    This seems to be due to a race bug in ld.so, in which TLS creation on the
    thread, collide with dlopen.
    
    Move the creation of BIO and jemalloc threads to after modules are loaded.
    
    plus small bugfix when trying to disable the jemalloc thread at runtime
    2e19b941
zmalloc.c 14.8 KB