Main menu fails with a concurrency error when several users log in at the same time (2.8.2)

ConcurrentModificationException building ListMenu under concurrent logins (Jmix 2.8.2, regression vs 2.7.x)

▎ When multiple open sessions reconnect simultaneously (e.g. SSO sessions after a restart), building the main ListMenu throws ConcurrentModificationException → error page.
▎ Cause: the shared MenuConfig MenuItem.icon is mutated during copy — ComponentUtils.copyAbstractIconAttributes calls source.getTooltip(), which lazily attaches a tooltip
▎ element to the shared source icon; concurrent menu builds mutate the same StateNode in parallel.

▎ Details, stack trace, a standalone reproduction and our workaround are in the attached file.

jmix-bug-report-menu-icon-cme.md (5.4 KB)

Hi,

Thank you for reporting the problem, I’ve created a GutHub issue.

Regards,
Gleb