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

ICE when nested type definition does not use referrent name #1586

Closed
mwu-tow opened this issue Mar 17, 2021 · 0 comments · Fixed by #1588
Closed

ICE when nested type definition does not use referrent name #1586

mwu-tow opened this issue Mar 17, 2021 · 0 comments · Fixed by #1588
Assignees
Labels
p-high Should be completed in the next sprint

Comments

@mwu-tow
Copy link
Contributor

mwu-tow commented Mar 17, 2021

Running the following file produces ICE:

type Foo
    type bar
    type Baz

main = Nothing

It works fine if I replace bar with Bar.

Output:

Exception in thread "main" org.graalvm.polyglot.PolyglotException: org.enso.compiler.exception.CompilerError: Compiler Internal Error: Unexpected IR node in complex type body.
        at org.enso.compiler.pass.desugar.ComplexType$.$anonfun$desugarComplexType$6(ComplexType.scala:173)
        at scala.collection.immutable.List.flatMap(List.scala:293)
        at org.enso.compiler.pass.desugar.ComplexType$.desugarComplexType(ComplexType.scala:163)
        at org.enso.compiler.pass.desugar.ComplexType$.$anonfun$runModule$1(ComplexType.scala:78)
        at scala.collection.immutable.List.flatMap(List.scala:293)
        at org.enso.compiler.pass.desugar.ComplexType$.runModule(ComplexType.scala:77)
        at org.enso.compiler.pass.PassManager.$anonfun$runPassesOnModule$2(PassManager.scala:101)
        at scala.collection.LinearSeqOps.foldLeft(LinearSeq.scala:169)
        at scala.collection.LinearSeqOps.foldLeft$(LinearSeq.scala:165)
        at scala.collection.immutable.List.foldLeft(List.scala:79)
        at org.enso.compiler.pass.PassManager.runPassesOnModule(PassManager.scala:92)
        at org.enso.compiler.Compiler.recognizeBindings(Compiler.scala:253)
        at org.enso.compiler.Compiler.parseModule(Compiler.scala:128)
        at org.enso.compiler.Compiler.run(Compiler.scala:69)
        at org.enso.interpreter.runtime.Module.compile(Module.java:241)
        at org.enso.interpreter.runtime.Module.compileScope(Module.java:202)
        at org.enso.interpreter.runtime.Module$InvokeMember.doInvoke(Module.java:405)
        at org.enso.interpreter.runtime.ModuleGen$InteropLibraryExports$Cached.executeAndSpecialize(ModuleGen.java:109)
        at org.enso.interpreter.runtime.ModuleGen$InteropLibraryExports$Cached.invokeMember(ModuleGen.java:89)
        at org.graalvm.truffle/com.oracle.truffle.api.interop.InteropLibraryGen$CachedDispatch.invokeMember(InteropLibraryGen.java:6078)
        at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AbstractInvokeNode.executeShared(PolyglotValue.java:2158)
        at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$InvokeNoArgsNode.executeImpl(PolyglotValue.java:2222)
        at org.graalvm.truffle/com.oracle.truffle.polyglot.HostToGuestRootNode.execute(HostToGuestRootNode.java:119)
        at org.graalvm.sdk/org.graalvm.polyglot.Value.invokeMember(Value.java:548)
        at org.enso.polyglot.Module.getAssociatedConstructor(Module.scala:15)
        at org.enso.runner.Main$.runMain(Main.scala:386)
        at org.enso.runner.Main$.runSingleFile(Main.scala:326)
        at org.enso.runner.Main$.run(Main.scala:309)
        at org.enso.runner.Main$.main(Main.scala:556)
        at org.enso.runner.Main.main(Main.scala)
Original Internal Error:
org.enso.compiler.exception.CompilerError: Compiler Internal Error: Unexpected IR node in complex type body.
        at org.enso.compiler.pass.desugar.ComplexType$.$anonfun$desugarComplexType$6(ComplexType.scala:173)
        at scala.collection.immutable.List.flatMap(List.scala:293)
        at org.enso.compiler.pass.desugar.ComplexType$.desugarComplexType(ComplexType.scala:163)
        at org.enso.compiler.pass.desugar.ComplexType$.$anonfun$runModule$1(ComplexType.scala:78)
        at scala.collection.immutable.List.flatMap(List.scala:293)
        at org.enso.compiler.pass.desugar.ComplexType$.runModule(ComplexType.scala:77)
        at org.enso.compiler.pass.PassManager.$anonfun$runPassesOnModule$2(PassManager.scala:101)
        at scala.collection.LinearSeqOps.foldLeft(LinearSeq.scala:169)
        at scala.collection.LinearSeqOps.foldLeft$(LinearSeq.scala:165)
        at scala.collection.immutable.List.foldLeft(List.scala:79)
        at org.enso.compiler.pass.PassManager.runPassesOnModule(PassManager.scala:92)
        at org.enso.compiler.Compiler.recognizeBindings(Compiler.scala:253)
        at org.enso.compiler.Compiler.parseModule(Compiler.scala:128)
        at org.enso.compiler.Compiler.run(Compiler.scala:69)
        at org.enso.interpreter.runtime.Module.compile(Module.java:241)
        at org.enso.interpreter.runtime.Module.compileScope(Module.java:202)
        at org.enso.interpreter.runtime.Module$InvokeMember.doInvoke(Module.java:405)
        at org.enso.interpreter.runtime.ModuleGen$InteropLibraryExports$Cached.executeAndSpecialize(ModuleGen.java:109)
        at org.enso.interpreter.runtime.ModuleGen$InteropLibraryExports$Cached.invokeMember(ModuleGen.java:89)
        at org.graalvm.truffle/com.oracle.truffle.api.interop.InteropLibraryGen$CachedDispatch.invokeMember(InteropLibraryGen.java:6078)
        at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AbstractInvokeNode.executeShared(PolyglotValue.java:2158)
        at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$InvokeNoArgsNode.executeImpl(PolyglotValue.java:2222)
        at org.graalvm.truffle/com.oracle.truffle.polyglot.HostToGuestRootNode.execute(HostToGuestRootNode.java:119)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:591)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:562)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:512)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:496)
        at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.GraalRuntimeSupport.callProfiled(GraalRuntimeSupport.java:136)
        at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotValue$InteropValue.invoke(PolyglotValue.java:2903)
        at org.graalvm.sdk/org.graalvm.polyglot.Value.invokeMember(Value.java:548)
        at org.enso.polyglot.Module.getAssociatedConstructor(Module.scala:15)
        at org.enso.runner.Main$.runMain(Main.scala:386)
        at org.enso.runner.Main$.runSingleFile(Main.scala:326)
        at org.enso.runner.Main$.run(Main.scala:309)
        at org.enso.runner.Main$.main(Main.scala:556)
        at org.enso.runner.Main.main(Main.scala)
Caused by: Attached Guest Language Frames (1)

Enso Version

0.2.7

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
p-high Should be completed in the next sprint
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants