Maintain Server Stack Overflow Error
June 20, 2007, 10:47 AMRichardA
Maintain Server Stack Overflow Error
I am getting the following error in a Maintain Server:
06/20/2007 09:05:33 error in runtime maintain stack overflow auto: type= IWCTRIGGERGEN newsp=
06/20/2007 09:05:33 > 32776 MaxStackSize= 32768
Does anyone have any suggestions on what this means? Is there some range checking that I have to do in the maintain or can this be fixed with a server setting? Any information would be appreciated.
June 21, 2007, 03:55 AMAlan B
The only point that comes to mind is that too many WINFORMs have been opened, without the previous forms being closed correctly. For example FORM A calls form B, then B calls A, and then A calls C. If previous forms are not closed as new ones open you can have 4 WINFORMs open, and this can easily expand. This causes a memory issue on the server, hence the error.
There is documentation about a driver procedure here
that may help and ensure that only one form is open at any one time.
June 21, 2007, 07:19 AMRichardA
Thanks for the information.
Sandbox Version: 8.1.04
Sandbox Platform: Windows 2008 R2
Testing Version: 7.7.02M
Testing Platform: Windows Server 2008 R2
WF Production Version: 7.7.02M
Production Platform: Windows Server 2008
June 22, 2007, 10:48 AMMaintain Wizard
There are a couple of things that could case the MaxStackSize error. If there is any other error message, that would be helpful. Especially if there is an 888 error. Some of these things are:
1) Too many nested IF - THEN - ELSE statements. I think there was a limit of 30. More than that could case the error.
2) Many ON NEXT / ON NONEXT statements. If you are looping through your database one record at a time, and checking if there are anymore, you definitly hit this limit. The way around that is to check for FocFetch. If FocFetch=0 then there are more records. If FocFetch=1, then no more records.
3) Too Many lines or objects on Winforms. If this is a VERY large maintain, or there are hundreds of items on your form, you could hit a tokens limit, but I think that's a different error message.
I hope this helps. If not, let me know if there is any more info in the error.
June 20, 2011, 01:32 AMArvindia
Good to be back after a looooong time. Resurrecting an old thread here.
I am working on a maintain workflow application. In that application , i have around 12000 dropdowns in a single screen. The user has to basically approve or reject the data elements based on the reports he can generate on the screen. After the user approves a data element , the screen refreshes to show the updated screen. At first the screen took a long time to render (which is natural considering the size). So i divided this application into 10 pages (not forms). Each page has limited elements shown and user has to browse through the pages using NEXT and PREVIOUS buttons. I achieved this using a loop.
Now the snag , I had to add an extra functionality which requires me to add couple of extra IF THEN ELSE statements.
After I approve or reject an element , the screen is not able to refresh and i hit a dead end ( screen goes blank with a EDA NODATA message).
I raised a case against this and got the solution that i should divide into different procedures. But this will change our requirement if we divide into different procedures.
Any workaround for this? I can definitely provide more info on my application if required.
Thank you all for your time and help
Windows, All Outputs
June 20, 2011, 11:19 AMMaintain Wizard
I remember seeing this case come in...
I single Maintain procedure can CALL other procedures. I believe this is what was suggested. When one Maintain is done, it can return to the parent. This way you don't have to worry about having too much data in memory at any given time.
If this isn't something you can do, then we may be able to save memory by clearing the stacks after approval.
I am going to have to take a look at your code and see if I can repro the issue and get you a solution. I AM going to need your data files. I hope that that is possible. If you have already posted every thing to tech support, I will look first thing in the morning. If not, it would be great if you could zip everything up and send it to me. EXACT step by step repro instructions as well as your release is needed.
I hope I can help.