Informix Error -3754: You have exceed the pseudo machine stack space.
Cause and resolution
You have exceed the pseudo machine stack space.
Reduce the complexity of the form. In particular, reduce the level of nesting of loops and IF statements, and break very complicated expressions in LET statements up into simpler ones.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-3754 fires at runtime when the form's compiled logic exceeds the pseudo-machine's stack
space — per the official guidance, this typically comes from deeply nested loops/IF
statements or very complicated LET expressions.
- Deeply nested loops or
IFstatements, per the official guidance — the first named cause. - Very complicated expressions in
LETstatements, per the official guidance — the second named cause.
Solutions / Resolution
- Reduce the complexity of the form, per the official guidance.
- Reduce the level of nesting of loops and
IFstatements, per the official guidance. - Break very complicated
LETexpressions into simpler ones, per the official guidance.
Examples
Breaking up a complicated LET expression
INSTRUCTIONS
AFTER QUERY OF orders
LET step1 = (a+b)*(c-d);
LET step2 = step1/(e+f);
LET total = step2*(g-h);
END
END
Diagnostic Checks
- Check the form's
INSTRUCTIONSsection for deeply nested loops/IFstatements or complicatedLETexpressions, and simplify them.
Related Errors / Related Topics
- -2943 — "You have exceeded the pseudo machine capacity." A related pseudo-machine limit, about an overly complex expression at compile time rather than stack space at runtime.
- -2988 — "FORMBUILD has run out of memory." A related compiler-capacity limit, about overall memory exhaustion rather than stack space specifically.
The form's logic exceeded the pseudo-machine's stack space at runtime — simplify nested
loops/IF statements and break up complicated LET expressions.