[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::c_plus_plus

Title:C++
Notice:Read 1.* and use keywords (e.g. SHOW KEY/FULL KIT_CXX_VAX_VMS)
Moderator:DECCXX::AMARTIN
Created:Fri Nov 06 1987
Last Modified:Thu Jun 05 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:3604
Total number of notes:18242

3448.0. "Exception Handler diff between 3.2G & 4.0A" by BLAZER::MIKELIS (Software Partner's Eng. MR01-3/F26) Thu Feb 13 1997 13:10

 My customer, Object Design Inc, is migrating their product from
Digital Unix 3.2G to Digital Unix 4.0A and are having problems with 
exceptions.

  Their ode must be able to handle an exception during the invocation of 
a destructor and not simply exit.

  Under Digital Unix 3.2G, the exception handler would unwind
the stack to the point were the offending destructor was invoked
and resume execution of the application from that point forward.

  Stack trace for 3.2G system:
------------------------------
#0  0x6ffa900c in _ODI_tix_terminate(
#1  0x6fecd848 in _Tix_terminate_hook(
#2  0x240521c8 in terminate(
#3  0x24052424 in __F6_gem_invoke_destructor(
#4  0x2406f6bc in __C_specific_handler(
#5  0x2406f8d0 in exc_call_filter(
#6  0x2406fbf4 in exc_dispatch_exception(
#7  0x240517c8 in signal_cxx_user_exception(
#8  0x2405185c in __cxx_throw_immediate(
#9  0x6ffa8f8c in _ODI_tix_throw(
#10 0x6fecf3e0 in ((tix_exception*)0x1401a618)->vsignal(
#11 0x6fece378 in ((tix_exception*)0x1401a618)->signal(
#12 0x120646fc in ((signalling_undo*)0x11ffd160)->~signalling_undo(
#13 0x24052470 in gem_invoke_destructor(
#14 0x24052754 in __cxx_gem_dispatch(         <<< unwind back to this point <<<
#15 0x24070fc0 in __exc_call_unwind_handler(
#16 0x2407046c in actual_exc_unwind(
#17 0x240706b4 in exc_unwind(
#18 0x24052684 in __cxx_gem_dispatch(
#19 0x2406f8d0 in exc_call_filter(
#20 0x2406fbf4 in exc_dispatch_exception(
#21 0x240517c8 in signal_cxx_user_exception(
#22 0x2405185c in __cxx_throw_immediate(
#23 0x6ffa8f8c in _ODI_tix_throw(
#24 0x6fecf3e0 in ((tix_exception*)0x1401a618)->vsignal(
#25 0x6fece378 in ((tix_exception*)0x1401a618)->signal(
#26 0x12065690 in test_tix(
#27 0x12036ee4 in main(

  Under Digital Unix 4.0A running the same binaries (built on
a 3.2G system), the application dies with the following error:

    Internal error in C exception handler routine __Ots_CSpecificHandler
    Internal error in C exception handler routine __Ots_CSpecificHandler
    Abort process (core dumped)

Shouldn't the 3.2G binary work okay on 4.0A?

I'd appreciate a quick response due to tight time constraints

 
Best Regards, 
 
------------------------------------------------------------------------------
 James C. Mikelis                               Software Partners Engineering
 Phone: +1.508.467.9073 (FAX) 1.508.467.1468	Digital Equipment Corporation
 EMAIL: Mikelis@mail.dec.com                    200 Forest St. [MR01-3/F26]
 http://www.digital.com/www-swdev/              Marlboro, MA 01752
------------------------------------------------------------------------------
T.RTitleUserPersonal
Name
DateLines
3448.1DECCXX::MITCHELLThu Feb 13 1997 13:581
working this offline