17.03.2015, 19:07
Thanks for your detailed explanations and crash logs. I'll try to reproduce and fix this ASAP.
As far as I've seen, it seems like an issue with the Linux SIGPIPE signal (the socket write/send function sends this to signal an error; probably because it's writing to a closed socket). The C function which allows to set the behavior when such a signal is detected seems to be thread-unsafe, which is bad, since we (or rather you) are sending data to the same socket destination (all three MySQL connection handles are connected to the same MySQL server), thus we have to concurrently call that C function to ignore the signal (because the default action of that signal is to crash the application).
I'm not 100% sure though, but by looking at the MySQL C connector source code and some Linux manual pages, it seems like this is the real cause.
As far as I've seen, it seems like an issue with the Linux SIGPIPE signal (the socket write/send function sends this to signal an error; probably because it's writing to a closed socket). The C function which allows to set the behavior when such a signal is detected seems to be thread-unsafe, which is bad, since we (or rather you) are sending data to the same socket destination (all three MySQL connection handles are connected to the same MySQL server), thus we have to concurrently call that C function to ignore the signal (because the default action of that signal is to crash the application).
I'm not 100% sure though, but by looking at the MySQL C connector source code and some Linux manual pages, it seems like this is the real cause.