Quoting the module name crashes pkl #314

Closed
opened 2025-12-30 01:23:28 +01:00 by adam · 0 comments
Owner

Originally created by @babo on GitHub (Jul 1, 2025).

A file with a single line where the module name is quoted crashes pkl.

module "MyMistake"

java.lang.IndexOutOfBoundsException%3A%20Index%200%20out%20of%20bounds%20for%20length%200

–– Pkl Error ––
Index 0 out of bounds for length 0

1 | amends "./single-docker-image.pkl"
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
at docker-images (file:///Users/babo/nc/dnb/pmdi/efraud-relay/job-params/docker/docker-images.pkl, line 1)

Pkl 0.28.2 (macOS 15.2, native)

java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
        at java.base@21.0.5/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:100)
        at java.base@21.0.5/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:106)
        at java.base@21.0.5/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:302)
        at java.base@21.0.5/java.util.Objects.checkIndex(Objects.java:385)
        at java.base@21.0.5/java.util.ArrayList.get(ArrayList.java:427)
        at java.base@21.0.5/java.util.Collections$UnmodifiableList.get(Collections.java:1501)
        at org.pkl.core.parser.syntax.Module.getDecl(Module.java:36)
        at org.pkl.core.runtime.MinPklVersionChecker.check(MinPklVersionChecker.java:51)
        at org.pkl.core.runtime.VmLanguage.initializeModule(VmLanguage.java:104)
        at org.pkl.core.runtime.ModuleCache.doLoad(ModuleCache.java:178)
        at org.pkl.core.runtime.ModuleCache.getOrLoad(ModuleCache.java:157)
        at org.pkl.core.runtime.VmLanguage.loadModule(VmLanguage.java:81)
        at org.pkl.core.ast.expression.unary.ImportNode.executeGeneric(ImportNode.java:57)
        at org.pkl.core.ast.expression.literal.AmendModuleNodeGen.executeGeneric(AmendModuleNodeGen.java:62)
        at org.pkl.core.ast.member.ModuleNode.executeImpl(ModuleNode.java:56)
        at org.pkl.core.ast.PklRootNode.execute(PklRootNode.java:46)
        at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:776)
        at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:700)
        at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:624)
        at org.graalvm.truffle.runtime.svm/com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:124)
        at org.graalvm.truffle.runtime.svm/com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:232)
        at org.graalvm.truffle.runtime.svm/com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:106)
        at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:556)
        at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.call(OptimizedCallTarget.java:502)
        at org.pkl.core.runtime.VmLanguage.initializeModule(VmLanguage.java:112)
        at org.pkl.core.runtime.ModuleCache.doLoad(ModuleCache.java:178)
        at org.pkl.core.runtime.ModuleCache.getOrLoad(ModuleCache.java:157)
        at org.pkl.core.runtime.VmLanguage.loadModule(VmLanguage.java:67)
        at org.pkl.core.EvaluatorImpl.lambda$doEvaluate$13(EvaluatorImpl.java:354)
        at org.pkl.core.EvaluatorImpl.doEvaluate(EvaluatorImpl.java:303)
        at org.pkl.core.EvaluatorImpl.doEvaluate(EvaluatorImpl.java:351)
        at org.pkl.core.EvaluatorImpl.evaluateOutputText(EvaluatorImpl.java:139)
        at org.pkl.core.EvaluatorImpl.evaluateExpressionString(EvaluatorImpl.java:213)
        at org.pkl.cli.CliEvaluator.writeOutput(CliEvaluator.kt:190)
        at org.pkl.cli.CliEvaluator.doRun(CliEvaluator.kt:101)
        at org.pkl.commons.cli.CliCommand.run(CliCommand.kt:45)
        at org.pkl.cli.commands.EvalCommand.run(EvalCommand.kt:84)
        at com.github.ajalt.clikt.core.CoreCliktCommandKt.parse(CoreCliktCommand.kt:107)
        at com.github.ajalt.clikt.core.CoreCliktCommandKt.main(CoreCliktCommand.kt:78)
        at com.github.ajalt.clikt.core.CoreCliktCommandKt.main(CoreCliktCommand.kt:90)
        at org.pkl.cli.Main.main$lambda$0(Main.kt:26)
        at org.pkl.commons.cli.CliMainKt.cliMain(CliMain.kt:33)
        at org.pkl.cli.Main.main(Main.kt:26)
Originally created by @babo on GitHub (Jul 1, 2025). A file with a single line where the module name is quoted crashes pkl. `module "MyMistake"` ``` java.lang.IndexOutOfBoundsException%3A%20Index%200%20out%20of%20bounds%20for%20length%200 –– Pkl Error –– Index 0 out of bounds for length 0 1 | amends "./single-docker-image.pkl" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ at docker-images (file:///Users/babo/nc/dnb/pmdi/efraud-relay/job-params/docker/docker-images.pkl, line 1) Pkl 0.28.2 (macOS 15.2, native) java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0 at java.base@21.0.5/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:100) at java.base@21.0.5/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:106) at java.base@21.0.5/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:302) at java.base@21.0.5/java.util.Objects.checkIndex(Objects.java:385) at java.base@21.0.5/java.util.ArrayList.get(ArrayList.java:427) at java.base@21.0.5/java.util.Collections$UnmodifiableList.get(Collections.java:1501) at org.pkl.core.parser.syntax.Module.getDecl(Module.java:36) at org.pkl.core.runtime.MinPklVersionChecker.check(MinPklVersionChecker.java:51) at org.pkl.core.runtime.VmLanguage.initializeModule(VmLanguage.java:104) at org.pkl.core.runtime.ModuleCache.doLoad(ModuleCache.java:178) at org.pkl.core.runtime.ModuleCache.getOrLoad(ModuleCache.java:157) at org.pkl.core.runtime.VmLanguage.loadModule(VmLanguage.java:81) at org.pkl.core.ast.expression.unary.ImportNode.executeGeneric(ImportNode.java:57) at org.pkl.core.ast.expression.literal.AmendModuleNodeGen.executeGeneric(AmendModuleNodeGen.java:62) at org.pkl.core.ast.member.ModuleNode.executeImpl(ModuleNode.java:56) at org.pkl.core.ast.PklRootNode.execute(PklRootNode.java:46) at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:776) at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:700) at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:624) at org.graalvm.truffle.runtime.svm/com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:124) at org.graalvm.truffle.runtime.svm/com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:232) at org.graalvm.truffle.runtime.svm/com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:106) at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:556) at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.call(OptimizedCallTarget.java:502) at org.pkl.core.runtime.VmLanguage.initializeModule(VmLanguage.java:112) at org.pkl.core.runtime.ModuleCache.doLoad(ModuleCache.java:178) at org.pkl.core.runtime.ModuleCache.getOrLoad(ModuleCache.java:157) at org.pkl.core.runtime.VmLanguage.loadModule(VmLanguage.java:67) at org.pkl.core.EvaluatorImpl.lambda$doEvaluate$13(EvaluatorImpl.java:354) at org.pkl.core.EvaluatorImpl.doEvaluate(EvaluatorImpl.java:303) at org.pkl.core.EvaluatorImpl.doEvaluate(EvaluatorImpl.java:351) at org.pkl.core.EvaluatorImpl.evaluateOutputText(EvaluatorImpl.java:139) at org.pkl.core.EvaluatorImpl.evaluateExpressionString(EvaluatorImpl.java:213) at org.pkl.cli.CliEvaluator.writeOutput(CliEvaluator.kt:190) at org.pkl.cli.CliEvaluator.doRun(CliEvaluator.kt:101) at org.pkl.commons.cli.CliCommand.run(CliCommand.kt:45) at org.pkl.cli.commands.EvalCommand.run(EvalCommand.kt:84) at com.github.ajalt.clikt.core.CoreCliktCommandKt.parse(CoreCliktCommand.kt:107) at com.github.ajalt.clikt.core.CoreCliktCommandKt.main(CoreCliktCommand.kt:78) at com.github.ajalt.clikt.core.CoreCliktCommandKt.main(CoreCliktCommand.kt:90) at org.pkl.cli.Main.main$lambda$0(Main.kt:26) at org.pkl.commons.cli.CliMainKt.cliMain(CliMain.kt:33) at org.pkl.cli.Main.main(Main.kt:26) ```
adam closed this issue 2025-12-30 01:23:28 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/pkl#314