RFR: 8221503: vmTestbase/nsk/jdb/eval/eval001/eval001.java failes with: com.sun.jdi.InvalidTypeException: Can't assign double[][][] to double[][][]

Egor Ushakov egor.ushakov at jetbrains.com
Tue Apr 2 09:42:54 UTC 2019


Please review the fix

this test started to fail after the fix of 
https://bugs.openjdk.java.net/browse/JDK-8146986
previously any call to ClassLoaderReference.visibleClasses as a side 
effect cached the results in VirtualMachineImpl.typesBySignature
and made them available to any VirtualMachine.classesByName call.
This is somewhat not consistent for unprepared classes, I reported that, 
check
Bug 26148990 : JDI - VirtualMachine.allClasses does not return loaded 
but uninitialized class,
but it seems that it allowed the ArrayTypeImpl.componentType to work 
even if the type was not prepared,
check how ArrayTypeImpl#findComponentType uses vm.classesByName.
It seems that ArrayTypeImpl#findComponentType should simply call 
findType for component signature.
Just how the unused com.sun.tools.jdi.ArrayTypeImpl#type method works, 
not sure why it was dropped...

bugid https://bugs.openjdk.java.net/browse/JDK-8221503
cr http://cr.openjdk.java.net/~eushakov/8221503/webrev.00/

Thanks!
<http://cr.openjdk.java.net/~eushakov/8221503/webrev.00/>

-- 
Egor Ushakov
Software Developer
JetBrains
http://www.jetbrains.com
The Drive to Develop

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20190402/21acf986/attachment.html>


More information about the serviceability-dev mailing list