Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.2
-
None
Description
qdrouterd can load the libqpid-dispatch.so twice - once by the executable, again via ctypes. ctypes is supposed to be using the same copy of the library that is loaded by the exe but for some reason is not.
This has been observed to cause crashes, but even when it doesn't it can be observed as follows:
$ LD_DEBUG=files router/qdrouterd |& grep libqpid-dispatch 18591: file=libqpid-dispatch.so.0 [0]; needed by router/qdrouterd [0] 18591: file=libqpid-dispatch.so.0 [0]; generating link map 18591: calling init: /home/aconway/dispatch/debug/src/libqpid-dispatch.so.0 18591: file=/usr/local/lib64/libqpid-dispatch.so.0 [0]; dynamically loaded by /usr/lib64/python2.7/lib-dynload/_ctypes.so [0] 18591: file=/usr/local/lib64/libqpid-dispatch.so.0 [0]; generating link map 18591: calling init: /usr/local/lib64/libqpid-dispatch.so.0 18591: opening file=/usr/local/lib64/libqpid-dispatch.so.0 [0]; direct_opencount=1