Page 1 of 2

Fatal Error

Posted: Thu Nov 21, 2013 12:25 pm
by omni
Roger,

We have a client that is having a lot of fatal errors, meaning the app just closes without any messages.
The fatal errors are always different, except most say Stack Overflow and then have list of threads, sometime just 1, sometimes a dozen.

I have no idea what these threads mean in the fatal log file. I think stack overflow is memory issue of some sort.

Here is one of them:

File: Z:\oiswin\OPMENU.EXE
TimeStamp: 20131120 14:02
End of FATAL ERROR LOG.
FATAL ERROR LOG
Not recoverable Error!
SYS Thread-ID: -1
Module: EH
Error Codes: EH: 900 Sub: 0(0) OS: 0 XPP: 0
Call Stack of Thread 1 (676):
Call Stack of GUI Thread (860):
Call Stack of Thread 3 (1476):
Call Stack of Thread 4 (1772):
@JD_MAGICHELPTHREAD@I@EXECUTE(67)
(B)@JD_MAGICHELPTHREAD@I@INIT@0000(36)
Call Stack of Thread 5 (3876):
Call Stack of Thread 6 (3680):
Call Stack of Thread 7 (3832):
Call Stack of Thread 8 (1544):
Call Stack of Thread 9 (1572):
Call Stack of Thread 10 (2044):
Call Stack of Thread 11 (1620):

On this one there is no program open from the menu (according to the log, just the menu itself, which is opmenu.exe). We allow no more than 3 menu options at a time.
Some just say thread 4,etc..not a list like this. So its very confusing to me what these threads indicate
However, with each thread error, the line number referenced is the same. (ie, thread 5 is always 3876)

If it matters, the entire system runs on a terminal server, no client server, 50 users approx. Server 2008 64 bit.

Just looking for any input to explain or assist the user..having a meeting Monday.

Fred
Omni

Re: Fatal Error

Posted: Fri Nov 22, 2013 6:36 am
by Cliff Wiernik
Contact Alaska software with the fatal error log. They can analyze the log to let you know what it means. I have eliminated most of my fatal errors by making certain the program is run off of drive local to the machine running the application as opposed to off of a network share. Had to do with windows swapping out of the program to disk and experiencing timing issues reading the swapped program back in.

In addition to doing this, Alaska provided me with a revised copy of alink that set a flag so that prevents windows from swapping the program out of memory to the hard disk.

Fatal errors for this reason have been virtually eliminated.

Cliff.

Re: Fatal Error

Posted: Fri Nov 22, 2013 7:46 am
by skiman
Hi CLiff,

Do I understand it right that you hade eliminated fatal errors by running the application from the local drive instead of the network drive?

Re: Fatal Error

Posted: Fri Nov 22, 2013 7:41 pm
by rdonnay
Stack Overflow is NOT a memory problem, it's a recursion problem.

It's usually caused in the error handler, where the error handler creates another error.

Do you have one of the *.log files that shows the Stack Overflow?

Re: Fatal Error

Posted: Sat Nov 23, 2013 5:40 pm
by omni
Here is a paste of a few...they all combine into one xppfatal log, which is too large to send for this client. They all differ.

FATAL ERROR LOG
Not recoverable Error!
SYS Thread-ID: -1
Module: EH
Error Codes: EH: 900 Sub: 0(0) OS: 0 XPP: 0
Call Stack of Thread 1 (676):
Call Stack of GUI Thread (860):
Call Stack of Thread 3 (1644):
@DC_GETLIST@I@EVENTLOOP(3917)
@DC_GETLIST@I@READGUI(3647)
DC_READGUI(103)
BROKUPD(652)
(B)(B)MAIN@0129(1207)
Call Stack of Thread 4 (1784):
@JD_MAGICHELPTHREAD@I@EXECUTE(67)
(B)@JD_MAGICHELPTHREAD@I@INIT@0000(36)
File: Z:\oiswin\OPMENU.EXE
TimeStamp: 20131114 17:13
End of FATAL ERROR LOG.
FATAL ERROR LOG
System-Error
SYS Thread-ID: 676
Module: MOM
Error Codes: EH: 4 Sub: 5(5) OS: 5 XPP: 40
Call Stack of Thread 1 (676):
DC_GETBLOCK(478)
@DC_XBASEPARTS@I@INIT(6566)
@DC_XBPSTATIC@I@INIT(166)
@DC_GETLIST@I@READGUI(1827)
DC_READGUI(103)
DC_WAITON(603)
ERRORLOG(700)
STANDARDEH(297)
(B)ERRORSYS@0000(59)
QCOLOR(58)
MDIBLOCK(3962)
(B)MAIN@0008(745)
SENDMAIL(862)
SENDEMAIL(882)
ERRORLOG(702)
STANDARDEH(297)
(B)ERRORSYS@0000(59)
QCOLOR(58)
MDIBLOCK(3962)
(B)MAIN@0008(745)
@DC_GETLIST@I@EVENTLOOP(4388)
@DC_GETLIST@I@READGUI(3647)
DC_READGUI(103)
MAIN(3882)
Call Stack of GUI Thread (860):
Call Stack of Thread 3 (4128):
@DC_GETLIST@I@EVENTLOOP(3917)
@DC_GETLIST@I@READGUI(3647)
DC_READGUI(103)
BOOKWIN(1447)
(B)(B)MAIN@0008(745)
Call Stack of Thread 4 (1780):
@JD_MAGICHELPTHREAD@I@EXECUTE(67)
(B)@JD_MAGICHELPTHREAD@I@INIT@0000(36)
Call Stack of Thread 5 (4116):
Call Stack of Thread 6 (4176):
Call Stack of Thread 7 (4252):
@DC_GETLIST@I@EVENTLOOP(3917)
@DC_GETLIST@I@READGUI(3647)
DC_READGUI(103)
FLTCTRL(231)
(B)(B)MAIN@0013(771)
Call Stack of Thread 8 (4316):
Call Stack of Thread 9 (4364):
Call Stack of Thread 10 (4412):
File: Z:\oiswin\OPMENU.EXE
TimeStamp: 20131114 17:36
End of FATAL ERROR LOG.
FATAL ERROR LOG
System-Error
SYS Thread-ID: 1612
Module: MOM
Error Codes: EH: 4 Sub: 5(5) OS: 5 XPP: 40
Call Stack of Thread 1 (676):
@DC_GETLIST@I@EVENTLOOP(3917)
@DC_GETLIST@I@READGUI(3647)
DC_READGUI(103)
MAIN(3882)
Call Stack of GUI Thread (860):
Call Stack of Thread 3 (3336):
@DC_GETLIST@I@EVENTLOOP(3917)
@DC_GETLIST@I@READGUI(3647)
DC_READGUI(103)
BOOKWIN(1447)
(B)(B)MAIN@0008(745)
Call Stack of Thread 4 (1612):
DC_CALCABSOLUTEPOSITION(1304)
@JD_MAGICHELP@I@DISPLAYTOOLTIP(407)
@JD_MAGICHELP@I@SHOWTIP(360)
@JD_MAGICHELP@I@TESTTOOLTIP(310)
@JD_MAGICHELPTHREAD@I@EXECUTE(52)
(B)@JD_MAGICHELPTHREAD@I@INIT@0000(36)
Call Stack of Thread 5 (1552):
Call Stack of Thread 6 (3220):
Call Stack of Thread 7 (3404):
Call Stack of Thread 8 (3468):
File: Z:\oiswin\OPMENU.EXE
TimeStamp: 20131114 19:14
End of FATAL ERROR LOG.
FATAL ERROR LOG
System-Error
SYS Thread-ID: 860
Module: MOM
Error Codes: EH: 4 Sub: 487(1e7) OS: 487 XPP: 40
Call Stack of Thread 1 (676):
MDIBLOCK(3960)
(B)MAIN@0051(914)
@DC_GETLIST@I@EVENTLOOP(4388)
@DC_GETLIST@I@READGUI(3647)
DC_READGUI(103)
MAIN(3882)
Call Stack of GUI Thread (860):
Call Stack of Thread 3 (1488):
@DC_GETLIST@I@EVENTLOOP(3917)
@DC_GETLIST@I@READGUI(3647)
DC_READGUI(103)
BOOKWIN(1447)
(B)(B)MAIN@0008(745)
Call Stack of Thread 4 (1784):
@JD_MAGICHELPTHREAD@I@EXECUTE(60)
(B)@JD_MAGICHELPTHREAD@I@INIT@0000(36)
Call Stack of Thread 5 (1612):
File: Z:\oiswin\OPMENU.EXE
TimeStamp: 20131114 19:21
End of FATAL ERROR LOG.
FATAL ERROR LOG
Not recoverable Error!
SYS Thread-ID: -1
Module: EH
Error Codes: EH: 900 Sub: 0(0) OS: 0 XPP: 0
Call Stack of Thread 1 (676):
Call Stack of GUI Thread (860):
Call Stack of Thread 3 (1496):
Call Stack of Thread 4 (1784):
@JD_MAGICHELPTHREAD@I@EXECUTE(67)
(B)@JD_MAGICHELPTHREAD@I@INIT@0000(36)
Call Stack of Thread 5 (1400):
Call Stack of Thread 6 (1736):
Call Stack of Thread 7 (1756):
File: Z:\oiswin\OPMENU.EXE
TimeStamp: 20131114 20:41
End of FATAL ERROR LOG.
FATAL ERROR LOG
Not recoverable Error!
SYS Thread-ID: -1
Module: EH
Error Codes: EH: 900 Sub: 0(0) OS: 0 XPP: 0
Call Stack of Thread 1 (676):
Call Stack of GUI Thread (860):
Call Stack of Thread 3 (1484):
Call Stack of Thread 4 (1764):
@JD_MAGICHELPTHREAD@I@EXECUTE(67)
(B)@JD_MAGICHELPTHREAD@I@INIT@0000(36)
Call Stack of Thread 5 (3392):
Call Stack of Thread 6 (3428):
Call Stack of Thread 7 (3480):
Call Stack of Thread 8 (3544):
File: Z:\oiswin\OPMENU.EXE
TimeStamp: 20131114 22:24
End of FATAL ERROR LOG.
FATAL ERROR LOG
System-Error
SYS Thread-ID: 1288
Module: MOM
Error Codes: EH: 4 Sub: 487(1e7) OS: 487 XPP: 40
Call Stack of Thread 1 (676):
@DC_GETLIST@I@EVENTLOOP(3917)
@DC_GETLIST@I@READGUI(3647)
DC_READGUI(103)
MAIN(3882)
Call Stack of GUI Thread (860):
Call Stack of Thread 3 (1288):
@XBPPUSHBUTTON@I@HANDLEEVENT(964)
@DC_GETLIST@I@EVENTLOOP(4388)
@DC_GETLIST@I@READGUI(3647)
DC_READGUI(103)
BOOKWIN(1447)
(B)(B)MAIN@0008(745)
Call Stack of Thread 4 (1784):
@JD_MAGICHELPTHREAD@I@EXECUTE(67)
(B)@JD_MAGICHELPTHREAD@I@INIT@0000(36)
Call Stack of Thread 5 (1736):
Call Stack of Thread 6 (2076):
File: Z:\oiswin\OPMENU.EXE
TimeStamp: 20131115 01:17
End of FATAL ERROR LOG.

Re: Fatal Error

Posted: Sun Nov 24, 2013 9:16 am
by rdonnay
There's nothing in your log that shows a "stack overflow".

Instead, it appears that you are getting Xbase++ internal errors in the memory manager.

This takes patience to figure out.

Is this happening at all workstations?

Re: Fatal Error

Posted: Sun Nov 24, 2013 10:32 am
by omni
Yes, I guess this group I pasted did not, but others do...

Its on remote access terminal server, so technically its all one work station..but yes, it happens to all the users at one time or another. The fatal log file does not record who it is like our error log does.
Checked the log file and the stack overflow is about 20% of the time.

Here is the latest one..this is one the accounting manager said occurred, so it was easy to see what she was doing due to menu items referenced.

FATAL ERROR LOG
Stack Overflow
SYS Thread-ID: 1632
Module: EH
Error Codes: EH: 12 Sub: 0(0) OS: 0 XPP: 16
Call Stack of Thread 1 (676):
@DC_GETLIST@I@EVENTLOOP(3917)
@DC_GETLIST@I@READGUI(3647)
DC_READGUI(103)
MAIN(3883)
Call Stack of GUI Thread (860):
Call Stack of Thread 3 (1632):
VENDSCAN(19)
(B)DEDUPDAT@0025(602)
_READCLICK(2363)
(B)_PopClick(2344)
_POPUPBUTTONACTIVATE(2397)
(B)@DC_XBPGET@I@CREATE(664)
@XBPPUSHBUTTON@I@HANDLEEVENT(964)
@DC_GETLIST@I@EVENTLOOP(4388)
@DC_GETLIST@I@READGUI(3647)
DC_READGUI(103)
DEDUPDAT(665)
(B)STDEDUCT(270)
@DC_XBPPUSHBUTTON@I@ACTION(2238)
(B)@DC_XBPPUSHBUTTON@I@INIT(1808)
@XBPPUSHBUTTON@I@HANDLEEVENT(964)
@DC_GETLIST@I@EVENTLOOP(4388)
@DC_GETLIST@I@READGUI(3647)
DC_READGUI(103)
STDEDUCT(313)
(B)(B)MAIN@0363(2279)
Call Stack of Thread 4 (1540):
@JD_MAGICHELPTHREAD@I@EXECUTE(67)
(B)@JD_MAGICHELPTHREAD@I@INIT@0000(36)
File: Z:\oiswin\OPMENU.EXE
TimeStamp: 20131122 13:14
End of FATAL ERROR LOG.

Re: Fatal Error

Posted: Mon Nov 25, 2013 5:27 am
by Cliff Wiernik
Yes, the majority of our fatal errors,when analyzed by Alaska indicated that they occurred when windows tried to reload code that had been swapped out. This was especially apparent on a terminal server that one customer uses for all workstation access.

We had used ADS and the program was originally on the drive with the data, on the ads server. We move the program to be loaded from a mapped drive on the terminal server and since then we have had few fatal errors.

Cliff.

Re: Fatal Error

Posted: Mon Nov 25, 2013 1:10 pm
by Auge_Ohr
Cliff Wiernik wrote:In addition to doing this, Alaska provided me with a revised copy of alink that set a flag so that prevents windows from swapping the program out of memory to the hard disk.
hm ... wonder why Xbase++ Application have Problem with Swap file ?
is this only with Terminal Server ?

@omni : you are using a lot of Threads ...
SYS Thread-ID: -1
Module: EH
hm ... a negative Thread-ID ?
SYS Thread-ID: 1612
Module: MOM
Error Codes: EH: 4 Sub: 5(5) OS: 5 XPP: 40

Call Stack of Thread 1 (676):
Call Stack of GUI Thread (860):
Call Stack of Thread 3 (3336):
Call Stack of Thread 4 (1612):
...
EH : 4 -> Operating system error
Sub : 5(5) -> Caused by: Various things, including: "Memory(0)", ":UpdateBuffer()","AppEvent()", "ValType()", etc.
OS : 5 -> ERROR_ACCESS_DENIED
Xpp : 40 -> XPP_ERR_DOS Operating system error: occurs if the error cannot be identified more precisely.

all your Fatal Log include JD_MAGICHELPTHREAD@I@EXECUTE in Thread 4 is working.
where are "Data" for help come from ? DBF (ERROR_ACCESS_DENIED) or Array ?

Re: Fatal Error

Posted: Fri Dec 27, 2013 11:53 am
by omni
Roger,

Just to let everybody know, moving the exe and dll files (and many other related files that had to be in that folder) to the terminal server took care of all the errors. We left the data files on the data server.

Thanks for the tips.

Fred
Omni