Hi Alexander,

The error code 42 is INVALID_MODULE:
*INVALID_MODULE*
        
42
        
Invalid module.


It means that the moduleID passed to the JDWP is not correct.
So that we have to check if the moduleID format is correct for 32-bit.


The moduleID type is specified as:
*moduleID*
        
 same as objectID
        
Uniquely identifies an object in the target VM that is known to be a module object.



The size of objectID is returned by the ViltualMachine(1) command IDSizes(7):
Reply Data

        
        
        
        
        
        
   int  /fieldIDSize/   fieldID size in bytes
   int  /methodIDSize/  methodID size in bytes
   int  /objectIDSize/  objectID size in bytes
   int  /referenceTypeIDSize/   referenceTypeID size in bytes
   int  /frameIDSize/   frameID size in bytes



Please, let me know what you think.

Thanks,
Serguei



On 8/25/16 04:56, Alexander Kulyakhtin wrote:
Hi Sergey,

Most unfortunately, the test is failing on 32-bit machines only with 
https://bugs.openjdk.java.net/browse/JDK-8164490.

It may well be a test issue, so I appreciate your looking at the test source. I 
was not able to locate any issue with the test and it runs fine on 64-bit 
machines.
Perhaps, it has to do with any difference in JDWP strings representation on 
32/64 machines?

Best regards,
Alexander
----- Original Message -----
From: serguei.spit...@oracle.com
To: alexander.kulyakh...@oracle.com, serviceability-dev@openjdk.java.net
Cc: christian.tornqv...@oracle.com
Sent: Wednesday, August 24, 2016 11:22:23 PM GMT +03:00 Iraq
Subject: Re: RFR:8148103:add more tests for task "Update JDI and JDWP for 
modules"

Hi Alexander,

It is great that you developed a test coverage for this feature.
Just wanted to let you know that I'm reviewing your fix now.
Did you get any other reviews yet?

Thanks,
Serguei


On 8/12/16 05:55, Alexander Kulyakhtin wrote:
Hi,

Could you, please, review the following test-only change (adding a new test):

CR: https://bugs.openjdk.java.net/browse/JDK-8148103
Webrev: http://cr.openjdk.java.net/~akulyakh/8148103_02/

The new test verifies the new JDWP commands: AllModules, Module, Name, 
ClassLoader, CanRead.

It does so by launching a debuggee java program  with the necessary 
JDWP-related options, so that a JDWP session can be established between the 
debuggee and the test.

When started the debuggee reports its loaded modules to the test.
The test then initiates the JDWP session and issues AllModules command to get 
the modules info by means of the JDWP.
For each module the test issues Name command. It then verifies that the modules 
names reported via the JDWP are the same as reported by the debuggee using the 
Java API.
Additionally, for each module the test issues CanRead and Classloader commands 
and verifies that the corresponding replies are correct.

Since all the previous JDWP tests were implemented using the deprecated closed 
test framework, the amount of the code for this test is slightly larger than 
usually for a single test.
The simple JDWP framework, created for this test, allows for porting the other 
JDWP tests to the jtreg in the same manner.

Best regards,
Alexander

Reply via email to