jbang icon indicating copy to clipboard operation
jbang copied to clipboard

StackOverflow running 'jbang info tools' if script contains //SOURCES **.java

Open fbricon opened this issue 3 years ago • 1 comments
trafficstars

Describe the bug Running jbang info tools on a script containing //SOURCES **.java fails with a StackOverflow:

To Reproduce Steps to reproduce the behavior:

  1. git clone https://gist.github.com/maxandersen/9ccf3e0a5ad6d3a60e4aec433e41be08
  2. cd 9ccf3e0a5ad6d3a60e4aec433e41be08
  3. jbang info tools Jfx2.java
  4. See error
Exception in thread "main" java.lang.StackOverflowError
	at java.base/sun.nio.fs.UnixPath.getNameCount(UnixPath.java:295)
	at java.base/sun.nio.fs.UnixPath.normalize(UnixPath.java:480)
	at java.base/sun.nio.fs.UnixPath.normalize(UnixPath.java:43)
	at dev.jbang.source.resolvers.FileResourceResolver.resolve(FileResourceResolver.java:29)
	at dev.jbang.source.ResourceResolver.resolve(ResourceResolver.java:32)
	at dev.jbang.source.resolvers.CombinedResourceResolver.lambda$resolve$0(CombinedResourceResolver.java:27)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:1016)
	at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
	at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
... // REPEAT AD NAUSEAM
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
	at dev.jbang.cli.BaseInfoCommand$ScriptInfo.init(Info.java:138)
	at dev.jbang.cli.BaseInfoCommand$ScriptInfo.<init>(Info.java:114)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)

Expected behavior Command should not fail and return results

JBang version

❯ jbang version --verbose [jbang] jbang version 0.98.0 Cache: /Users/fbricon/.jbang/cache Config: /Users/fbricon/.jbang Repository:/Users/fbricon/.m2/repository 0.98.0

Additional context 'jbang info tools' working is a requirement for jbang-eclipse / jbang-vscode

fbricon avatar Sep 22 '22 07:09 fbricon

can confirm .... thats weird..

maxandersen avatar Sep 22 '22 08:09 maxandersen

@fbricon this should now be fixed

quintesse avatar Sep 26 '22 19:09 quintesse