Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
IBM J9 VM should also have INVOKEDYNAMIC_DEFAULT = false #477
Running JRuby 1.7.1 on
will occasionally crash. They key error message associated with the crash appears to be:
Ideally the code in https://github.com/jruby/jruby/blob/master/src/org/jruby/util/cli/Options.java would recognize the IBM VM and disable invokedynamic by default.
Some of the relevant Java System Properties for the IBM VM:
Below is some parts of freenode #jruby earlier today. A key point is " I'd like to leave indy enabled on IBM ..." Also note that Daniel Heidinga from J9 team is looking at the issue and has developed a simplified test case that reproduces it.
I don't think we want a universal "no invokedynamic" for J9. We probably want to be have a version threshold, analogous to what is being done for HotSpot. Of course, we do not yet know what version of J9 we expect to work.
I have a better commit for defaulting to invokedynamic off for the first several releases of IBM Java 1.7. My aim here is to avoid hitting the JVM crash issue fixed by APAR IV34500. The fix should be released in the next month or two.
What I don't know is how common it is to hit the crash issue. The application I'm working hits the crash about every other time the application is started under WebSphere AppServer. I've only ever seen the crash on the first page hit. If the first page loads successfully, the application will continue to run fine.
It may be that my proposed change does not belong in JRuby, because the failure my change is trying to avoid may be uncommon enough and the failure mode (a JVM crash) is obvious enough.