The attachments here will allow you to demonstrate the following problem.
With glibc-2.2.4-32.8 (on, as it happens, RedHat AS 2.1), if a C++ program
dlopens a library (the example is python) and then dlopens and calls into a
second library, and the code in the second library catches an exception and
then throws that exception in the scope of the block, the catch fails to catch
the exception and the program aborts.
Hold it, the description is wrong. The python lib is attached at link time,
not at runtime.
Created attachment 4906 [details]
shell script to do the demo
Created attachment 4907 [details]
Created attachment 4908 [details]
test library with exception usage.
Created attachment 4909 [details]
Created attachment 4910 [details]
driver that avoids the use of python in demonstrating the problem
Created attachment 4911 [details]
trivial shared lib needed to trigger the explosion.
Um, is there anything I can do?
This only fails with glibc 2.2.4; 2.2.5 makes it work.
Not our bug then, it looks like it is glibc's bug but it is already fixed.