Page MenuHomeFreeBSD

java/openjdk25: Update to version 25.0.1
ClosedPublic

Authored by haraldei on Fri, Nov 28, 1:36 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Dec 19, 8:14 PM
Unknown Object (File)
Thu, Dec 18, 12:18 PM
Unknown Object (File)
Tue, Dec 16, 8:18 PM
Unknown Object (File)
Tue, Dec 16, 1:37 PM
Unknown Object (File)
Tue, Dec 16, 11:02 AM
Unknown Object (File)
Sat, Dec 6, 11:21 AM
Unknown Object (File)
Thu, Dec 4, 7:01 PM
Unknown Object (File)
Thu, Dec 4, 11:33 AM
Subscribers
None

Details

Summary

Update port to OpenJDK 25.0.1

Test Plan
  • Run tier1 test suite
  • Build all flavors
  • Run some relevant apps across the flavors

Diff Detail

Repository
R11 FreeBSD ports repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

haraldei created this revision.

For testing, the gold standard is to build the port and execute the test suite on as many platforms we support as possible, on all currently supported OS versions (that is, 13.5, 14.3, and 15.0). If you don't have access to some architectures, you can skip testing there, but especially for an infrastructure port like this it is a good idea to be thorough.

Also do test if all dependent ports (i.e. those built using openjdk25) still build and bump their port revisions so that they get rebuilt using the new JDK.

In D53975#1233152, @fuz wrote:

For testing, the gold standard is to build the port and execute the test suite on as many platforms we support as possible, on all currently supported OS versions (that is, 13.5, 14.3, and 15.0).

Do I have access to, and can I use the ref*-machines for that?

I have run the tests on amd64, natively on my dev machine, and can probably get the aarch64 emulation up and running too soon. But it would be nice to be able to at least run the tests on real hardware too.

Anyways, there are still a few servicability tests failing, which is what I'm working on solving in the bsd port of the openjdk mainline.

Also do test if all dependent ports (i.e. those built using openjdk25) still build and bump their port revisions so that they get rebuilt using the new JDK.

That's a good point. There aren't any ports explicitly requiring JDk 25 yet, but good to keep an eye on.

For posterity, the current test results for AMD64:

==============================
Test summary
==============================
   TEST                                              TOTAL  PASS  FAIL ERROR  SKIP
>> jtreg:test/hotspot/jtreg:tier1                     3019  2709    10     0   300 <<
>> jtreg:test/jdk:tier1                               2524  2475     1     0    48 <<
   jtreg:test/langtools:tier1                         4654  4643     0     0    11
   jtreg:test/jaxp:tier1                                 0     0     0     0     0
   jtreg:test/lib-test:tier1                            37    37     0     0     0
==============================
TEST FAILURE

The jdk test failure is the one fixed here that was recently integrated in upstream mainline. Will probably not reach us downstream before JDK 26.

Of the 10 failures in hotspot, 6 are tests failing because ZFS can not guarantee that the reserved space in the file system will be available when needed (see posix_fallocate(2)). These passes when run on UFS or a different file system that can provide these guarantees. The remaining four are all in the servicability agent, which facilitates debugging and getting information from JVM processes, and related to getting proper stack traces, line numbers and symbols from threads and core dumps.

In D53975#1233152, @fuz wrote:

For testing, the gold standard is to build the port and execute the test suite on as many platforms we support as possible, on all currently supported OS versions (that is, 13.5, 14.3, and 15.0).

Do I have access to, and can I use the ref*-machines for that?

I have run the tests on amd64, natively on my dev machine, and can probably get the aarch64 emulation up and running too soon. But it would be nice to be able to at least run the tests on real hardware too.

As far as I know, there are no resources for that. I run my own set of machines for this purpose, specifically an aarch64 box and a little amd64 box. Most Aarch64 boxes can run armv7 in a jail and all amd64 boxes can run i386 in a jail, which covers all the bases. I have also invested in a ppc64le box, but it hasn't arrived yet. A cheap ARM single-board computer suffices. I used an RPi4 for a long time, but it's really slow. Now I have a Windows ARM Dev Kit. You don't have to do all this testing, but it would be nice of course.

If you can tell me what exactly to run, I can run some tests on my box for you. Contact me privately and I can even give you an account. That said, note that your mail server seems to not like mine, and I haven't been able to send emails to your FreeBSD email address.

Anyways, there are still a few servicability tests failing, which is what I'm working on solving in the bsd port of the openjdk mainline.

Looking good!

In D53975#1234044, @fuz wrote:
In D53975#1233152, @fuz wrote:

For testing, the gold standard is to build the port and execute the test suite on as many platforms we support as possible, on all currently supported OS versions (that is, 13.5, 14.3, and 15.0).

Do I have access to, and can I use the ref*-machines for that?

As far as I know, there are no resources for that.

Ok, no worries. I'll see what I get running locally first, and contact you if I need anything else. OpenJDK no longer support i386, and I don't think 32bit arm either, so that makes it a bit easier at least.

If you can tell me what exactly to run, I can run some tests on my box for you.

Thanks, I'll let you know if that's needed.

Contact me privately and I can even give you an account. That said, note that your mail server seems to not like mine, and I haven't been able to send emails to your FreeBSD email address.

Thanks for letting me know. I'll look into it.

Patch looks fine. Approved for commit once you feel like you have tested it sufficiently.

This revision is now accepted and ready to land.Thu, Dec 4, 1:58 AM
In D53975#1235259, @fuz wrote:

Patch looks fine. Approved for commit once you feel like you have tested it sufficiently.

Thanks! It's been performing well so far in my tests at least. Haven't had much luck with testing on aarch64, though. I'm able to build, and the port seems to work, but the emulation is too slow for the test suite to complete. The few BSD related patches in this release has been extensively tested in other branches, so I think it should be good.

This revision was automatically updated to reflect the committed changes.