While running version 8.1.28 (yes, we need to update) we encountered a strange behavior where the selected view root will not display its custom properties. The custom property section retains the previously viewed properties and will not update. What does "Not a JSON Primitive: null" mean? Is our project corrupt?
The output console returns this stacktrace. Any ideas before I open a ticket?
14:24:59.967 [AWT-EventQueue-0] ERROR ViewResourceEditor - Uncaught exception in "perspective-editor-com.inductiveautomation.perspective/views/MainViews/ARViews/Unload Inspection" event bus
java.lang.IllegalStateException: Not a JSON Primitive: null
at com.inductiveautomation.ignition.common.gson.JsonElement.getAsJsonPrimitive(JsonElement.java:124)
at com.inductiveautomation.perspective.designer.workspace.propertyeditor.ComponentPropsDocumentModel$QualityEncodingAwareDocumentModelBuilder.build(ComponentPropsDocumentModel.java:189)
at com.inductiveautomation.perspective.designer.workspace.propertyeditor.ComponentPropsDocumentModel$QualityEncodingAwareDocumentModelBuilder.lambda$build$1(ComponentPropsDocumentModel.java:176)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.base/java.util.Iterator.forEachRemaining(Unknown Source)
at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.base/java.util.stream.ReferencePipeline.forEach(Unknown Source)
at com.inductiveautomation.perspective.designer.workspace.propertyeditor.ComponentPropsDocumentModel$QualityEncodingAwareDocumentModelBuilder.build(ComponentPropsDocumentModel.java:175)
at com.inductiveautomation.perspective.designer.workspace.propertyeditor.ComponentPropsDocumentModel$QualityEncodingAwareDocumentModelBuilder.buildRoot(ComponentPropsDocumentModel.java:156)
at com.inductiveautomation.perspective.designer.workspace.propertyeditor.ComponentPropsDocumentModel.getRootObject(ComponentPropsDocumentModel.java:64)
at com.inductiveautomation.perspective.designer.workspace.propertyeditor.ComponentPropsDocumentModel.<init>(ComponentPropsDocumentModel.java:72)
at com.inductiveautomation.perspective.designer.workspace.propertyeditor.ComponentScopeEditor.onSelectionChanged(ComponentScopeEditor.java:165)
at com.inductiveautomation.perspective.designer.workspace.propertyeditor.PropertyEditorFrame.setSelection(PropertyEditorFrame.java:587)
at com.inductiveautomation.perspective.designer.workspace.propertyeditor.PropertyEditorFrame.onSelectionChange(PropertyEditorFrame.java:332)
at jdk.internal.reflect.GeneratedMethodAccessor55.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:87)
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:144)
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:72)
at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:398)
at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:67)
at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:108)
at com.google.common.eventbus.EventBus.post(EventBus.java:212)
at com.inductiveautomation.perspective.designer.workspace.ViewResourceEditor.onSelectionChanged(ViewResourceEditor.java:326)
at com.inductiveautomation.perspective.designer.workspace.ViewEditorJsBridge.lambda$onSelectionChangeInternal$6(ViewEditorJsBridge.java:119)
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(Native Method)
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)