Exception Handling Aborts ( a Performer Bug ? )

New Message Reply Date view Thread view Subject view Author view

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
-------------------------------------


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Fri Jan 11 2002 - 04:06:18 PST

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.