You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It appears that the calculation of what class to "super" up ends up with wrong results in the JIT. Specifically, in this case, Rake's FileUtilsExt module, which mixes in FileUtils and which is itself extended into other classes, ends up finding itself as its own superclass. I have been unable to reproduce the problem with a simple snippit; there's something different in the Rake class hierarchy that's triggering this.
To reproduce, just check out hexapdf and run jruby -Xjit.threshold=0 -S rake test.
The text was updated successfully, but these errors were encountered:
For the record, this was introduced in 9b4e97b. The change there caused this stack overflow because it duplicated a method, stuffed it into a child class, changed its impl class to that child, and that caused it to super into itself repeatedly. This change reverts to WrapperMethod, which only serves to hold a method plus a new visibility in our method tables, and does not pass on implementationClass.
Environment
At least JRuby 9.1.5.0 and 9.1.6.0.
Attempting to run tests with
-Xjit.threshold=0
for hexapdf.Expected Behavior
When running with threshold=0, the tests should still run.
Actual Behavior
Instead, we get the following stack overflow:
It appears that the calculation of what class to "super" up ends up with wrong results in the JIT. Specifically, in this case, Rake's
FileUtilsExt
module, which mixes inFileUtils
and which is itself extended into other classes, ends up finding itself as its own superclass. I have been unable to reproduce the problem with a simple snippit; there's something different in the Rake class hierarchy that's triggering this.To reproduce, just check out hexapdf and run
jruby -Xjit.threshold=0 -S rake test
.The text was updated successfully, but these errors were encountered: