Vicens Philippe
03/05/2025, 4:05 PMJulien Plissonneau Duquène
03/05/2025, 4:55 PMPatternMatcherFactory.java
lines?Vampire
03/05/2025, 10:26 PMcompile
that calls itself, fed by a path that is split to its path parts.
The difference between your build and CI build is most probably that either on CI the paths are longer, so more recursive steps, or the stack-size (-Xss
) is bigger which can depend on the OS and architecture if not specified explicitly.
You could try to increase the stack-size to mitigate the problem, or you could try to use different filter-technique, like include { ... }
instead of patterns.
Ultimately, you should either way probably report a Gradle bug. The code in 8.13 is basically still the same, just using a List
instead of an array. It should probably be rewritten somehow to not be recursive.Vicens Philippe
03/06/2025, 8:21 AMVampire
03/06/2025, 8:44 AMfileTree("x").matching {
include(List(20000) { "x" }.joinToString("/"))
}.forEach {
}
anywhere in the build script and as soon as you run any task, it will fail with the SOE.Vicens Philippe
03/06/2025, 2:04 PMVampire
03/06/2025, 2:06 PMinclude(List(20000) { "x" }.joinToString("/"))
where you have your include(fileContent)
and it will fail at the same spot your CI is failingVampire
03/06/2025, 2:07 PMVicens Philippe
03/06/2025, 2:12 PM