modelix / modelix/modelix.core
Revert doesn't work when there is a ReferenceOp
Nobody has claimed this yet.
- Dominant language
- Kotlin
- Stars
- 16
- Forks
- 10
- Avg merge
- 3h 9m
- Merged PRs (30d)
- 26
Description
500: java.lang.RuntimeException: No deserializer found for: mps-model:r:ab82085c-dcbe-4cb8-b44c-5b62f62aa2f7(Common)
java.lang.RuntimeException: No deserializer found for: mps-model:r:ab82085c-dcbe-4cb8-b44c-5b62f62aa2f7(Common)
at org.modelix.model.lazy.INodeReferenceSerializer$Companion.deserialize(INodeReferenceSerializer.kt:45)
at org.modelix.model.lazy.CLTree.getReferenceTarget(CLTree.kt:354)
at org.modelix.model.api.TreePointer.getReferenceTarget(TreePointer.kt:73)
at org.modelix.model.operations.SetReferenceOp.apply(SetReferenceOp.kt:26)
at org.modelix.model.operations.UndoOp$captureIntend$1.invoke(UndoOp.kt:46)
at org.modelix.model.operations.UndoOp$captureIntend$1.invoke(UndoOp.kt:43)
at org.modelix.model.api.TreePointer.computeWrite(TreePointer.kt:32)
at org.modelix.model.operations.UndoOp.captureIntend(UndoOp.kt:43)
at org.modelix.model.operations.UndoOp.captureIntend(UndoOp.kt:29)
at org.modelix.model.operations.RevertToOp$captureIntend$1.invoke(RevertToOp.kt:32)
at org.modelix.model.operations.RevertToOp$captureIntend$1.invoke(RevertToOp.kt:30)
at org.modelix.model.api.TreePointer.computeWrite(TreePointer.kt:32)
at org.modelix.model.operations.RevertToOp.captureIntend(RevertToOp.kt:30)
at org.modelix.model.operations.RevertToOp.captureIntend(RevertToOp.kt:25)
at org.modelix.model.operations.RevertToOp.apply(RevertToOp.kt:18)
at org.modelix.model.operations.OTWriteTransaction.apply(OTWriteTransaction.kt:35)
at org.modelix.model.operations.OTWriteTransactionKt.applyOperation(OTWriteTransaction.kt:158)
at org.modelix.model.server.HistoryHandler$revert$1.invoke(HistoryHandler.kt:67)
at org.modelix.model.server.HistoryHandler$revert$1.invoke(HistoryHandler.kt:66)
at org.modelix.model.api.IBranch$runWriteT$1.invoke(IBranch.kt:30)
at org.modelix.model.api.IBranch$runWriteT$1.invoke(IBranch.kt:30)
at org.modelix.model.api.ContextValue.computeWith(ContextValue.kt:38)
at org.modelix.model.api.PBranch.runWrite(PBranch.kt:53)
at org.modelix.model.operations.OTBranch.runWrite(OTBranch.kt:94)
at org.modelix.model.api.IBranch$DefaultImpls.runWriteT(IBranch.kt:30)
at org.modelix.model.operations.OTBranch.runWriteT(OTBranch.kt:22)
at org.modelix.model.server.HistoryHandler.revert(HistoryHandler.kt:66)
at org.modelix.model.server.HistoryHandler$init$1$3.invokeSuspend(HistoryHandler.kt:56)
at org.modelix.model.server.HistoryHandler$init$1$3.invoke(HistoryHandler.kt)
at org.modelix.model.server.HistoryHandler$init$1$3.invoke(HistoryHandler.kt)
at io.ktor.server.routing.Route$buildPipeline$1$1.invokeSuspend(Route.kt:116)
at io.ktor.server.routing.Route$buildPipeline$1$1.invoke(Route.kt)
at io.ktor.server.routing.Route$buildPipeline$1$1.invoke(Route.kt)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with RevertToOp.kt and UndoOp.kt, then follow SetReferenceOp.kt and INodeReferenceSerializer.kt at the reported stack-trace locations. Reproduce the revert involving a ReferenceOp and trace why the reference cannot be deserialized. Done means reverting that history no longer raises the reported RuntimeException.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kotlin
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100