Closed papegaaij closed 2 years ago
The Groovy compiler emits interesting bytecode. The VariableReplacedListener$1
class looks like an inner class (that is, non-static
member class), but its constructor doesn't accept an instance of the enclosing class. I guess that's perfectly legal from JVMS perspective -- Jandex probably has too much assumptions about how inner classes look, based on the JLS. Fortunately, it should be straightforward to relax that assumption.
Since WildFly 27.0.0.Beta1, we are getting the following
java.lang.NegativeArraySizeException
when deploying our application in test mode (I've patched jandex to version 3.0.2):The class it is failing on is from
groovy-3.0.13.jar
and I've confirmed that this bug is still present in main and can be reproduced with:Bisection pointed to this commmit: 58de83149feb6d0709629628f64ce70d80d288ac. I hope this helps in tracking this down.