RFR: 8194249: SA: G1HeapRegionTable#getByAddress() returns incorrect HeapRegion

David Holmes david.holmes at oracle.com
Sat Dec 30 01:31:57 UTC 2017


Hi Yasumasa,

Not a review ...

On 29/12/2017 11:16 PM, Yasumasa Suenaga wrote:
> Hi all,
> 
> G1HeapRegionTable#getByAddress() returns incorrect HeapRegion which 
> contains incorrect address. We can see it in Stack Memory window on 
> HSDB. Some oop addresses are shown as Free Region (attached image).
> 
> G1HeapRegion#getByAddress() should create HeapRegion instance from the 
> address in _biased_base array.
> 
> I uploaded webrev. Could you review it?
> 
>    http://cr.openjdk.java.net/~ysuenaga/JDK-8194249/webrev.00/
> 
> I've tested this change with test/hotspot/jtreg/serviceability/sa, it 
> works fine.
> But I received some failure from Mach 5. I also tested this change via 
> submit repos.
> 
>    
> http://java.se.oracle.com:10065/mdash/jobs/mach5-one-ysuenaga-JDK-8194249-20171228-0605-8272 
> 
> 
> I cannot access this URL. Could you share the result?

How did you submit to mach5 ???

Anyway the failure is with:

test/hotspot/jtreg/serviceability/sa/TestG1HeapRegion.java

On linux and OS X:

  stderr: [Exception in thread "main" java.lang.NullPointerException
	at 
TestG1HeapRegion$G1HeapRegionTestClosure.doSpace(TestG1HeapRegion.java:70)
	at 
jdk.hotspot.agent/sun.jvm.hotspot.gc.g1.G1CollectedHeap.heapRegionIterate(G1CollectedHeap.java:121)
	at TestG1HeapRegion.scanHeapRegion(TestG1HeapRegion.java:81)
	at TestG1HeapRegion.main(TestG1HeapRegion.java:129)

On Solaris sparcv9:

  stderr: [Exception in thread "main" java.lang.RuntimeException: 
Address of HeapRegion does not match.: expected 0x00000007afb00000 to 
equal 0x00000007afc00000
	at jdk.test.lib.Asserts.fail(Asserts.java:594)
	at jdk.test.lib.Asserts.assertEquals(Asserts.java:205)
	at 
TestG1HeapRegion$G1HeapRegionTestClosure.doSpace(TestG1HeapRegion.java:70)
	at 
jdk.hotspot.agent/sun.jvm.hotspot.gc.g1.G1CollectedHeap.heapRegionIterate(G1CollectedHeap.java:121)
	at TestG1HeapRegion.scanHeapRegion(TestG1HeapRegion.java:81)
	at TestG1HeapRegion.main(TestG1HeapRegion.java:129)
]

David
-----

> Also I cannot access JPRT. So I need a sponsor.
> 
> 
> Thanks,
> 
> Yasumasa


More information about the serviceability-dev mailing list