RFR(S) : 8026124 : JSR-292 bug: java.nio.file.Path.toString cores dump
John Rose
john.r.rose at oracle.com
Sat Oct 12 00:12:39 PDT 2013
On Oct 11, 2013, at 9:59 PM, David Chase <david.r.chase at oracle.com> wrote:
> Bug: https://bugs.openjdk.java.net/browse/JDK-8026124
> This is almost certainly a duplicate of 8025221 .
>
> Webrev: http://cr.openjdk.java.net/~drchase/8026124/webrev.00/
>
> Problem:
> Executing this Javascript
>
> var path = new java.io.File("/Users/jfdenise").toPath();
> path.toString();
>
> caused an assertion failure and crash.
> Cause was MemberName constructor (JDK side) passing a
>
> boolean java.nio.file.Path.equals(java.lang.Object)
>
> method reference into CallInfo::CallInfo (Hotspot side). The
> code did not expect to see an interface-owned reference to
> an object method (i.e., a vtable reference) and failed an assertion.
The new check looks good.
(Except for the extra spaces around "->" like Chris said.)
> Fix: detect this case, assert that the method matches the
> corresponding vtable-indexed method in Object, continue
> as a virtual dispatch.
>
> Testing:
> failing code now passes
> jtreg of jdk/lambda java/lang/invoke java/util/stream
> defmeth
>
> ute vm.quick.testlist in progress (A/B testing)
> jprt of hotspot in progress
>
> Is there any good and easy Nashorn testing?
Your best bet might be asm. (I tried a few variations on the theme of TestIntfc::toString, including some emacs-ing of class files, but no luck.) Might I recommend a reusable BogoLoader in test/java/lang/invoke/?
— John
More information about the hotspot-compiler-dev
mailing list