Last update: 23 December 2020 (cf)
This article informs about the backgrounds of the eventlog message FSCVAPP-00106: CheckStackDepth: too many steps on stack; maximum process steps on stack .
The message is triggered, if a user opens more vapp instances (e.g. overlays) in the web client then the maximum specified stack size (default Windows: 135 / Linux: 256). In the case that this message appears in the log, the mentioned user was dropped out from the vapp stack and is redirected to the initial location in the web client.
The vapp stack holds information about recursively opened vapps. Overlays or search results are examples of that kind of vapps. For easier reading, the following example is talking about overlays.
When a user opens the properties of an object, the object is opened in an overlay in the web client (increases the vapp stack size).
Inside of the shown overlay, a user may open the properties of a linked object inside of the overlay, or opens a search for an object. Therefore, the new opened vapp increases the vapp stack size again.
Continuing to again open vapps inside vapps inside vapps... will further increase the vapp stack size. Closing a vapp (e.g. an overlay) will decrease the stack.
All the data of the opened vapps are stored in this stack. As holding this stack requires memory for every entry, the stack size is limited.
The default limit of this stack in Microsoft Windows environments is 135 elements.
The default limit of this stack in Linux environments is 256 elements.
This limit is very high and it is very uncommon, that a user reaches this limit.
If the stack size is exceeded, Fabasoft Folio assumes an erroneously behaviour e.g. of a virtual application, and completely closes the stack as a cleanup measure.
For the user in the web client, this appears as a closing of all overlays. The user is taken back to the start point before opening the first vapp of the stack. No message is shown to the user.
The web server logs a message to the log:
FSCVAPP-00106: CheckStackDepth: too many steps on stack; maximum process steps on stack: 135
and the user that was affected. The message also contains the current set maximum limit, by default 135.
If this is a singular case, you usually can ignore the message.
In the case that the message is logged regularly, Fabasoft recommends to qualify the use-case of the user(s) that triggered the message. It may point out inconvenient design of the use-case, or an error in the virtual application.
Fabasoft recommends not to increase the stack size as long as the affected use-case was not analyzed in depth.
Kernel environment variable
FSCVAPP_MAX_STACKDEPTH
Default: 135
Minimum: Windows 135 / Linux 256
Maximum: -
The maximum stack size is operating system dependent. If the maximum stack size is set to high and the limit is nearly reached, the Fabasoft Folio Web Service may crash with an exception.
Therefore, Fabasoft does not support to increase the maximum stack size without arrangement with Fabasoft Support. Please contact Fabasoft Support if you have a demand to increase the value.