Skip to main content

Error: class java.lang.StackOverflowError

When working with a document (e.g. when inserting an item from a price list), the operation crashes with an error: java.lang.StackOverflowError

Written by Petr Pech

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

Did this answer your question?