Sign up on the Revelation Software website to have access to the most current content, and to be able to ask questions and get answers from the Revelation community

At 16 AUG 1999 01:45:35PM Matt Sorrell wrote:

Recently, we have had a rash of program stack overflow errors. I have tried everything I know, and the problem has been greatly reduced, but still exists.

We have a main window from which multiple processes are called. I have made as many functions and subroutines expendable as I can, but there are some that that need to stay resident or performance takes a major hit.

I'm really out of ideas here, and was hoping someone could shed some light on the subject for me. I know I've been rather vague about the whole process involved, but I'm somewhat limited in the information I can give out.

The window has a main commuter function behind it, and three other major functions that provide validation and data processing. There is a menu defined for the window that calls various programs, some subroutines and functions. I have made as many of these as possible.

There is also a softkey that provides access to a controlled menu. This menu also calls a number of functions, subroutines and straight programs. I have made a number of these functions and subroutines expendable as well.

As I mentioned, this has greatly reduced the problem, but it still occurs occasionally.

I'm beginning to think that we have stretched the current system almost to its limit (perhaps a design flaw), but am constrained to make it work. A rewrite of the process is not an option.

I would greatly appreciate any feedback (but please keep the flames to a low heat).

Matt Sorrell

[email protected]


At 16 AUG 1999 05:36PM Steve Smith wrote:

Matt,

Firstly, have you got any symbolics that use the {fieldname} notation? If you have, then replace these with @RECORD notation.

Secondly, I think that the program stack will accept 299 maximum entries. I recall a patch on Compuserve in about 1995 that said to edit $RTP2 (program loader) and one other object, looking for the number 0299. Can't remember the detail, unfortunately.

Thirdly, try using

expendable function

instead of

function

at the start of a few routines which are called only once or twice.

Steve


At 16 AUG 1999 08:34PM Warren wrote:

Are you using the so-call commuter program model? That is, do you have one program that is called using passing parameters from the various exit points in Windows? This will reduce the number of programs loaded into the stack to one for any running Window.

Andrew wrote a great skeleton utility to create the frame work of a communter program. I believe it is in the all.zip as skel or skeleton.

View this thread on the forum...

  • third_party_content/community/commentary/forums_nonworks/96a661f45be35704852567cf00618eaa.txt
  • Last modified: 2023/12/28 07:40
  • by 127.0.0.1