RFR: 8263914: CDS fails to find the default shared archive on x86_32

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

RFR: 8263914: CDS fails to find the default shared archive on x86_32

Jie Fu-2
Hi all,

The VM fails to get initialized when running with `java -Xshare:on -version` on x86_32.
The reason is that the default shared archive (classes_nocoops.jsa) doesn't exist.
So the build system should generate classes_nocoops.jsa instead of classes.jsa on x86_32.

Thanks.
Best regards,
Jie

-------------

Commit messages:
 - 8263914: CDS fails to find the default shared archive on x86_32

Changes: https://git.openjdk.java.net/jdk/pull/3109/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=3109&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8263914
  Stats: 5 lines in 1 file changed: 4 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3109.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3109/head:pull/3109

PR: https://git.openjdk.java.net/jdk/pull/3109
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8263914: CDS fails to find the default shared archive on x86_32

David Holmes-2
On Mon, 22 Mar 2021 01:30:43 GMT, Jie Fu <[hidden email]> wrote:

> Hi all,
>
> The VM fails to get initialized when running with `java -Xshare:on -version` on x86_32.
> The reason is that the default shared archive (classes_nocoops.jsa) doesn't exist.
> So the build system should generate classes_nocoops.jsa instead of classes.jsa on x86_32.
>
> Thanks.
> Best regards,
> Jie

Hi Jie,

I don't think this is the right solution here. The logic for when to use a NOCOOPS archive seems inconsistent between the generate and use phases. If 32-bit is logically always a no-coops archive it should still be called classes.jsa. The logic to look for the archive seems wrong to me.

David

-------------

PR: https://git.openjdk.java.net/jdk/pull/3109
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8263914: CDS fails to find the default shared archive on x86_32 [v2]

Jie Fu-2
In reply to this post by Jie Fu-2
> Hi all,
>
> The VM fails to get initialized when running with `java -Xshare:on -version` on x86_32.
> The reason is that the default shared archive (classes_nocoops.jsa) doesn't exist.
> So the build system should generate classes_nocoops.jsa instead of classes.jsa on x86_32.
>
> Thanks.
> Best regards,
> Jie

Jie Fu has updated the pull request incrementally with one additional commit since the last revision:

  Fix the logic to look for the archive

-------------

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/3109/files
  - new: https://git.openjdk.java.net/jdk/pull/3109/files/e68bb866..858ef128

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=3109&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=3109&range=00-01

  Stats: 6 lines in 2 files changed: 0 ins; 4 del; 2 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3109.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3109/head:pull/3109

PR: https://git.openjdk.java.net/jdk/pull/3109
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8263914: CDS fails to find the default shared archive on x86_32

Jie Fu-2
In reply to this post by David Holmes-2
On Mon, 22 Mar 2021 02:38:55 GMT, David Holmes <[hidden email]> wrote:

> Hi Jie,
>
> I don't think this is the right solution here. The logic for when to use a NOCOOPS archive seems inconsistent between the generate and use phases. If 32-bit is logically always a no-coops archive it should still be called classes.jsa. The logic to look for the archive seems wrong to me.
>
> David

Thanks @dholmes-ora for your review.
The logic to look for the archive has been fixed.

Testing:
   - runtime/cds on Linux/{x64, x86}, no regression

Thanks.

-------------

PR: https://git.openjdk.java.net/jdk/pull/3109
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8263914: CDS fails to find the default shared archive on x86_32 [v2]

David Holmes-2
In reply to this post by Jie Fu-2
On Mon, 22 Mar 2021 03:37:05 GMT, Jie Fu <[hidden email]> wrote:

>> Hi all,
>>
>> The VM fails to get initialized when running with `java -Xshare:on -version` on x86_32.
>> The reason is that the default shared archive (classes_nocoops.jsa) doesn't exist.
>> So the build system should generate classes_nocoops.jsa instead of classes.jsa on x86_32.
>>
>> Thanks.
>> Best regards,
>> Jie
>
> Jie Fu has updated the pull request incrementally with one additional commit since the last revision:
>
>   Fix the logic to look for the archive

That looks like the right place to fix this - thanks.

Let's see what @iklam has to say. :)

David

-------------

Marked as reviewed by dholmes (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/3109
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8263914: CDS fails to find the default shared archive on x86_32 [v2]

Ioi Lam-2
In reply to this post by Jie Fu-2
On Mon, 22 Mar 2021 03:37:05 GMT, Jie Fu <[hidden email]> wrote:

>> Hi all,
>>
>> The VM fails to get initialized when running with `java -Xshare:on -version` on x86_32.
>> The reason is that the default shared archive (classes_nocoops.jsa) doesn't exist.
>> So the build system should generate classes_nocoops.jsa instead of classes.jsa on x86_32.
>>
>> Thanks.
>> Best regards,
>> Jie
>
> Jie Fu has updated the pull request incrementally with one additional commit since the last revision:
>
>   Fix the logic to look for the archive

LGTM

-------------

Marked as reviewed by iklam (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/3109
Reply | Threaded
Open this post in threaded view
|

Integrated: 8263914: CDS fails to find the default shared archive on x86_32

Jie Fu-2
In reply to this post by Jie Fu-2
On Mon, 22 Mar 2021 01:30:43 GMT, Jie Fu <[hidden email]> wrote:

> Hi all,
>
> The VM fails to get initialized when running with `java -Xshare:on -version` on x86_32.
> The reason is that the default shared archive (classes_nocoops.jsa) doesn't exist.
> So the build system should generate classes_nocoops.jsa instead of classes.jsa on x86_32.
>
> Thanks.
> Best regards,
> Jie

This pull request has now been integrated.

Changeset: b23228d1
Author:    Jie Fu <[hidden email]>
URL:       https://git.openjdk.java.net/jdk/commit/b23228d1
Stats:     1 line in 1 file changed: 0 ins; 0 del; 1 mod

8263914: CDS fails to find the default shared archive on x86_32

Reviewed-by: dholmes, iklam

-------------

PR: https://git.openjdk.java.net/jdk/pull/3109
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8263914: CDS fails to find the default shared archive on x86_32 [v2]

Jie Fu-2
In reply to this post by David Holmes-2
On Mon, 22 Mar 2021 04:00:46 GMT, David Holmes <[hidden email]> wrote:

>> Jie Fu has updated the pull request incrementally with one additional commit since the last revision:
>>
>>   Fix the logic to look for the archive
>
> That looks like the right place to fix this - thanks.
>
> Let's see what @iklam has to say. :)
>
> David

Thanks @dholmes-ora and @iklam .

-------------

PR: https://git.openjdk.java.net/jdk/pull/3109