From: Devrim Erdem (devrim++at++vires.com)
Date: 01/11/2002 03:59:27
Hello,
My quite sophisticated project is heavily using exception handling along
with several C++ approaches to programming. I have recently noticed that
any "throw" will cause a crash in my program which uses Performer ( with
C++ API ).
A stack trace is as follows :
(gdb) where
#0 0x40b2e421 in nanosleep () from /lib/libc.so.6
#1 0x40b2e3b8 in sleep () from /lib/libc.so.6
#2 0x08089eea in PerformerClock_SignalHandler (signum=6) at
PerformerClock.cc:20
#3 0x40cddbc4 in pthread_sighandler () from /lib/libpthread.so.0
#4 <signal handler called>
#5 0x40ab4861 in kill () from /lib/libc.so.6
#6 0x40ab4665 in raise () from /lib/libc.so.6
#7 0x40ab5c81 in abort () from /lib/libc.so.6
#8 0x40609c05 in __default_terminate () from /usr/lib/libpf.so.2
#9 0x40609c22 in __terminate () from /usr/lib/libpf.so.2
#10 0x4060a3c3 in __throw () from /usr/lib/libpf.so.2
#11 0x0810b522 in Mod::DataConsumer::endSearch (this=0x8237270) at
DataConsumer.cc:482
Mod::DataConsumer::endSearch ( #11 ) throws an exception and this
exception is handled by *__throw () of libpf.so.2* (#10) ! __throw calls
__terminate and signal is catched by my last minute SIGABRT handler ( #2
). Mod::DataConsumer::endSearch has no Performer or OpenGL code, FYI.
Would you please make it clear why the throw is handled by libpf.so ?
Does Performer override throw ?
Could this be related to a multithreading issue ( #3 ) ? I have seen
some postings on the web mentioning that linux pthread libs are not
typically compiled with exception support. This could be the reason and
I have contacted SuSE to verify the exception handling in their pthread
libs in the distro.
PS: I have added a simple throw element in to the
pguide/libpf/C++/simple.C and it is aborted too. The previous post in
the list doesn't seem to have a response from the Performer team.
Linux SuSE 7.3
gcc-2.95.3-124
Kernel 2.4.10
-- Devrim Erdem ------------------------------------- VIRES Simulationstechnologie GmbH Oberaustrasse 34 83026 Rosenheim Germany phone +49.8031.463640 fax +49.8031.463645 email devrim++at++vires.com internet www.vires.com -------------------------------------
This archive was generated by hypermail 2b29 : Fri Jan 11 2002 - 04:06:18 PST