Crash in C1, using indy

Charles Oliver Nutter headius at headius.com
Thu Apr 12 08:00:44 PDT 2012


A JRuby user was refactoring some code to avoid the perf drop off from
non-inlined invokedynamic call sites and ran into a crasher:

u3: http://pastie.org/3774422
u4: http://pastie.org/3774417

This occurs on the OS X u4 preview and on a Linux u3 build.
Unfortunately the app is both complex and private so I'm not able to
provide a reproduction right now.

Disabling TieredCompilation makes the problem go away (only uses C2).
Running with -client fails in GVN instead:

u3: http://pastie.org/3774468
u4: http://pastie.org/3774461

The bytecode of the method that crashes is at the following URL. The
MethodHandles backing up the indy call sites can't easily be shown,
but Christian T. knows basically how we structure them.

http://kaunan.whitequark.org/files/javafail2.tbz2

PrintCompilation is included in this output:

http://kaunan.whitequark.org/files/javafail3.tbz2

Each fo the tarballs includes core + hs_err, etc, for consistency.

I can ask the user to run anything you suggest, but it seems like an
invokedynamic crasher in C1.

- Charlie


More information about the hotspot-compiler-dev mailing list