stack overflow

This forum is for general support of Xbase++
Post Reply
Message
Author
BruceN
Posts: 280
Joined: Thu Jan 28, 2010 7:46 am
Location: Slidell, LA

stack overflow

#1 Post by BruceN »

We have a customer doing beta testing on a new version with some new features. One of those newbies is recurrent invoicing with credit card processing. In running the routine (for several hundred customers) they get this crash:
(alaska 355, exp 254)

FATAL ERROR LOG
Stack Overflow
SYS Thread-ID: 800
Module: EH
Error Codes: EH: 12 Sub: 0(0) OS: 0 XPP: 16
Call Stack of Thread 1 (632):
@XBPDIALOG@I@CREATE(506)
@DC_GETLIST@I@INIT(805)
DC_READGUI(101)
DC_MSGBOX(283)
MRE_CURRING(8688)
RE_CURRING(8486)
MENUDISPATCHER(748)
CALL_PROC(699)
(B)SALEMENU@0059(652)
MAIN(400)
Call Stack of GUI Thread (800):
Call Stack of Thread 3 (1432):
@JD_MAGICHELPTHREAD@I@EXECUTE(67)
(B)@JD_MAGICHELPTHREAD@I@INIT@0000(36)
File: C:\pos\posv9\Config\posv9.exe
TimeStamp: 20110701 11:34
End of FATAL ERROR LOG.

I'm at a loss as to how to effectively debug this.

I'm guessing that the 'stack' (whatever is 'stacked') is getting filled with something from each invoice that isn't getting destroyed/released or whatever gets done to remove something from the stack.

Is there a way to view the actual 'stack' during running to see what is getting thrown on (in?) it repetitively until it overflows. Is there a better way to find the problem?

As always, I humbly bow before the wizards :)

bruce
There are only 10 kinds of people - those who understand binary and those who don't :)

User avatar
Auge_Ohr
Posts: 1407
Joined: Wed Feb 24, 2010 3:44 pm

Re: stack overflow

#2 Post by Auge_Ohr »

hi,
BruceN wrote:SYS Thread-ID: 800
Module: EH
Error Codes: EH: 12 Sub: 0(0) OS: 0 XPP: 16
Call Stack of Thread 1 (632):
...
Call Stack of GUI Thread (800):
Call Stack of Thread 3 (1432):
@JD_MAGICHELPTHREAD@I@EXECUTE(67)
(B)@JD_MAGICHELPTHREAD@I@INIT@0000(36)
File: C:\pos\posv9\Config\posv9.exe
i would say it happend in GUI Thread (800). try to increase STACK in your *.XPJ

... btw. where are your MagicHelp come from ... DBF or Array ?
greetings by OHR
Jimmy

User avatar
Tom
Posts: 1171
Joined: Thu Jan 28, 2010 12:59 am
Location: Berlin, Germany

Re: stack overflow

#3 Post by Tom »

"Module EH" means the error is caused by the error handler. You may have an endless iteration/recursion there, maybe in your "errorsys.prg". The error causing this is something else.
Best regards,
Tom

"Did I offend you?"
"No."
"Okay, give me a second chance."

User avatar
Auge_Ohr
Posts: 1407
Joined: Wed Feb 24, 2010 3:44 pm

Re: stack overflow

#4 Post by Auge_Ohr »

Tom wrote:"Module EH" means the error is caused by the error handler. You may have an endless iteration/recursion there, maybe in your "errorsys.prg". The error causing this is something else.
Yes ... this is the Reason why he got a XppFatal.log but the Error itself happend in other Thread.

Error is in SYS Thread-ID: 800 so it is the GUI Thread ... most seen with MagicHelp / DBF and own Thread

@bruce : did you have some own Eventhandler or did you use 4th Parameter "Timeout" in AppEvent() ?
greetings by OHR
Jimmy

Post Reply