RFR(XS) 8242787: sun/tools/jhsdb/HeapDumpTestWithActiveProcess.java fails with sun.jvm.hotspot.types.WrongTypeException
Chris Plummer
chris.plummer at oracle.com
Fri Apr 17 04:46:24 UTC 2020
On 4/16/20 9:17 PM, David Holmes wrote:
> Hi Chris,
>
> On 17/04/2020 3:18 am, Chris Plummer wrote:
>> Hello,
>>
>> Please review the following:
>>
>> https://bugs.openjdk.java.net/browse/JDK-8242787
>> http://cr.openjdk.java.net/~cjplummer/8242787/webrev.00/index.html
>>
>> After fixing JDK-8230731 [1], this test still failed, this time with
>> a WrongTypeException. The issue is basically the same one as was just
>> fixed in JDK-8235220 [2]. With CDS on you sometimes get a
>> WrongTypeException instead of an AddressException, so in some places
>> code that allows an AddressException needs to also allow a
>> WrongTypeException.
>
> Just an observation: the multiple catch blocks that are identical:
>
> 261 catch (AddressException e) {
> 262 // This is okay at the top of these regions
> 263 }
> 264 catch (UnknownOopException e) {
> 265 // This is okay at the top of these regions
> 266 }
> 267 catch (WrongTypeException e) {
> 268 // This is okay at the top of these regions
> 269 }
>
> can now be written more succinctly as:
>
> 261 catch (AddressException | UnknownOopException |
> WrongTypeException e) {
> 262 // These are okay at the top of these regions
> 263 }
>
Ok. I thought I had seen something like that before, but couldn't recall
for sure, nor could I recall the syntax. I'll make the change.
thanks,
Chris
> Cheers,
> David
> -----
>
>> Note that fixing this issue then exposes JDK-8242789 [3], which I'll
>> be fixing next, so the problem list entry changed from JDK-8242787 to
>> JDK-8242789.
>>
>> I also did a bit of cleaning up of some debugging code. During my
>> debugging session I set DEBUG = true to get some extra debugging
>> output, and suddenly a lot of tests were failing with a
>> RuntimeException. This is because of the debugging code I've now
>> stripped out. It decided to convert an acceptable failure type
>> (UnknownOopException) into one that the outer try/catch would not
>> catch (RuntimeException). UnknownOopException is not suppose to cause
>> iterateLiveRegions() to abort.
>>
>> https://bugs.openjdk.java.net/browse/JDK-8230731
>> https://bugs.openjdk.java.net/browse/JDK-8235220
>> https://bugs.openjdk.java.net/browse/JDK-8242789
>>
>> thanks,
>>
>> Chris
More information about the serviceability-dev
mailing list