[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-serviceability-dev
Subject:    Re: [9] RFR (M) 8054386: Allow Java debugging when CDS is enabled
From:       David Holmes <david.holmes () oracle ! com>
Date:       2015-05-21 6:07:17
Message-ID: 555D7615.5060108 () oracle ! com
[Download RAW message or body]

Hi Chris,

On 21/05/2015 4:18 AM, Chris Plummer wrote:
> On 5/19/15 9:26 PM, David Holmes wrote:
>> Hi Chris,
>>
>> On 20/05/2015 12:25 AM, Chris Plummer wrote:
>>> Hi,
>>>
>>> Please review the following changes for allowing java debugging when CDS
>>> is enabled.
>>>
>>> Webrev:http://cr.openjdk.java.net/~cjplummer/8054386/webrev.01/
>>> Bug:https://bugs.openjdk.java.net/browse/JDK-8054386
>>>
>>> The VM changes are simple. I removed the check that prevents debugging
>>> with CDS enabled, and added logic that will map the CDS archive RW when
>>> debugging is enabled.
>>>
>>> The tests are a bit more complex. There are a bunch of existing JDI
>>> tests for testing debugging support. Rather than start from scratch or
>>> clone them, I instead just wrote wrapper tests that put the relevant JDI
>>> test classes in the archive, and then invoke the JDI test. I did this
>>
>> I'm not sure that the jdk tests will always be available in the same
>> test bundle as the hotspot tests. I know they will be in the full
>> forest but some testing uses test bundles not full repos.
> I'm not familiar with test bundles. Who creates them and who uses them?

I was thinking of the test-image target in the build, which is then used 
to create a test-bundle for JPRT. But that seems to be only native code 
that must be built as part of the binary build process. So I think the 
actual test execution will be using the source repository - for JPRT 
anyway.

Not sure how nightly testing handles things though - if it is executing 
the hotspot jtreg tests only does it use a full repo or just the 
hotspot/test directory tree?

David
-----

>
> Chris
>>
>> David
>> -----
>>
>>
>>> for 3 of the JDI tests. If you feel there are others that would be good
>>> candidates, I'd be happy to add them. I'm looking for ones that would
>>> result in modification of the RO class metadata, such as setting a
>>> breakpoint (for which I already added two tests).
>>>
>>> Testing done:
>>> -Using JPRT to run the new jtreg tests on all platforms.
>>> -Using JPRT to run all jtreg runtime tests on linux x86 and x_64.
>>> -Regular JPRT "-testset hotspot" run
>>> -Putting the JCK JVMTI tests in the archive and then running them.
>>> -Putting the nsk jdb, jdwp, jvmti, and jdi tests in the archive and then
>>> running them.
>>> -Putting a simple test class in the archive and then setting a
>>> breakpoint on it using jdb
>>>
>>> Some of the above testing resulted in the discovery of bugs that still
>>> need to be addressed: JDK-8078644, JDK-8078730, and JDK-8079181.
>>>
>>> I also verified that without the change to map the archive RW, the above
>>> testing resulted in a SEGV, which is what you would expect (and actually
>>> want to see to prove that the testing is effective).
>>>
>>> thanks,
>>>
>>> Chris
>>>
>
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic