We're updating the issue view to help you get more done. 

Launching node explorer for node creates error and explorer closes

Description

Launched node explorer and connected to a CE RC03 node (Unbuntu on Azure) with SQL database. A handful of issue obligation flows had been executed from the command line. The node explorer closes with the following errors

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 net.corda.core.internal.TransactionDeserialisationException: Failed to deserialise group OUTPUTS_GROUP at index 0 in transaction: net.corda.core.contracts.TransactionState (erased) -> data(net.corda.core.contracts.ContractState) -> net.corda.examples.obligation.Obligation: Interface net.corda.core.contracts.LinearState requires a field named participants but that isn't found in the schema or any superclass schemas at net.corda.core.internal.TransactionUtilsKt$deserialiseComponentGroup$1.invoke(TransactionUtils.kt:82) at net.corda.core.internal.TransactionUtilsKt$deserialiseComponentGroup$1.invoke(TransactionUtils.kt) at net.corda.core.internal.LazyMappedList.get(InternalUtils.kt:533) at java.util.AbstractList$Itr.next(AbstractList.java:358) at net.corda.core.transactions.BaseTransaction.outRefsOfType(BaseTransaction.kt:213) at net.corda.client.jfx.model.PartiallyResolvedTransaction$Companion.fromSignedTransaction(TransactionDataModel.kt:100) at net.corda.client.jfx.model.TransactionDataModel$partiallyResolvedTransactions$1.invoke(TransactionDataModel.kt:89) at net.corda.client.jfx.model.TransactionDataModel$partiallyResolvedTransactions$1.invoke(TransactionDataModel.kt:82) at net.corda.client.jfx.utils.MappedList.sourceChanged(MappedList.kt:56) at javafx.collections.transformation.TransformationList.lambda$getListener$23(TransformationList.java:106) at javafx.collections.WeakListChangeListener.onChanged(WeakListChangeListener.java:88) at com.sun.javafx.collections.ListListenerHelper$SingleChange.fireValueChangedEvent(ListListenerHelper.java:164) at com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73) at javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:233) at javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:482) at javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:541) at javafx.collections.ObservableListBase.endChange(ObservableListBase.java:205) at net.corda.client.jfx.utils.AggregatedList.sourceChanged(AggregatedList.kt:96) at javafx.collections.transformation.TransformationList.lambda$getListener$23(TransformationList.java:106) at javafx.collections.WeakListChangeListener.onChanged(WeakListChangeListener.java:88) at com.sun.javafx.collections.ListListenerHelper$SingleChange.fireValueChangedEvent(ListListenerHelper.java:164) at com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73) at javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:233) at javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:482) at javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:541) at javafx.collections.ObservableListBase.endChange(ObservableListBase.java:205) at javafx.collections.ModifiableObservableListBase.add(ModifiableObservableListBase.java:155) at java.util.AbstractList.add(AbstractList.java:108) at net.corda.client.jfx.utils.ObservableFold$recordInSequence$1.invoke(ObservableFold.kt:70) at net.corda.client.jfx.utils.ObservableFold$recordInSequence$1.invoke(ObservableFold.kt) at net.corda.client.jfx.utils.ObservableFold$fold$1$1.run(ObservableFold.kt:56) at com.sun.javafx.application.PlatformImpl.lambda$null$172(PlatformImpl.java:295) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$173(PlatformImpl.java:294) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177) at java.lang.Thread.run(Thread.java:748) Caused by: java.io.NotSerializableException: net.corda.core.contracts.TransactionState (erased) -> data(net.corda.core.contracts.ContractState) -> net.corda.examples.obligation.Obligation: Interface net.corda.core.contracts.LinearState requires a field named participants but that isn't found in the schema or any superclass schemas at net.corda.serialization.internal.model.SchemaBuildingRemoteTypeCarpenter.carpent(RemoteTypeCarpenter.kt:35) at net.corda.serialization.internal.model.ClassCarpentingTypeLoader$load$carpented$1$1.apply(TypeLoader.kt:53) at net.corda.serialization.internal.model.ClassCarpentingTypeLoader$load$carpented$1$1.apply(TypeLoader.kt:24) at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660) at net.corda.serialization.internal.model.ClassCarpentingTypeLoader$load$carpented$1.invoke(TypeLoader.kt:52) at net.corda.serialization.internal.model.ClassCarpentingTypeLoader$load$carpented$1.invoke(TypeLoader.kt:24) at net.corda.serialization.internal.model.CarpentryDependencyGraph.buildInOrder(CarpentryDependencyGraph.kt:65) at net.corda.serialization.internal.model.CarpentryDependencyGraph.access$buildInOrder(CarpentryDependencyGraph.kt:14) at net.corda.serialization.internal.model.CarpentryDependencyGraph$Companion.buildInReverseDependencyOrder(CarpentryDependencyGraph.kt:24) at net.corda.serialization.internal.model.ClassCarpentingTypeLoader.load(TypeLoader.kt:51) at net.corda.serialization.internal.amqp.DefaultRemoteSerializerFactory.reflect(RemoteSerializerFactory.kt:122) at net.corda.serialization.internal.amqp.DefaultRemoteSerializerFactory.access$reflect(RemoteSerializerFactory.kt:47) at net.corda.serialization.internal.amqp.DefaultRemoteSerializerFactory$get$1.invoke(RemoteSerializerFactory.kt:67) at net.corda.serialization.internal.amqp.DefaultRemoteSerializerFactory$get$1.invoke(RemoteSerializerFactory.kt:47) at net.corda.serialization.internal.amqp.DefaultDescriptorBasedSerializerRegistry.getOrBuild(DescriptorBasedSerializerRegistry.kt:28) at net.corda.serialization.internal.amqp.DefaultRemoteSerializerFactory.get(RemoteSerializerFactory.kt:62) at net.corda.serialization.internal.amqp.ComposedSerializerFactory.get(SerializerFactory.kt) at net.corda.serialization.internal.amqp.DeserializationInput.readObject$serialization(DeserializationInput.kt:172) at net.corda.serialization.internal.amqp.DeserializationInput.readObjectOrNull$serialization(DeserializationInput.kt:147) at net.corda.serialization.internal.amqp.DescribedTypeReadStrategy.readProperty(ComposableTypePropertySerializer.kt:202) at net.corda.serialization.internal.amqp.ComposableTypePropertySerializer.readProperty(ComposableTypePropertySerializer.kt) at net.corda.serialization.internal.amqp.ComposableObjectReader$readObject$$inlined$ifThrowsAppend$lambda$1.invoke(ObjectSerializer.kt:140) at net.corda.serialization.internal.amqp.ComposableObjectReader$readObject$$inlined$ifThrowsAppend$lambda$1.invoke(ObjectSerializer.kt:122) at kotlin.sequences.TransformingSequence$iterator$1.next(Sequences.kt:149) at net.corda.serialization.internal.amqp.ComposableObjectReader.readObject(ObjectSerializer.kt:219) at net.corda.serialization.internal.amqp.ComposableObjectSerializer.readObject(ObjectSerializer.kt:91) at net.corda.serialization.internal.amqp.DeserializationInput.readObject$serialization(DeserializationInput.kt:182) at net.corda.serialization.internal.amqp.DeserializationInput.readObjectOrNull$serialization(DeserializationInput.kt:147) at net.corda.serialization.internal.amqp.DeserializationInput$deserialize$1.invoke(DeserializationInput.kt:124) at net.corda.serialization.internal.amqp.DeserializationInput.des(DeserializationInput.kt:99) at net.corda.serialization.internal.amqp.DeserializationInput.deserialize(DeserializationInput.kt:119) at net.corda.serialization.internal.amqp.AbstractAMQPSerializationScheme.deserialize(AMQPSerializationScheme.kt:225) at net.corda.serialization.internal.SerializationFactoryImpl$deserialize$1$1.invoke(SerializationScheme.kt:102) at net.corda.core.serialization.SerializationFactory.withCurrentContext(SerializationAPI.kt:72) at net.corda.serialization.internal.SerializationFactoryImpl$deserialize$1.invoke(SerializationScheme.kt:102) at net.corda.serialization.internal.SerializationFactoryImpl$deserialize$1.invoke(SerializationScheme.kt:70) at net.corda.core.serialization.SerializationFactory.asCurrent(SerializationAPI.kt:86) at net.corda.serialization.internal.SerializationFactoryImpl.deserialize(SerializationScheme.kt:102) at net.corda.core.internal.TransactionUtilsKt$deserialiseComponentGroup$1.invoke(TransactionUtils.kt:78)

Status

Assignee

Chris Rankin

Reporter

Gavin Thomas

Priority

Medium

Labels

None

Severity

Medium

Fix versions

Ported to...

None

Feature Team

Select team

Affected OS

Linux

Affects versions

Corda 4
Corda Enterprise 4 RC03