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

Failure to read BindingsMap cache #8792

Closed
hubertp opened this issue Jan 17, 2024 · 1 comment · Fixed by #8802
Closed

Failure to read BindingsMap cache #8792

hubertp opened this issue Jan 17, 2024 · 1 comment · Fixed by #8802
Assignees
Labels
--bug Type: bug -compiler p-low Low priority

Comments

@hubertp
Copy link
Collaborator

hubertp commented Jan 17, 2024

Extracted warning:

[WARN] [2024-01-17T10:55:30+01:00] [enso.org.enso.interpreter.service.ExecutionService] Execution of function main failed (Adding at 117246 object: org.enso.compiler.data.BindingsMap$ResolvedConstructor but there already is org.enso.compiler.data.BindingsMap$ResolvedConstructor).
java.io.IOException: Adding at 117246 object: org.enso.compiler.data.BindingsMap$ResolvedConstructor but there already is org.enso.compiler.data.BindingsMap$ResolvedConstructor
	at org.enso.runtime/org.enso.persist.PerInputImpl.readIndirect(PerInputImpl.java:213)
	at org.enso.runtime/org.enso.persist.PerInputImpl.readObject(PerInputImpl.java:57)
	at org.enso.runtime/org.enso.interpreter.caches.PersistBindingsMap_Resolution.readObject(PersistBindingsMap_Resolution.java:12)
	at org.enso.runtime/org.enso.interpreter.caches.PersistBindingsMap_Resolution.readObject(PersistBindingsMap_Resolution.java:4)
	at org.enso.runtime/org.enso.persist.Persistance.readWith(Persistance.java:152)
	at org.enso.runtime/org.enso.persist.PerInputImpl.readInline(PerInputImpl.java:50)
	at org.enso.runtime/org.enso.persist.PerBufferReference.readObject(PerBufferReference.java:27)
	at org.enso.runtime/org.enso.persist.Persistance$Reference.get(Persistance.java:223)
	at org.enso.runtime/org.enso.compiler.core.ir.IrLazyMap$En.getValue(IrLazyMap.java:57)
	at org.enso.runtime/org.enso.compiler.core.ir.IrLazyMap.get(IrLazyMap.java:37)
	at org.enso.runtime/org.enso.compiler.core.ir.MetadataStorage.get(MetadataStorage.java:81)
	at org.enso.runtime/org.enso.compiler.core.Implicits$AsMetadata.getMetadata(Implicits.scala:91)
	at org.enso.runtime/org.enso.interpreter.runtime.IrToTruffle$ExpressionProcessor.processName(IrToTruffle.scala:1647)
	at org.enso.runtime/org.enso.interpreter.runtime.IrToTruffle$ExpressionProcessor.org$enso$interpreter$runtime$IrToTruffle$ExpressionProcessor$$run(IrToTruffle.scala:1037)
	at org.enso.runtime/org.enso.interpreter.runtime.IrToTruffle$ExpressionProcessor.run(IrToTruffle.scala:1025)
	at org.enso.runtime/org.enso.interpreter.runtime.IrToTruffle$DefinitionArgumentProcessor.$anonfun$run$7(IrToTruffle.scala:2246)
	at org.enso.runtime/scala.Option.map(Option.scala:242)
	at org.enso.runtime/org.enso.interpreter.runtime.IrToTruffle$DefinitionArgumentProcessor.run(IrToTruffle.scala:2246)
	at org.enso.runtime/org.enso.interpreter.runtime.IrToTruffle$ExpressionProcessor$BuildFunctionBody.$anonfun$computeSlots$1(IrToTruffle.scala:1909)
	at org.enso.runtime/org.enso.interpreter.runtime.IrToTruffle$ExpressionProcessor$BuildFunctionBody.$anonfun$computeSlots$1$adapted(IrToTruffle.scala:1906)
	at org.enso.runtime/scala.collection.immutable.List.map(List.scala:250)
	at org.enso.runtime/org.enso.interpreter.runtime.IrToTruffle$ExpressionProcessor$BuildFunctionBody.computeSlots(IrToTruffle.scala:1906)
	at org.enso.runtime/org.enso.interpreter.runtime.IrToTruffle$ExpressionProcessor$BuildFunctionBody.slots$lzycompute(IrToTruffle.scala:1874)
	at org.enso.runtime/org.enso.interpreter.runtime.IrToTruffle$ExpressionProcessor$BuildFunctionBody.slots(IrToTruffle.scala:1874)
	at org.enso.runtime/org.enso.interpreter.runtime.IrToTruffle$ExpressionProcessor$BuildFunctionBody.args(IrToTruffle.scala:1877)
	at org.enso.runtime/org.enso.interpreter.runtime.IrToTruffle.$anonfun$processModule$26(IrToTruffle.scala:552)
	at org.enso.runtime/org.enso.interpreter.runtime.util.CachingSupplier.get(CachingSupplier.java:21)
	at org.enso.runtime/org.enso.interpreter.runtime.scope.ModuleScope.lookupMethodDefinition(ModuleScope.java:218)
	at org.enso.runtime/org.enso.interpreter.runtime.callable.UnresolvedSymbol.resolveFor(UnresolvedSymbol.java:69)
	at org.enso.runtime/org.enso.interpreter.node.callable.resolver.MethodResolverNode.resolveUncached(MethodResolverNode.java:60)
	at org.enso.runtime/org.enso.interpreter.node.callable.resolver.MethodResolverNodeGen.executeAndSpecialize(MethodResolverNodeGen.java:96)
	at org.enso.runtime/org.enso.interpreter.node.callable.resolver.MethodResolverNodeGen.execute(MethodResolverNodeGen.java:69)
	at org.enso.runtime/org.enso.interpreter.node.callable.resolver.MethodResolverNode.executeResolution(MethodResolverNode.java:29)
	at org.enso.runtime/org.enso.interpreter.node.callable.InvokeMethodNode.resolveFunction(InvokeMethodNode.java:166)
	at org.enso.runtime/org.enso.interpreter.node.callable.InvokeMethodNodeGen.executeAndSpecialize(InvokeMethodNodeGen.java:563)
	at org.enso.runtime/org.enso.interpreter.node.callable.InvokeMethodNodeGen.execute(InvokeMethodNodeGen.java:507)
	at org.enso.runtime/org.enso.interpreter.node.callable.InvokeCallableNode.invokeDynamicSymbol(InvokeCallableNode.java:261)
	at org.enso.runtime/org.enso.interpreter.node.callable.InvokeCallableNodeGen.executeAndSpecialize(InvokeCallableNodeGen.java:200)
	at org.enso.runtime/org.enso.interpreter.node.callable.InvokeCallableNodeGen.execute(InvokeCallableNodeGen.java:158)
	at org.enso.runtime/org.enso.interpreter.node.callable.ApplicationNode.executeGeneric(ApplicationNode.java:97)
	at org.enso.runtime/org.enso.interpreter.node.callable.function.BlockNode.executeGeneric(BlockNode.java:54)
	at org.enso.runtime/org.enso.interpreter.node.callable.function.BlockNode.executeGeneric(BlockNode.java:54)
	at org.enso.runtime/org.enso.interpreter.node.ClosureRootNode.execute(ClosureRootNode.java:85)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:746)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:669)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:602)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:586)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:535)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:94)
	at org.enso.runtime/org.enso.interpreter.node.callable.ExecuteCallNode.callDirect(ExecuteCallNode.java:94)
	at org.enso.runtime/org.enso.interpreter.node.callable.ExecuteCallNodeGen.executeAndSpecialize(ExecuteCallNodeGen.java:171)
	at org.enso.runtime/org.enso.interpreter.node.callable.ExecuteCallNodeGen.executeCall(ExecuteCallNodeGen.java:101)
	at org.enso.runtime/org.enso.interpreter.node.callable.dispatch.SimpleCallOptimiserNode.executeDispatch(SimpleCallOptimiserNode.java:56)
	at org.enso.runtime/org.enso.interpreter.node.callable.dispatch.CurryNode.doCall(CurryNode.java:161)
	at org.enso.runtime/org.enso.interpreter.node.callable.dispatch.CurryNode.execute(CurryNode.java:107)
	at org.enso.runtime/org.enso.interpreter.node.callable.dispatch.InvokeFunctionNode.invokeCached(InvokeFunctionNode.java:116)
	at org.enso.runtime/org.enso.interpreter.node.callable.dispatch.InvokeFunctionNodeGen.executeAndSpecialize(InvokeFunctionNodeGen.java:137)
	at org.enso.runtime/org.enso.interpreter.node.callable.dispatch.InvokeFunctionNodeGen.execute(InvokeFunctionNodeGen.java:99)
	at org.enso.runtime/org.enso.interpreter.node.callable.InvokeMethodNode.doFunctionalDispatchCachedSymbol(InvokeMethodNode.java:161)
	at org.enso.runtime/org.enso.interpreter.node.callable.InvokeMethodNodeGen.executeAndSpecialize(InvokeMethodNodeGen.java:586)
	at org.enso.runtime/org.enso.interpreter.node.callable.InvokeMethodNodeGen.execute(InvokeMethodNodeGen.java:507)
	at org.enso.runtime/org.enso.interpreter.node.callable.InvokeCallableNode.invokeDynamicSymbol(InvokeCallableNode.java:261)
	at org.enso.runtime/org.enso.interpreter.node.callable.InvokeCallableNodeGen.executeAndSpecialize(InvokeCallableNodeGen.java:200)
	at org.enso.runtime/org.enso.interpreter.node.callable.InvokeCallableNodeGen.execute(InvokeCallableNodeGen.java:158)
	at org.enso.runtime/org.enso.interpreter.node.callable.ApplicationNode.executeGeneric(ApplicationNode.java:97)
	at org.enso.runtime/org.enso.interpreter.node.ExpressionNodeWrapper.executeGeneric(ExpressionNodeWrapper.java:114)
	at org.enso.runtime/org.enso.interpreter.node.scope.AssignmentNodeGen.executeGeneric_generic1(AssignmentNodeGen.java:78)
	at org.enso.runtime/org.enso.interpreter.node.scope.AssignmentNodeGen.executeGeneric(AssignmentNodeGen.java:55)
	at org.enso.runtime/org.enso.interpreter.node.ExpressionNodeWrapper.executeGeneric(ExpressionNodeWrapper.java:114)
	at org.enso.runtime/org.enso.interpreter.node.callable.function.BlockNode.executeGeneric(BlockNode.java:54)
	at org.enso.runtime/org.enso.interpreter.node.ExpressionNodeWrapper.executeGeneric(ExpressionNodeWrapper.java:114)
	at org.enso.runtime/org.enso.interpreter.node.callable.function.BlockNode.executeGeneric(BlockNode.java:54)
	at org.enso.runtime/org.enso.interpreter.node.ClosureRootNode.execute(ClosureRootNode.java:85)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:746)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:669)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:602)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:586)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callIndirect(OptimizedCallTarget.java:519)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedIndirectCallNode.call(OptimizedIndirectCallNode.java:67)
	at org.enso.runtime/org.enso.interpreter.node.callable.ExecuteCallNode.callIndirect(ExecuteCallNode.java:128)
	at org.enso.runtime/org.enso.interpreter.node.callable.ExecuteCallNodeGen.executeCall(ExecuteCallNodeGen.java:95)
	at org.enso.runtime/org.enso.interpreter.node.callable.dispatch.LoopingCallOptimiserNode$RepeatedCallNode.executeRepeating(LoopingCallOptimiserNode.java:269)
	at org.graalvm.truffle/com.oracle.truffle.api.nodes.RepeatingNode.executeRepeatingWithValue(RepeatingNode.java:112)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedOSRLoopNode.profilingLoop(OptimizedOSRLoopNode.java:169)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedOSRLoopNode.execute(OptimizedOSRLoopNode.java:120)
	at org.enso.runtime/org.enso.interpreter.node.callable.dispatch.LoopingCallOptimiserNode.dispatch(LoopingCallOptimiserNode.java:95)
	at org.enso.runtime/org.enso.interpreter.node.callable.dispatch.LoopingCallOptimiserNode.cachedDispatch(LoopingCallOptimiserNode.java:70)
	at org.enso.runtime/org.enso.interpreter.node.callable.dispatch.LoopingCallOptimiserNodeGen.executeDispatch(LoopingCallOptimiserNodeGen.java:79)
	at org.enso.runtime/org.enso.interpreter.node.callable.dispatch.IndirectCurryNode.doCall(IndirectCurryNode.java:134)
	at org.enso.runtime/org.enso.interpreter.node.callable.dispatch.IndirectCurryNode.doCurry(IndirectCurryNode.java:78)
	at org.enso.runtime/org.enso.interpreter.node.callable.dispatch.IndirectCurryNodeGen.execute(IndirectCurryNodeGen.java:78)
	at org.enso.runtime/org.enso.interpreter.node.callable.dispatch.InvokeFunctionNode.invokeUncached(InvokeFunctionNode.java:168)
	at org.enso.runtime/org.enso.interpreter.node.callable.dispatch.InvokeFunctionNodeGen.execute(InvokeFunctionNodeGen.java:92)
	at org.enso.runtime/org.enso.interpreter.node.callable.InteropApplicationNode.callCached(InteropApplicationNode.java:81)
	at org.enso.runtime/org.enso.interpreter.node.callable.InteropApplicationNodeGen.execute(InteropApplicationNodeGen.java:81)
	at org.enso.runtime/org.enso.interpreter.node.callable.FunctionCallInstrumentationNode$FunctionCall$Execute.callCached(FunctionCallInstrumentationNode.java:102)
	at org.enso.runtime/org.enso.interpreter.node.callable.FunctionCallGen$InteropLibraryExports$Cached.execute(FunctionCallGen.java:97)
	at org.graalvm.truffle/com.oracle.truffle.api.interop.InteropLibraryGen$CachedDispatch.execute(InteropLibraryGen.java:7880)
	at org.enso.runtime/org.enso.interpreter.service.ExecutionService$ExecuteRootNode.execute(ExecutionService.java:508)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:746)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:669)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:602)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:586)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callIndirect(OptimizedCallTarget.java:519)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.call(OptimizedCallTarget.java:500)
	at org.enso.runtime/org.enso.interpreter.service.ExecutionService.execute(ExecutionService.java:198)
	at org.enso.runtime/org.enso.interpreter.service.ExecutionService.execute(ExecutionService.java:243)
	at org.enso.runtime/org.enso.interpreter.instrument.job.ProgramExecutionSupport$.executeProgram(ProgramExecutionSupport.scala:127)
	at org.enso.runtime/org.enso.interpreter.instrument.job.ProgramExecutionSupport$.$anonfun$runProgram$3(ProgramExecutionSupport.scala:254)
	at org.enso.runtime/scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
	at org.enso.runtime/cats.syntax.EitherObjectOps$.catchNonFatal$extension(either.scala:391)
	at org.enso.runtime/org.enso.interpreter.instrument.job.ProgramExecutionSupport$.$anonfun$runProgram$2(ProgramExecutionSupport.scala:254)
	at org.enso.runtime/scala.util.Either.flatMap(Either.scala:352)
	at org.enso.runtime/org.enso.interpreter.instrument.job.ProgramExecutionSupport$.runProgram(ProgramExecutionSupport.scala:248)
	at org.enso.runtime/org.enso.interpreter.instrument.job.ExecuteJob.run(ExecuteJob.scala:43)
	at org.enso.runtime/org.enso.interpreter.instrument.job.ExecuteJob.run(ExecuteJob.scala:18)
	at org.enso.runtime/org.enso.interpreter.instrument.execution.JobExecutionEngine.$anonfun$runInternal$1(JobExecutionEngine.scala:124)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1583)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotThread.access$001(PolyglotThread.java:53)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotThread$1.execute(PolyglotThread.java:106)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotThread$ThreadSpawnRootNode.executeImpl(PolyglotThread.java:140)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotThread$ThreadSpawnRootNode.execute(PolyglotThread.java:131)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:746)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:669)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:602)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:586)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callIndirect(OptimizedCallTarget.java:519)
	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.call(OptimizedCallTarget.java:500)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotThread.run(PolyglotThread.java:102)
	Suppressed: com.oracle.truffle.api.TruffleStackTrace$LazyStackTrace: null
@JaroslavTulach
Copy link
Member

#8802 has been integrated. Let's wait what will appear in the future logs. The hope is that the bothObjectsAreTheSame will be true. If so, we just have two objects representing the same data. That shall not have any impact on correctness.

@sylwiabr sylwiabr removed the triage label Feb 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
--bug Type: bug -compiler p-low Low priority
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

3 participants