Alaska Software Inc. - Re: Frequent XPPFATAL in WAA
Username: Password:
AuthorTopic: Re: Frequent XPPFATAL in WAA
Andreas Gehrs-Pahl
Re: Frequent XPPFATAL in WAA
on Sun, 25 Sep 2005 17:12:44 -0400
Curtis,

I don't think you are reading the XppFatal Log quite right. The error log 
is caused by an IDSC (Internal Data Structures Corrupted) error in one of 
your DLLs -- and apparently not the WAA Main thread or one of the Xbase++ 
runtime background threads!

>FATAL ERROR LOG
>Error within the error handling!
>SYS Thread-ID: 1508
>Module: EXE
>Error Codes: EH: 5 Sub: -1073741819(c0000005) OS: 0 XPP: 41
>Call Stack of Thread 1 (476):
>Call Stack of Thread 2 (1368):
>Call Stack of Thread 3 (1508):
><non constant name>(1286982308)

Here is where the error occurred, in Thread number 3 (with Thread Handle/ID 
1508). As you can see, the call stack information shown is useless, though! 
One additional (but probably useless) piece of information is that the error 
was raised by the Xbase++ Expression Executer ("Module: EXE").

>What is consistent are the error codes and the call stack of thread 1 
>in WAA.

As the call stack from Thread number 1 is:

>Call Stack of Thread 1 (476):
>SRVSERVEFRONTEND(714)
>MAIN(145)

I am not surprised at all! Thread 1 seems to be in a simple loop inside a 
function/procedure called "SrvServeFrontend()", so it is probably in that 
part of the code most of the time -- if there is an error or not.

There are many possible reasons for IDSCs -- and the mangled call stack 
information doesn't make it easier to pinpoint the cause. The only time 
I have seen such a "<non constant name>(number)" message was with an "10" 
Error Subcode rather than a "5" (IDSC) Error Subcode. 

Only Alaska could (possibly) explain what this means or what the cause for 
this kind of error might be. But as the error seems to happen frequently, 
and as it is obviously happening in one of your DLLs, you should be able to 
submit a working (error-producing) example to Alaska, so they can possibly 
explain or even fix it!

But for starters, you should check your code for all the known reasons for 
IDSCs, and try to eliminate those. Some (but not all) can be found here 
(the URL will definitely wrap, though):

http://www.alaska-software.com/scripts/waa001.dll?WAA_PACKAGE=PUBLICDTS&WAA_FORM=SearchPDR&SEARCHSTRING=IDSC&Submit=Search&STATE_SELECT=0&OS_SELECT=%3BALL%3BNT4.0%3BNT5%3BOS%2F2%3BOS2%3BW2000%3BW32%3BW95%3BW95OS2%3BW98%3BWIN%3BWIN23%3BWIN32%3BWIN95%3BWIN98%3BWINNT%3BWINXP%3BWINXPP%3BWINXPH%3BWXP%3BWXPP%3BWXPH%3B

-- Andreas

---                                                                      ---
  Andreas Gehrs-Pahl              E-Mail: GPahl@CharterMI.net
  415 Gute Street                     or: Andreas@DDPSoftware.com
  Owosso, MI 48867-4410               or: Andreas@Aerospace-History.net
  Tel: (989) 723-9927           Web Site: http://www.Aerospace-History.net
---                                                                      ---