NPE from UC interface editor ConfigurationPropertiesSection
ERROR [2024-01-24 09:11:13,281] org.simantics.modeling.ui.componentTypeEditor.ConfigurationPropertiesSection: Finding UserDefinedProperties failed.
java.lang.NullPointerException: Cannot read field "id" because "impl" is null
at org.simantics.db.impl.graph.ReadGraphImpl.isImmutable(ReadGraphImpl.java:5695)
at org.simantics.db.layer0.adapter.impl.EntityInstances$QueryIndex.isImmutable(EntityInstances.java:139)
at org.simantics.db.impl.query.ReadEntry.isImmutable(ReadEntry.java:210)
at org.simantics.db.impl.query.QueryListening.registerDependencies(QueryListening.java:103)
at org.simantics.db.impl.query.QueryCache.runnerReadEntry(QueryCache.java:696)
at org.simantics.db.impl.graph.ReadGraphImpl.syncRequest(ReadGraphImpl.java:1992)
at org.simantics.db.impl.graph.ReadGraphImpl.syncRequest(ReadGraphImpl.java:1985)
at org.simantics.db.layer0.adapter.impl.EntityInstances$QueryIndex.perform(EntityInstances.java:78)
at org.simantics.db.layer0.adapter.impl.EntityInstances$QueryIndex.perform(EntityInstances.java:1)
at org.simantics.db.impl.query.ReadEntry.computeForEach(ReadEntry.java:121)
... 13 common frames omitted
Wrapped by: org.simantics.db.exception.DatabaseException: java.lang.NullPointerException: Cannot read field "id" because "impl" is null
at org.simantics.db.impl.query.ReadEntry.computeForEach(ReadEntry.java:133)
at org.simantics.db.impl.query.QueryCache.runnerReadEntry(QueryCache.java:704)
at org.simantics.db.impl.graph.ReadGraphImpl.syncRequest(ReadGraphImpl.java:1992)
at org.simantics.db.impl.graph.ReadGraphImpl.syncRequest(ReadGraphImpl.java:1985)
at org.simantics.db.layer0.adapter.impl.EntityInstances.findRec(EntityInstances.java:156)
at org.simantics.db.layer0.adapter.impl.EntityInstances.find(EntityInstances.java:185)
at org.simantics.db.layer0.adapter.impl.EntityInstances.find(EntityInstances.java:56)
at org.simantics.modeling.ui.componentTypeEditor.ConfigurationPropertiesSection$8.perform(ConfigurationPropertiesSection.java:571)
at org.simantics.modeling.ui.componentTypeEditor.ConfigurationPropertiesSection$8.perform(ConfigurationPropertiesSection.java:1)
at fi.vtt.simantics.procore.internal.SessionImplSocket$6.run0(SessionImplSocket.java:1522)
at org.simantics.db.impl.query.QueryProcessor$SessionTask.run(QueryProcessor.java:236)
at fi.vtt.simantics.procore.internal.SessionRequestManager$1.run0(SessionRequestManager.java:127)
at org.simantics.db.impl.query.QueryProcessor$SessionTask.run(QueryProcessor.java:236)
at org.simantics.db.impl.query.QueryThread.run(QueryThread.java:155)
The problem is that https://gitlab.simantics.org/simantics/platform/-/blob/9f6568aedeb8ec93d70a81c22b0457a55df7e8be/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/componentTypeEditor/ConfigurationPropertiesSection.java#L569 can return null but this not checked and null is then passed over to query.find
two lines later request which eventually results in this NPE.