Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash in jackson deserialization of suggestion updates #9876

Closed
hubertp opened this issue May 7, 2024 · 4 comments · Fixed by #9961
Closed

Crash in jackson deserialization of suggestion updates #9876

hubertp opened this issue May 7, 2024 · 4 comments · Fixed by #9961
Assignees

Comments

@hubertp
Copy link
Contributor

hubertp commented May 7, 2024

Encountered while debugging #9789

May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]: [ERROR] [2024-05-07T10:17:23Z] [org.enso.languageserver.runtime.RuntimeConnector$Endpoint] Failed to deserialize runtime API envelope
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]: com.fasterxml.jackson.databind.exc.InvalidTypeIdException: Could not resolve type id 'org.enso.polyglot.data.Tree$Node' as a subtype of `org.enso.polyglot.data.Tree$Node<org.enso.polyglot.runtime.Runtime$Api$SuggestionUpdate>`: Not a subtypetime[11629]:  at [Source: (byte[])[1561 bytes]; byte offset: #398] (through reference chain: org.enso.polyglot.runtime.Runtime$Api$Response["payload"]->org.enso.polyglot.runtime.Runtime$Api$SuggestionsDatabaseModuleUpdateNotification["updates"]->org.enso.polyglot.data.Tree$Root["children"]->com.fasterxml.jackson.module.scala.deser.GenericFactoryDeserializerResolver$BuilderWrapper[0])ception.java:43)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.DeserializationContext.invalidTypeIdException(DeserializationContext.java:2084)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.DatabindContext._throwNotASubtype(DatabindContext.java:290)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.DatabindContext.resolveAndValidateSubType(DatabindContext.java:251)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver._typeFromId(ClassNameIdResolver.java:72)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver.typeFromId(ClassNameIdResolver.java:66)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase._findDeserializer(TypeDeserializerBase.java:159)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId(AsPropertyTypeDeserializer.java:151)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:136) 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeWithType(BeanDeserializerBase.java:1296)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.std.CollectionDeserializer._deserializeFromArray(CollectionDeserializer.java:361)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:244)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.module.scala.deser.GenericFactoryDeserializerResolver$Deserializer.deserialize(GenericFactoryDeserializerResolver.scala:125)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:545)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeWithErrorWrapping(BeanDeserializer.java:570)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:439)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1409)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:352)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther(BeanDeserializer.java:220)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:187)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId(AsPropertyTypeDeserializer.java:170)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:136)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType(AbstractDeserializer.java:263)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:542)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeWithErrorWrapping(BeanDeserializer.java:570)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:439)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1409)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:352)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther(BeanDeserializer.java:220)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:187)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId(AsPropertyTypeDeserializer.java:170)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:136)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType(AbstractDeserializer.java:263)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:542)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeWithErrorWrapping(BeanDeserializer.java:570)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:439)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1409)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:352)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther(BeanDeserializer.java:220)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:187)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId(AsPropertyTypeDeserializer.java:170)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:136)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType(AbstractDeserializer.java:263)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.impl.TypeWrappedDeserializer.deserialize(TypeWrappedDeserializer.java:74)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:323)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4825)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3833)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//org.enso.polyglot.runtime.Runtime$Api$.$anonfun$deserializeApiEnvelope$1(Runtime.scala:1979)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//scala.util.Try$.apply(Try.scala:210)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//org.enso.polyglot.runtime.Runtime$Api$.deserializeApiEnvelope(Runtime.scala:1979)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.IsolatedClassLoader//org.enso.languageserver.runtime.RuntimeConnector$Endpoint.sendBinary(RuntimeConnector.scala:210)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.graalvm.truffle/com.oracle.truffle.api.instrumentation.TruffleInstrument$Env$MessageTransportProxy$MessageEndpointProxy.sendBinary(TruffleInstrument.java:1222)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.runtime/org.enso.interpreter.instrument.Endpoint.sendToClient(Endpoint.scala:39)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.runtime/org.enso.interpreter.instrument.job.AnalyzeModuleJob$.sendModuleUpdate(AnalyzeModuleJob.scala:143)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.runtime/org.enso.interpreter.instrument.job.AnalyzeModuleJob$.doAnalyzeModule(AnalyzeModuleJob.scala:118)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.runtime/org.enso.interpreter.instrument.job.AnalyzeModuleJob$.analyzeModule(AnalyzeModuleJob.scala:58)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.runtime/org.enso.interpreter.instrument.job.EnsureCompiledJob.$anonfun$ensureCompiledModule$2(EnsureCompiledJob.scala:134)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.runtime/scala.util.Either.map(Either.scala:382)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.runtime/org.enso.interpreter.instrument.job.EnsureCompiledJob.$anonfun$ensureCompiledModule$1(EnsureCompiledJob.scala:123)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.runtime/scala.Option.map(Option.scala:242)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.runtime/org.enso.interpreter.instrument.job.EnsureCompiledJob.ensureCompiledModule(EnsureCompiledJob.scala:121)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.runtime/org.enso.interpreter.instrument.job.EnsureCompiledJob.$anonfun$ensureCompiledFiles$2(EnsureCompiledJob.scala:91)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.runtime/scala.collection.StrictOptimizedIterableOps.map(StrictOptimizedIterableOps.scala:100)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.runtime/scala.collection.StrictOptimizedIterableOps.map$(StrictOptimizedIterableOps.scala:87)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.runtime/scala.collection.mutable.ArrayDeque.map(ArrayDeque.scala:39)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.runtime/org.enso.interpreter.instrument.job.EnsureCompiledJob.ensureCompiledFiles(EnsureCompiledJob.scala:91)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.runtime/org.enso.interpreter.instrument.job.EnsureCompiledJob.run(EnsureCompiledJob.scala:67)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.runtime/org.enso.interpreter.instrument.job.EnsureCompiledJob.run(EnsureCompiledJob.scala:50)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.enso.runtime/org.enso.interpreter.instrument.execution.JobExecutionEngine.$anonfun$runInternal$1(JobExecutionEngine.scala:135)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at java.base/java.lang.Thread.run(Thread.java:1583)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotThread.access$001(PolyglotThread.java:53)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotThread$1.execute(PolyglotThread.java:106)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotThread$ThreadSpawnRootNode.executeImpl(PolyglotThread.java:140)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotThread$ThreadSpawnRootNode.execute(PolyglotThread.java:131)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:745)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:669)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:602)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:586)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callIndirect(OptimizedCallTarget.java:519)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.call(OptimizedCallTarget.java:500)
May 07 10:17:23 ip-172-31-10-107.eu-west-1.compute.internal enso_runtime[11629]:         at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotThread.run(PolyglotThread.java:102)

Maybe related to a recent change of #9852

@JaroslavTulach
Copy link
Member

Fixed by #9885

@hubertp
Copy link
Contributor Author

hubertp commented May 13, 2024

I don't think this has been fixed. I can still experience it.
Also, looks more like a misconfiguration of jackson rather than the module thing.

@hubertp hubertp assigned hubertp and unassigned JaroslavTulach May 13, 2024
@mergify mergify bot closed this as completed in #9961 May 16, 2024
mergify bot pushed a commit that referenced this issue May 16, 2024
Using a fully qualified name for type identifier does not play well when dealing with different classloaders (classes are not recognized as equal/subtypes).

Closes #9876. Likely also affecting #9306.

# Important Notes
There appears to be a number of cases loosely related issues on that subject. Gave up on adding a test cases to simulate the problem but I could no longer reproduce it with LS/runtime on a live project.
```
[org.enso.languageserver.runtime.RuntimeConnector$Endpoint] Failed to deserialize runtime API envelope
com.fasterxml.jackson.databind.exc.InvalidTypeIdException: Could not resolve type id 'org.enso.polyglot.data.Tree$Node' as a subtype of `org.enso.polyglot.data.Tree$Node<org.enso.polyglot.runtime.Runtime$Api$SuggestionUpdate>`: Not a subtype
at [Source: (byte[])[6718 bytes]; byte offset: #394] (through reference chain: org.enso.polyglot.runtime.Runtime$Api$Response["payload"]->org.enso.polyglot.runtime.Runtime$Api$SuggestionsDatabaseModuleUpdateNotification["updates"]->org.enso.polyglot.data.Tree$Root["children"]->com.fasterxml.jackson.module.scala.deser.GenericFactoryDeserializerResolver$BuilderWrapper[0])
at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.exc.InvalidTypeIdException.from(InvalidTypeIdException.java:43)
```
appears to be gone.
@enso-bot
Copy link

enso-bot bot commented May 16, 2024

Hubert Plociniczak reports a new STANDUP for the provided date (2024-05-14):

Progress: Debugging crash in jackson deserialization. Unable to reproduce with a unit case which hinders investigation. In the end turned out to be an issue with class-/module- loaders. It should be finished by 2024-05-15.

Next Day: Next day I will be working on the #9876 task. Prepare PR, back to cloud issues

@enso-bot
Copy link

enso-bot bot commented May 17, 2024

Hubert Plociniczak reports a new STANDUP for the provided date (2024-05-15):

Progress: Prepared PR. Back to debugging cloud performance issues. Profiling data appears to be wrong, trying to add more info to investigate the problem. It should be finished by 2024-05-15.

Next Day: Next day I will be working on the #9789 task. Continue the investigation.

vitvakatu pushed a commit that referenced this issue May 17, 2024
Using a fully qualified name for type identifier does not play well when dealing with different classloaders (classes are not recognized as equal/subtypes).

Closes #9876. Likely also affecting #9306.

# Important Notes
There appears to be a number of cases loosely related issues on that subject. Gave up on adding a test cases to simulate the problem but I could no longer reproduce it with LS/runtime on a live project.
```
[org.enso.languageserver.runtime.RuntimeConnector$Endpoint] Failed to deserialize runtime API envelope
com.fasterxml.jackson.databind.exc.InvalidTypeIdException: Could not resolve type id 'org.enso.polyglot.data.Tree$Node' as a subtype of `org.enso.polyglot.data.Tree$Node<org.enso.polyglot.runtime.Runtime$Api$SuggestionUpdate>`: Not a subtype
at [Source: (byte[])[6718 bytes]; byte offset: #394] (through reference chain: org.enso.polyglot.runtime.Runtime$Api$Response["payload"]->org.enso.polyglot.runtime.Runtime$Api$SuggestionsDatabaseModuleUpdateNotification["updates"]->org.enso.polyglot.data.Tree$Root["children"]->com.fasterxml.jackson.module.scala.deser.GenericFactoryDeserializerResolver$BuilderWrapper[0])
at org.enso.IsolatedClassLoader//com.fasterxml.jackson.databind.exc.InvalidTypeIdException.from(InvalidTypeIdException.java:43)
```
appears to be gone.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 🟢 Accepted
Development

Successfully merging a pull request may close this issue.

2 participants