problem with exceptions within a shared library on AIX 5.1 (gcc-3.3.2)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm developing a shared library that is loaded excplicitly (dlopen) on a separate application. I compile using gcc 3.2.3 and linking with the native linker. I have trouble throwing exceptions and catching them. Note that all the throwing/catching is done inside my code, and not between shared objects. After the throw, I get an Abort. The stack trace afterwards:


GNU gdb 6.0
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "powerpc-ibm-aix5.1.0.0"...(no debugging symbols found)...
Core was generated by `sqlplus'.
Program terminated with signal 6, Aborted.
#0  0xd0059af4 in pthread_kill () from /usr/lib/libpthreads.a(shr_xpg5.o)
(gdb) bt
#0  0xd0059af4 in pthread_kill () from /usr/lib/libpthreads.a(shr_xpg5.o)
#1  0xd0059104 in _p_raise () from /usr/lib/libpthreads.a(shr_xpg5.o)
#2  0xd01de210 in raise () from /usr/lib/libc.a(shr.o)
#3  0xd01ece24 in abort () from /usr/lib/libc.a(shr.o)
#4  0xd135f8c8 in __cxxabiv1::__terminate(void (*)()) (handler=
findvar.c:706: internal-error: value_from_register: Value not stored anywhere!
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) n
findvar.c:706: internal-error: value_from_register: Value not stored anywhere!
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Create a core file of GDB? (y or n) n
) at  _start_ :47
#5  0xd135f87c in std::terminate() () at  _start_ :57
#6  0xd13637b4 in __cxa_throw (obj=
findvar.c:706: internal-error: value_from_register: Value not stored anywhere!
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) n
findvar.c:706: internal-error: value_from_register: Value not stored anywhere!
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Create a core file of GDB? (y or n) n
) at  _start_ :80
#7  0xd19df248 in CMyTest::Connect() (this=0x206248f8) at local/src/MyTest.cpp:321


I've did some digging and I found some references to problems that exist when throwing exceptions between shared objects in AIX, but this is not the case. 

Any idea how can I approach this problem?


thanks,
Yehuda Sadeh Weinraub


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux