Just a heads-up on this, in case anyone else gets bitten…

I just had a very unpleasant 24 hours of debugging my (heavily threaded) code. 
I initially suspected a race condition and ended up barking up the wrong tree 
for a long time.

In the end, the problem turned out to be related to the zmqpp library. I had 
previously compiled that one with gcc 4.7.3, and that version was still 
installed. To cut a long story short, recompiling with gcc 4.8.1 zmqpp fixes 
it. Dumping the ELF version numbers of the two zmqpp libraries, I get:

This is libzmqpp.so.3.1.0 compiled with gcc 4.7.3:

GLIBCXX_3.4.18, version 7
GLIBCXX_3.4.14, version 5

Here is the same library compiled with gcc 4.8.1:

GLIBCXX_3.4.14, version 6
GLIBCXX_3.4.10, version 5

When I run my code compiled with 4.8.1 against the library build with 4.7.3, I 
get the crash.

*Both* ELF binaries report:

CXXABI_1.3, version 4

I can make the crash go away by compiling my code with 4.7.3 against the 4.7.3 
libzmpp, and I can make the crash go away by compiling my code with 4.8.1 
against the 4.8.1 libzmpp.

So, it definitely looks like there as an ABI incompatibility between the two 
libcxx versions, even though they claim to be compatible.

Michi.
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to