java.lang.IllegalArgumentException: Trying to detach an element from parent

Hi there, I’m a student who’s writing his bachelor thesis. Actually I’m more hardware oriented, but one task in my thesis is to write a web interface for an application. Therefore I searched a framework that takes as much as possible HTML, CSS & JavaScript away from me. Finally I landed by Vaadin. Everything worked fine until I noticed following strange behavior (maybe a bug, maybe my stupidity):

Small info: I’m using Gradle with Vaadin 14 & Spring Boot

You can see the whole project on GitLab: [https://gitlab.com/aDramaQueen/mbussplitter]
(https://gitlab.com/aDramaQueen/mbussplitter)

I identified the problem: If I scan for meter devices (primaryScan() or secondaryScan()) in
src/main/java/web/ui/MeterView.java
and find some devices & then leave the view & then try to come back the exception will be thrown.
If devices are found, they are saved as a list (private final static List<MeterBusDevice> currentMeterList) in
src/main/java/web/WebInterface.java.
The strange part is: If i find devices via primaryScan() or secondaryScan() but clear all found devices (clearList()) before I leave the view, everything works fine?!?

So it appears to me: I must’nt hold any MeterBusDevice. This seems odd to me…

I hope I have expressed myself clearly. I would appreciate any advice. Thanks.

Complete life cycle until the Exception appears with StackTrace as attachment.

18482929.txt (50.7 KB)

OK, I solved it. I instantiated an Icon in an Enum class constructor (,therefore it will always be the same icon) & tried to reuse that Icon. This Icon shows up if one device is detected.

As I shifted the creation to an own method, everything works now!