<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Hi Alexander,<br>
<br>
The error code 42 is INVALID_MODULE:<br>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<table class="confluenceTable">
<tbody>
<tr>
<th class="highlight-yellow confluenceTh"
data-highlight-colour="yellow">
<div><strong>INVALID_MODULE</strong>Â </div>
</th>
<th class="highlight-yellow confluenceTh"
data-highlight-colour="yellow">
<div><span>42</span></div>
</th>
<th class="highlight-yellow confluenceTh"
data-highlight-colour="yellow">
<div><span>Invalid module.  </span></div>
</th>
</tr>
</tbody>
</table>
<br>
It means that the moduleID passed to the JDWP is not correct.<br>
So that we have to check if the moduleID format is correct for
32-bit.<br>
<br>
<br>
The moduleID type is specified as:<br>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<table class="confluenceTable">
<tbody>
<tr>
<td class="confluenceTd">
<div><strong>moduleID</strong></div>
</td>
<td class="confluenceTd">
<div><span>Â same as objectID <br>
</span></div>
</td>
<td class="confluenceTd">
<div><span>Â Uniquely identifies an object in the target VM
that is known to be a module object.</span></div>
</td>
</tr>
</tbody>
</table>
<br>
<br>
The size of objectID is returned by the ViltualMachine(1) command
IDSizes(7):<br>
<dt>Reply Data
</dt>
<dd>
<table summary="" border="1" cellpadding="3" cellspacing="0"
width="90%">
<tbody>
<tr>
<th width="4%"><br>
</th>
<th width="4%"><br>
</th>
<th width="4%"><br>
</th>
<th width="4%"><br>
</th>
<th width="4%"><br>
</th>
<th width="15%"><br>
</th>
<th width="65%">
<br>
</th>
</tr>
<tr>
<td colspan="5">
int</td>
<td><i>fieldIDSize</i></td>
<td>fieldID size in bytes Â
</td>
</tr>
<tr>
<td colspan="5">
int</td>
<td><i>methodIDSize</i></td>
<td>methodID size in bytes Â
</td>
</tr>
<tr>
<td colspan="5">
int</td>
<td><i>objectIDSize</i></td>
<td>objectID size in bytes Â
</td>
</tr>
<tr>
<td colspan="5">
int</td>
<td><i>referenceTypeIDSize</i></td>
<td>referenceTypeID size in bytes Â
</td>
</tr>
<tr>
<td colspan="5">
int</td>
<td><i>frameIDSize</i></td>
<td>frameID size in bytes Â
</td>
</tr>
</tbody>
</table>
</dd>
<br>
<br>
Please, let me know what you think.<br>
<br>
Thanks,<br>
Serguei<br>
<br>
<br>
<br>
On 8/25/16 04:56, Alexander Kulyakhtin wrote:<br>
</div>
<blockquote cite="mid:7ef0724a-8ea2-4f1e-bd74-6cc17887a029@default"
type="cite">
<pre wrap="">Hi Sergey,
Most unfortunately, the test is failing on 32-bit machines only with <a class="moz-txt-link-freetext" href="https://bugs.openjdk.java.net/browse/JDK-8164490">https://bugs.openjdk.java.net/browse/JDK-8164490</a>.
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: <a class="moz-txt-link-abbreviated" href="mailto:serguei.spitsyn@oracle.com">serguei.spitsyn@oracle.com</a>
To: <a class="moz-txt-link-abbreviated" href="mailto:alexander.kulyakhtin@oracle.com">alexander.kulyakhtin@oracle.com</a>, <a class="moz-txt-link-abbreviated" href="mailto:serviceability-dev@openjdk.java.net">serviceability-dev@openjdk.java.net</a>
Cc: <a class="moz-txt-link-abbreviated" href="mailto:christian.tornqvist@oracle.com">christian.tornqvist@oracle.com</a>
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:
</pre>
<blockquote type="cite">
<pre wrap="">Hi,
Could you, please, review the following test-only change (adding a new test):
CR: <a class="moz-txt-link-freetext" href="https://bugs.openjdk.java.net/browse/JDK-8148103">https://bugs.openjdk.java.net/browse/JDK-8148103</a>
Webrev: <a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~akulyakh/8148103_02/">http://cr.openjdk.java.net/~akulyakh/8148103_02/</a>
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
</pre>
</blockquote>
<pre wrap="">
</pre>
</blockquote>
<br>
</body>
</html>