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

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

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

Yasumasa Suenaga-4
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?
Also I cannot access JPRT. So I need a sponsor.


Thanks,

Yasumasa
Reply | Threaded
Open this post in threaded view
|

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

David Holmes
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
Reply | Threaded
Open this post in threaded view
|

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

Yasumasa Suenaga-4
Hi David,


> How did you submit to mach5 ???

I'm using Submit Repo for testing:
   https://wiki.openjdk.java.net/display/Build/Submit+Repo


> Anyway the failure is with:

Thanks!
I've fixed them in new webrev:
   http://cr.openjdk.java.net/~ysuenaga/JDK-8194249/webrev.01/

This webrev has passed Mach 5 tier 1 tests in Submit Repo:
   http://java.se.oracle.com:10065/mdash/jobs/mach5-one-ysuenaga-JDK-8194249-20171231-0202-8291


Yasumasa


On 2017/12/30 10:31, David Holmes wrote:

> 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
Reply | Threaded
Open this post in threaded view
|

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

Yasumasa Suenaga-4
PING:
Could you review and sponsor it?

>    http://cr.openjdk.java.net/~ysuenaga/JDK-8194249/webrev.01/


Yasumasa


On 2017/12/31 13:33, Yasumasa Suenaga wrote:

> Hi David,
>
>
>> How did you submit to mach5 ???
>
> I'm using Submit Repo for testing:
>    https://wiki.openjdk.java.net/display/Build/Submit+Repo
>
>
>> Anyway the failure is with:
>
> Thanks!
> I've fixed them in new webrev:
>    http://cr.openjdk.java.net/~ysuenaga/JDK-8194249/webrev.01/
>
> This webrev has passed Mach 5 tier 1 tests in Submit Repo:
>    http://java.se.oracle.com:10065/mdash/jobs/mach5-one-ysuenaga-JDK-8194249-20171231-0202-8291
>
>
> Yasumasa
>
>
> On 2017/12/30 10:31, David Holmes wrote:
>> 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