[odb-users] Deadlock in apache module that uses odb-mysql?
boris at codesynthesis.com
Wed Apr 29 12:37:47 EDT 2015
I did some digging and it appears something is going wrong with
MySQL threading initialization when done from an apache module.
The code in question (i.e., nptl_pthread_exit_hack_handler() in
the stack trace) itself is dealing with (allegedly) a bug in
NPTL. Here is the comment from my_thr_init.c:
BUG#24507: Race conditions inside current NPTL pthread_exit()
To avoid a possible segmentation fault during concurrent
executions of pthread_exit(), a dummy thread is spawned which
initializes internal variables of pthread lib. See bug description
for a full explanation.
TODO: Remove this code when fixed versions of glibc6 are in common
Also, generally, from our experience, MySQL multi-threading support
is a huge mess. See the comment at the beginning of libodb-mysql/odb/
mysql/connection-factory.cxx for the kind of hacks we have to resort
to make it work.
Note also that while we could reproduce this problem with 5.5.37-
MariaDB, it seem to have been fixed in 10.0.17-MariaDB.
More information about the odb-users