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

Oracle GraalVM fails on AssertionError: no root node #9477

Closed
Akirathan opened this issue Mar 19, 2024 · 7 comments · Fixed by #9584
Closed

Oracle GraalVM fails on AssertionError: no root node #9477

Akirathan opened this issue Mar 19, 2024 · 7 comments · Fixed by #9584
Assignees
Labels

Comments

@Akirathan
Copy link
Member

This happens when (dry-running) some benchmarks. Locally, this can be reproduced with:

sbt:std-benchmarks> benchOnly org.enso.benchmarks.generated.Map_Error_Benchmark_Slice_report_warning.Map_Id_All_Errors

Link to a corresponding failure on the CI: org.enso.benchmarks.generated.Map_Error_Benchmark_Slice_report_warning.Map_Id_All_Errors

The error is:

[error] java.lang.AssertionError: no root node for ArraySliceGen.TypesLibraryExports.Cached@4d523257
[error] with section: null
[error] with root nodes: null
[error] 	at org.enso.runtime/org.enso.interpreter.runtime.EnsoContext.reportSlowContextAccess(EnsoContext.java:243)
[error] 	at org.enso.runtime/org.enso.interpreter.runtime.EnsoContext.get(EnsoContext.java:218)
[error] 	at org.enso.runtime/org.enso.interpreter.runtime.data.vector.ArraySlice.getType(ArraySlice.java:185)
[error] 	at org.enso.runtime/org.enso.interpreter.runtime.data.vector.ArraySliceGen$TypesLibraryExports$Cached.getType(ArraySliceGen.java:101)
[error] 	at org.enso.runtime/org.enso.interpreter.runtime.library.dispatch.TypesLibraryGen$CachedDispatch.getType(TypesLibraryGen.java:529)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.InvokeMethodNodeGen.execute(InvokeMethodNodeGen.java:192)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.InvokeCallableNode.invokeDynamicSymbol(InvokeCallableNode.java:268)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.InvokeCallableNodeGen.execute(InvokeCallableNodeGen.java:149)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.ApplicationNode.executeGeneric(ApplicationNode.java:97)
[error] 	at org.enso.runtime/org.enso.interpreter.node.ClosureRootNode.execute(ClosureRootNode.java:85)
[error] 	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:746)
[error] 	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:669)
[error] 	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:586)
[error] 	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:535)
[error] 	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:94)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.thunk.ThunkExecutorNode.doCached(ThunkExecutorNode.java:69)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.thunk.ThunkExecutorNodeGen.executeThunk(ThunkExecutorNodeGen.java:123)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.argument.ArgumentSorterNode.executeArguments(ArgumentSorterNode.java:84)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.argument.ArgumentSorterNode.execute(ArgumentSorterNode.java:100)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.dispatch.InvokeFunctionNode.invokeCached(InvokeFunctionNode.java:107)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.dispatch.InvokeFunctionNodeGen.execute(InvokeFunctionNodeGen.java:81)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.InvokeCallableNode.invokeFunction(InvokeCallableNode.java:167)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.InvokeCallableNodeGen.execute(InvokeCallableNodeGen.java:125)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.ApplicationNode.executeGeneric(ApplicationNode.java:97)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.function.BlockNode.executeGeneric(BlockNode.java:54)
[error] 	at org.enso.runtime/org.enso.interpreter.node.ClosureRootNode.execute(ClosureRootNode.java:85)
[error] 	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:746)
[error] 	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:669)
[error] 	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:586)
[error] 	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:535)
[error] 	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:94)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.ExecuteCallNode.callDirect(ExecuteCallNode.java:94)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.ExecuteCallNodeGen.executeCall(ExecuteCallNodeGen.java:86)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.dispatch.SimpleCallOptimiserNode.executeDispatch(SimpleCallOptimiserNode.java:56)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.dispatch.CurryNode.doCall(CurryNode.java:161)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.dispatch.CurryNode.execute(CurryNode.java:107)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.dispatch.InvokeFunctionNode.invokeCached(InvokeFunctionNode.java:116)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.dispatch.InvokeFunctionNodeGen.execute(InvokeFunctionNodeGen.java:81)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.InvokeCallableNode.invokeFunction(InvokeCallableNode.java:167)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.InvokeCallableNodeGen.execute(InvokeCallableNodeGen.java:125)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.ApplicationNode.executeGeneric(ApplicationNode.java:97)
[error] 	at org.enso.runtime/org.enso.interpreter.node.scope.AssignmentNodeGen.executeGeneric_generic1(AssignmentNodeGen.java:78)
[error] 	at org.enso.runtime/org.enso.interpreter.node.scope.AssignmentNodeGen.executeGeneric(AssignmentNodeGen.java:55)
[error] 	at org.enso.runtime/org.enso.interpreter.node.scope.AssignmentNodeGen.executeVoid(AssignmentNodeGen.java:98)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.function.BlockNode.executeGeneric(BlockNode.java:52)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.function.BlockNode.executeGeneric(BlockNode.java:54)
[error] 	at org.enso.runtime/org.enso.interpreter.node.ClosureRootNode.execute(ClosureRootNode.java:85)
[error] 	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:746)
[error] 	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:669)
[error] 	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:602)
[error] 	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:586)
[error] 	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:535)
[error] 	at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:94)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.ExecuteCallNode.callDirect(ExecuteCallNode.java:94)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.ExecuteCallNodeGen.executeCall(ExecuteCallNodeGen.java:86)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.dispatch.SimpleCallOptimiserNode.executeDispatch(SimpleCallOptimiserNode.java:56)
[error] 	at org.enso.runtime/org.enso.interpreter.node.callable.dispatch.CurryNode.doCall(CurryNode.java:161)
...
@Akirathan
Copy link
Member Author

Another Oracle GraalVM - only error is reported in #9457

@JaroslavTulach
Copy link
Member

I think this line is reason for the AssertionError.

@JaroslavTulach
Copy link
Member

Another incarnation of the failure.

@JaroslavTulach
Copy link
Member

JaroslavTulach commented Apr 1, 2024

Will be solved by 4a398ec to be integrated by #9584

@JaroslavTulach JaroslavTulach linked a pull request Apr 1, 2024 that will close this issue
2 tasks
@enso-bot
Copy link

enso-bot bot commented Apr 2, 2024

Jaroslav Tulach reports a new STANDUP for yesterday (2024-04-01):

Progress: - Removing list of hardcoded validGuestTypes: d3c7538

Next Day: Take a look at autoscoped constructors again

@enso-bot
Copy link

enso-bot bot commented Apr 3, 2024

Jaroslav Tulach reports a new STANDUP for yesterday (2024-04-02):

Progress: - autoscoped uncached works: 12c8cd5

Next Day: Analyze autoscoped constructors with Dmitry

@JaroslavTulach
Copy link
Member

Another fix will be provided by 380f5d2

@Akirathan Akirathan mentioned this issue Apr 8, 2024
5 tasks
mergify bot pushed a commit that referenced this issue Apr 12, 2024
Update the GraalVM-related Maven packages from **23.1.2** to **24.0.0**.

# Important Notes
- Reverted workarounds mentioned in #9477

The language home search functionality in Truffle changed. It used to find the home for Enso from the class loader of `EnsoLanguage`:
https://github.com/oracle/graal/blob/graal-23.1.2/truffle/src/com.oracle.truffle.polyglot/src/com/oracle/truffle/polyglot/LanguageCache.java#L362

In 24.0.0, the language home is no longer found via class loader, but via system properties:
https://github.com/oracle/graal/blob/graal-24.0.0/truffle/src/com.oracle.truffle.polyglot/src/com/oracle/truffle/polyglot/LanguageCache.java#L353

I provided a "fix" for this by an explicit specification of the `org.graalvm.language.enso.home` system property in our launchers.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants