This is on 8.3.4-RC1.
I have a pop-up that only has an AlarmStatusTable control and a custom string property called AlarmPath, everything is the defaults except there is an expression binding on the Source Filter property:
”*” + replace({Root Container.AlarmPath}, "[default]", "") + "/*"
This works just fine, until I do the following:
- Open the display for a tag path (no errors shown)
- Shelve the alarm
- Close the display
- Open the display for a different tag path
Once I do that, the following error is displayed:
java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException
at java.base/java.util.concurrent.FutureTask.report(Unknown Source)
at java.base/java.util.concurrent.FutureTask.get(Unknown Source)
at java.desktop/javax.swing.SwingWorker.get(Unknown Source)
at com.inductiveautomation.factorypmi.application.components.AlarmStatusTable$ShelfManagementPanel$Loader.done(AlarmStatusTable.java:2506)
at java.desktop/javax.swing.SwingWorker$5.run(Unknown Source)
at java.desktop/javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(Unknown Source)
at java.desktop/sun.swing.AccumulativeRunnable.run(Unknown Source)
at java.desktop/javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(Unknown Source)
at java.desktop/javax.swing.Timer.fireActionPerformed(Unknown Source)
at java.desktop/javax.swing.Timer$DoPostEvent.run(Unknown Source)
at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.UnsupportedOperationException
at java.base/java.util.Collections$UnmodifiableCollection$1.remove(Unknown Source)
at com.inductiveautomation.factorypmi.application.components.AlarmStatusTable$ShelfManagementPanel$Loader.doInBackground(AlarmStatusTable.java:2495)
at com.inductiveautomation.factorypmi.application.components.AlarmStatusTable$ShelfManagementPanel$Loader.doInBackground(AlarmStatusTable.java:2445)
at java.desktop/javax.swing.SwingWorker$1.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.desktop/javax.swing.SwingWorker.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Ignition v8.3.4-rc1 (b2026020208)
Java: Azul Systems, Inc. 17.0.17
This looks like an internal error, something with the “ShelfManagementPanel” callback… Once the alarm is unshelved (either by timeout or explicitly doing so) the exception goes away.