"Change Icon" In Topology Map Fails
Description
Environment
Acceptance / Success Criteria
Attachments
Lucidchart Diagrams
Activity

Markus von Rüden October 23, 2018 at 11:43 AM
PR which fixes the flapping test: https://github.com/OpenNMS/opennms/pull/2181

Jesse White October 5, 2018 at 4:35 PMEdited
Re-opening this one, test the is currently failing in develop
- I've disabled it with https://github.com/OpenNMS/opennms/commit/b84cafe6ce956b092d58af7371ecdf2e06b64a83.
We also need to backport this to foundation-2018
if applicable.

Patrick Schweizer September 12, 2018 at 6:21 PM
It looks like the problem is caused by multiple definitions of the class org.json.JSONArray.
org.json.JSONArray is defined in the following jars:
Excluding all other versions from module vaadin seems to work:
PR: https://github.com/OpenNMS/opennms/pull/2148

Tobias S August 23, 2018 at 1:52 PM
Same problem for me. Changing the icon worked in Version 21.0.4. Version 22.0.3 produces the same error for me. The important part in the log is imho:
Caused by: java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "org.opennms.features.topology.app.internal.ui.icons.IconSelectionComponent$$Lambda$663/1566691508.call(Lorg/json/JSONArray;)V" the class loader (instance of org/apache/felix/framework/BundleWiringImpl$BundleClassLoader) of the current class, org/opennms/features/topology/app/internal/ui/icons/IconSelectionComponent$$Lambda$663, and the class loader (instance of org/apache/felix/framework/BundleWiringImpl$BundleClassLoader) for interface com/vaadin/ui/JavaScriptFunction have different Class objects for the type org/json/JSONArray used in the signature
{{ at sun.misc.Unsafe.defineAnonymousClass(Native Method) ~[?:?]}}

Michel P. van Dam August 20, 2018 at 1:06 PM
The problem is not solved in the latest release 22.0.3
Right mouse on a node and select "Change Icon" generates a pop-up box in bottom/right of window "An Unexpected Exception Occurred: see karaf.log"
I don't find anything while performing tail -f karaf.log and reproducing the error in the Web UI