-
Notifications
You must be signed in to change notification settings - Fork 194
Closed
Description
To reproduce:
ruby -e "File.fnmatch('/**/file0', '/', File::FNM_PATHNAME)"
Error:
-e:1:in `fnmatch': Index 1 out of bounds for length 1 (ArrayIndexOutOfBoundsException) (RuntimeError)
from org.truffleruby.core.support.IONodes$FileFNMatchPrimitiveNode.fnmatch(IONodes.java:306)
from org.truffleruby.core.support.IONodes$FileFNMatchPrimitiveNode.fnmatch(IONodes.java:126)
from org.truffleruby.core.support.IONodesFactory$FileFNMatchPrimitiveNodeFactory$FileFNMatchPrimitiveNodeGen.executeAndSpecialize(IONodesFactory.java:220)
from org.truffleruby.core.support.IONodesFactory$FileFNMatchPrimitiveNodeFactory$FileFNMatchPrimitiveNodeGen.execute(IONodesFactory.java:205)
from org.truffleruby.language.control.OrNode.execute(OrNode.java:41)
from org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:35)
from org.truffleruby.language.methods.CatchForMethodNode.execute(CatchForMethodNode.java:39)
from org.truffleruby.language.methods.ExceptionTranslatingNode.execute(ExceptionTranslatingNode.java:32)
from org.truffleruby.language.LazyRubyNode.execute(LazyRubyNode.java:43)
from org.truffleruby.language.RubyRootNode.execute(RubyRootNode.java:61)
from org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProxy(OptimizedCallTarget.java:348)
from org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callRoot(OptimizedCallTarget.java:338)
from org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:325)
from com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:135)
from org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:256)
from org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:64)
from org.truffleruby.language.dispatch.CachedDispatchNode.call(CachedDispatchNode.java:193)
from org.truffleruby.language.dispatch.CachedSingletonDispatchNode.executeDispatch(CachedSingletonDispatchNode.java:95)
from org.truffleruby.language.dispatch.UnresolvedDispatchNode.executeDispatch(UnresolvedDispatchNode.java:136)
from org.truffleruby.language.dispatch.DispatchHeadNode.dispatch(DispatchHeadNode.java:44)
from org.truffleruby.language.dispatch.RubyCallNode.executeWithArgumentsEvaluated(RubyCallNode.java:115)
from org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:103)
from org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:35)
from org.truffleruby.language.methods.CatchNextNode.execute(CatchNextNode.java:31)
from org.truffleruby.language.methods.CatchForMethodNode.execute(CatchForMethodNode.java:39)
from org.truffleruby.language.methods.CatchRetryAsErrorNode.execute(CatchRetryAsErrorNode.java:32)
from org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:35)
from org.truffleruby.language.methods.ExceptionTranslatingNode.execute(ExceptionTranslatingNode.java:32)
from org.truffleruby.language.exceptions.TopLevelRaiseHandler.execute(TopLevelRaiseHandler.java:39)
from org.truffleruby.language.RubyRootNode.execute(RubyRootNode.java:61)
from org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProxy(OptimizedCallTarget.java:348)
from org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callRoot(OptimizedCallTarget.java:338)
from org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:325)
from com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:135)
from org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callIndirect(OptimizedCallTarget.java:244)
from org.graalvm.compiler.truffle.runtime.OptimizedIndirectCallNode.call(OptimizedIndirectCallNode.java:48)
from org.truffleruby.language.loader.CodeLoader$DeferredCall.call(CodeLoader.java:107)
from org.truffleruby.language.TruffleBootNodes$MainNode.main(TruffleBootNodes.java:155)
from org.truffleruby.language.TruffleBootNodesFactory$MainNodeFactory$MainNodeGen.executeAndSpecialize(TruffleBootNodesFactory.java:384)
from org.truffleruby.language.TruffleBootNodesFactory$MainNodeFactory$MainNodeGen.execute(TruffleBootNodesFactory.java:363)
from org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:35)
from org.truffleruby.language.methods.ExceptionTranslatingNode.execute(ExceptionTranslatingNode.java:32)
from org.truffleruby.language.RubyRootNode.execute(RubyRootNode.java:61)
from org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProxy(OptimizedCallTarget.java:348)
from org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callRoot(OptimizedCallTarget.java:338)
from org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:325)
from com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:135)
from org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:256)
from org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:64)
from org.truffleruby.language.dispatch.CachedDispatchNode.call(CachedDispatchNode.java:193)
from org.truffleruby.language.dispatch.CachedSingletonDispatchNode.executeDispatch(CachedSingletonDispatchNode.java:95)
from org.truffleruby.language.dispatch.UnresolvedDispatchNode.executeDispatch(UnresolvedDispatchNode.java:136)
from org.truffleruby.language.dispatch.DispatchHeadNode.dispatch(DispatchHeadNode.java:44)
from org.truffleruby.language.dispatch.RubyCallNode.executeWithArgumentsEvaluated(RubyCallNode.java:115)
from org.truffleruby.language.dispatch.RubyCallNode.execute(RubyCallNode.java:103)
from org.truffleruby.language.methods.ExceptionTranslatingNode.execute(ExceptionTranslatingNode.java:32)
from org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:35)
from org.truffleruby.language.methods.CatchForLambdaNode.execute(CatchForLambdaNode.java:49)
from org.truffleruby.language.RubyRootNode.execute(RubyRootNode.java:61)
from org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProxy(OptimizedCallTarget.java:348)
from org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callRoot(OptimizedCallTarget.java:338)
from org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:325)
from com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:135)
from org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:256)
from org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:64)
from org.truffleruby.language.yield.CallBlockNode.callBlockCached(CallBlockNode.java:53)
from org.truffleruby.language.yield.CallBlockNodeGen.executeAndSpecialize(CallBlockNodeGen.java:100)
from org.truffleruby.language.yield.CallBlockNodeGen.executeCallBlock(CallBlockNodeGen.java:56)
from org.truffleruby.language.yield.YieldNode.dispatch(YieldNode.java:37)
from org.truffleruby.language.yield.YieldNodeGen.executeAndSpecialize(YieldNodeGen.java:46)
from org.truffleruby.language.yield.YieldNodeGen.executeDispatchWithArrayArguments(YieldNodeGen.java:33)
from org.truffleruby.language.yield.YieldNode.executeDispatch(YieldNode.java:29)
from org.truffleruby.interop.ForeignExecuteHelperNode.callProc(ForeignExecuteHelperNode.java:32)
from org.truffleruby.interop.ForeignExecuteHelperNodeGen.executeAndSpecialize(ForeignExecuteHelperNodeGen.java:69)
from org.truffleruby.interop.ForeignExecuteHelperNodeGen.executeCall(ForeignExecuteHelperNodeGen.java:53)
from org.truffleruby.interop.RubyObjectType.execute(RubyObjectType.java:493)
from org.truffleruby.interop.RubyObjectTypeGen$InteropLibraryExports$Cached.executeNode_AndSpecialize(RubyObjectTypeGen.java:1078)
from org.truffleruby.interop.RubyObjectTypeGen$InteropLibraryExports$Cached.execute(RubyObjectTypeGen.java:1064)
from com.oracle.truffle.api.interop.InteropLibraryGen$CachedDispatch.execute(InteropLibraryGen.java:3137)
from com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AbstractExecuteNode.executeShared(PolyglotValue.java:1699)
from com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$ExecuteNode.executeImpl(PolyglotValue.java:1780)
from com.oracle.truffle.polyglot.HostToGuestRootNode.execute(HostToGuestRootNode.java:98)
from org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProxy(OptimizedCallTarget.java:348)
from org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callRoot(OptimizedCallTarget.java:338)
from org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:325)
from com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:135)
from org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$OptimizedCallProfiled.call(OptimizedCallTarget.java:937)
from com.oracle.truffle.polyglot.PolyglotValue$InteropValue.execute(PolyglotValue.java:2459)
from org.graalvm.polyglot.Value.execute(Value.java:368)
from org.truffleruby.launcher.RubyLauncher.runRubyMain(RubyLauncher.java:233)
from org.truffleruby.launcher.RubyLauncher.launch(RubyLauncher.java:121)
from org.graalvm.launcher.AbstractLanguageLauncher.launch(AbstractLanguageLauncher.java:121)
from org.graalvm.launcher.AbstractLanguageLauncher.launch(AbstractLanguageLauncher.java:70)
from org.truffleruby.launcher.RubyLauncher.main(RubyLauncher.java:38)
Translated to internal error
from -e:1:in `<main>'