Alaska Software Inc. - TopDown ToolTip and XPPFATAL
Username: Password:
AuthorTopic: TopDown ToolTip and XPPFATAL
Karl Heinz HammelrathTopDown ToolTip and XPPFATAL
on Mon, 28 Jan 2008 22:53:38 +0100
Hi there,

i use the ToolTip function from the TopDown-Lib. But somtimes i get a 
XPPFATAL Error like this:

FATAL ERROR LOG
System-Error
SYS Thread-ID: 492
Module: EVM
Error Codes: EH: 4 Sub: 6(6) OS: 6 XPP: 40
Call Stack of Thread 1 (388):
MAIN(1936)
Call Stack of Thread 2 (592):
Call Stack of Thread 3 (888):
KHSLEEP(3900)
AUFGABENPRUEFUNG(3610)
Call Stack of Thread 4 (936):
Call Stack of Thread 5 (1008):
Call Stack of Thread 6 (1052):
KHSLEEP(3900)
STATUS(2730)
Call Stack of Thread 7 (1240):
Call Stack of Thread 9 (1104):
File: F:\alaska\Projekte\hvw\Entwicklung\HVW-WIN.EXE
TimeStamp: 20080122 10:31
End of FATAL ERROR LOG.

Does anybody know what's going wrong?

Karl Heinz
Andreas Gehrs-Pahl
Re: TopDown ToolTip and XPPFATAL
on Tue, 29 Jan 2008 03:42:10 -0500
Karl Heinz,

>i use the ToolTip function from the TopDown-Lib. But somtimes i get a 
>XPPFATAL Error like this:

I don't think this has anything to do with TD or the ToolTip function.
This is a typical internal Xbase++ runtime error, where some handle is
messed up. This happens sometimes with multi-threaded Xbase++ applications
and I don't think there is anything you can do about it. You can just be
happy that you simply get an XppFatal log with an OS Error 6 -- which
means "Invalid Handle" -- in a System Thread (in your case with Thread 
ID 492) which runs the Event Manager (EVM).

>FATAL ERROR LOG
>System-Error
>SYS Thread-ID: 492
>Module: EVM
>Error Codes: EH: 4 Sub: 6(6) OS: 6 XPP: 40

If you are unlucky and your program is writing to (rather than reading 
from) that (wrong file) handle and the handle has been mixed up with one 
of your database file handles, you could end up with corrupted database 
headers. This has actually happened several times over the last couple 
of years at a small number of our clients, where the program over wrote 
the top of a database (header) instead of adding the text to the end of 
a log file. The actual reason for the IDSC that seems to corrupt the 
file handles is completely unknown to me, though. And as it is not 
reproducible, there is very little chance that this might be fixed by 
Alaska -- unless by accident.

-- 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
---                                                                      ---
Clayton Jones Re: TopDown ToolTip and XPPFATAL
on Sat, 02 Feb 2008 15:03:13 -0500
Hello Andreas,

>I don't think this has anything to do with TD or the ToolTip function.
>This is a typical internal Xbase++ runtime error, where some handle is
>messed up. This happens sometimes with multi-threaded Xbase++ applications
>and I don't think there is anything you can do about it. You can just be
>happy that you simply get an XppFatal log with an OS Error 6 -- which
>means "Invalid Handle" -- in a System Thread (in your case with Thread 
>ID 492) which runs the Event Manager (EVM).

After reviewing some of Karl's code, it turns out he subclassed a TD
object and changed or left out some tooltip handling code in some
overloaded methods.  I don't know exactly what was going on
handle-wise, but it was enough to create an occasional fatal error on
this particular object.  So, mystery uncovered.



Regards,
Clayton

Clayton Jones   www.cjcom.net 
 Top-Down Library for Xbase++
 X-DBU Database Utility   
 X-MEMO Memo Field Replacement