How the problem manifests
While working with a document (e.g., when inserting an item from a price list), the operation fails with the error: java.lang.StackOverflowError
What the error means
This error means that a method call chain became too deeply nested, causing the call stack to be exhausted.
This can occur, for example:
due to a circular reference in the data (infinite processing)
due to repeated triggering of events in the interface (GUI)
or generally due to an uncontrolled repetition of an operation
Examples
1. Fees in the price list
The following can be observed in the log:
cz.winstrom.service.dok.impl.PoplatkyHelper.refreshPoplatkyByCenik(PoplatkyHelper.java:100)
cz.winstrom.service.dok.impl.PolDoklBLImpl.fillPolDoklCenikem(PolDoklBLImpl.java:7067)
cz.winstrom.service.dok.impl.PoplatkyHelper.refreshPoplatkyByCenik(PoplatkyHelper.java:100)
cz.winstrom.service.dok.impl.PolDoklBLImpl.fillPolDoklCenikem(PolDoklBLImpl.java:7067)
an item has a fee assigned to it
this fee has another fee configured
and that fee references back to the original one
How to resolve the issue
In the price list, remove the reference to the same fee.
2. Rendering issue (GUI)
The error can also occur while working with the interface, typically when displaying a large volume of data.
The log will then show repeated calls such as:
at java.awt.AWTEventMulticaster.componentMoved
at java.awt.AWTEventMulticaster.componentResized
👉 This means that:
a component is being repeatedly redrawn / recalculated
a loop is forming in the GUI events
How to resolve the issue
reduce the amount of displayed data (apply a filter, use a shorter date range)
close and reopen the agenda
