-
Notifications
You must be signed in to change notification settings - Fork 71
Closed
Description
Hello!
After updating to 2.4.0, we've started seeing StackOverflowErrors when running generate-hashes (using modified-filepaths):
Exception in thread "main" java.lang.StackOverflowError
at java.base/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3963)
at java.base/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)
at java.base/java.util.regex.Pattern$Branch.match(Pattern.java:4749)
at java.base/java.util.regex.Pattern$Branch.match(Pattern.java:4747)
at java.base/java.util.regex.Pattern$Branch.match(Pattern.java:4747)
at java.base/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)
at java.base/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)
at java.base/java.util.regex.Pattern$BmpCharPropertyGreedy.match(Pattern.java:4344)
at java.base/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)
at java.base/java.util.regex.Pattern$Branch.match(Pattern.java:4749)
at java.base/java.util.regex.Pattern$Branch.match(Pattern.java:4747)
at java.base/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)
at java.base/java.util.regex.Pattern$Start.match(Pattern.java:3619)
at java.base/java.util.regex.Matcher.search(Matcher.java:1729)
at java.base/java.util.regex.Matcher.find(Matcher.java:773)
at java.base/java.util.Formatter.parse(Formatter.java:2702)
at java.base/java.util.Formatter.format(Formatter.java:2655)
at java.base/java.util.Formatter.format(Formatter.java:2609)
at java.base/java.lang.String.format(String.java:2897)
at com.bazel_diff.BazelRuleImpl.transformRuleInput(BazelRule.java:53)
at com.bazel_diff.BazelRuleImpl.lambda$getRuleInputList$0(BazelRule.java:38)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:720)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
at com.bazel_diff.BazelRuleImpl.getRuleInputList(BazelRule.java:39)
at com.bazel_diff.TargetHashingClientImpl.createDigestForRule(TargetHashingClient.java:101)
at com.bazel_diff.TargetHashingClientImpl.createDigestForRule(TargetHashingClient.java:106)
at com.bazel_diff.TargetHashingClientImpl.createDigestForRule(TargetHashingClient.java:106)
at com.bazel_diff.TargetHashingClientImpl.createDigestForRule(TargetHashingClient.java:106)
at com.bazel_diff.TargetHashingClientImpl.createDigestForRule(TargetHashingClient.java:106)
at com.bazel_diff.TargetHashingClientImpl.createDigestForRule(TargetHashingClient.java:106)
at com.bazel_diff.TargetHashingClientImpl.createDigestForRule(TargetHashingClient.java:106)
at com.bazel_diff.TargetHashingClientImpl.createDigestForRule(TargetHashingClient.java:106)
at com.bazel_diff.TargetHashingClientImpl.createDigestForRule(TargetHashingClient.java:106)
at com.bazel_diff.TargetHashingClientImpl.createDigestForRule(TargetHashingClient.java:106)
at com.bazel_diff.TargetHashingClientImpl.createDigestForRule(TargetHashingClient.java:106)
at com.bazel_diff.TargetHashingClientImpl.createDigestForRule(TargetHashingClient.java:106)
at com.bazel_diff.TargetHashingClientImpl.createDigestForRule(TargetHashingClient.java:106)
at com.bazel_diff.TargetHashingClientImpl.createDigestForRule(TargetHashingClient.java:106)
at com.bazel_diff.TargetHashingClientImpl.createDigestForRule(TargetHashingClient.java:106)
at com.bazel_diff.TargetHashingClientImpl.createDigestForRule(TargetHashingClient.java:106)
at com.bazel_diff.TargetHashingClientImpl.createDigestForRule(TargetHashingClient.java:106)
(etc)
I had a look at the code and saw the recursive call in createDigestForRule which seems to be the culprit, however I'm also curious if we might be doing something wrong to get into this state, since I've not seen any complaints of similar issues yet.
Any thoughts?
Metadata
Metadata
Assignees
Labels
No labels