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

Conference turris::digital_unix

Title:DIGITAL UNIX(FORMERLY KNOWN AS DEC OSF/1)
Notice:Welcome to the Digital UNIX Conference
Moderator:SMURF::DENHAM
Created:Thu Mar 16 1995
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:10068
Total number of notes:35879

9922.0. "exception system: exiting due to multiple internal errors:" by CAMINO::MCDERMOTT () Thu May 22 1997 14:17

    Hi,
    
    Can someone tell why the C runtime sometimes spits this message out:
    
    exception system: exiting due to multiple internal errors:
    exception dispatch or unwind stuck in infinite loop
    
    After the message is outputed the program terminates.
    I'm on unix 4.0b.
    
    thanks
    
T.RTitleUserPersonal
Name
DateLines
9922.1Bug in loader/libc/libexc ...PTHRED::PORTANTEPeter Portante, DTN 381-2261, (603)881-2261, MS ZKO2-3/Q18Thu May 22 1997 16:4123
.0: (Sorry, I don't know your name ...)

That message is seen when the exception handling system finds itself unable to
unwind the stack.  I know of two reasons for this, though there might be others.

The first one is a simple bug in exc_raise_exception() which trashes the stack
when an exception is being raised.

The second is because of a race between a thread or threads using the exception
handling system and another thread trying to call libc's exit().  The call to
exit eventually tears down the procedure descriptors for the process before the
actuall exit system call is made.  But, since other threads are trying to raise
exceptions at the same time, they can no longer find any procedure descriptors
so as to complete their exception raise.  The exception handling system spits
out the message you reported when it runs into that problem.

The fix for the first problem has been submitted to the support pools.  The BL5
setld kits for V4.0* are the first kits to have this fix.

I do not know who has fixed the second problem, or if it has been submitted to
the support pools...

-Peter
9922.2exc_raise_exception bug.....CAMINO::MCDERMOTTThu May 22 1997 17:0811
    Peter,
    
    Thanks for the info.  Since my program at the time of the error 
    wasn't calling "exit" I'll assume its the first scenario you described.
    
    So anytime a thread raises an exception there is the possibility
    that the stack could get trashed?
    
    thanks
    Greg