We have tracked down the problem.

The class ReaderTriX has a static constant calculated from the RDF constant class.

One test suite is running without going through JenaSystem.init.
Class initialization is in an undetermined order and goes wrong.
This has been there for several releases.

The test suite order comes from JUnit.

What is different about Osma's development machine is that Ubuntu is modified by local IT to include some security hardening. Running as root does not encounter the build failure.

I'm guessing that the security hardening changes the order that test suite class files are found by JUnit.

    Andy

On 22/04/2025 14:53, Andy Seaborne wrote:


On 22/04/2025 11:36, Osma Suominen wrote:
Hi Andy!

I've tried a few more builds today.

On my main Ubuntu 24.04 machine (same as before) where the 5.4.0 build always fails, I collected complete maven logs of the failed build. I will send them to you separately. I also looked for the first exception traceback (there are many) and it's included at the bottom of this message.

Got the logs.

It's hiding the real reason inside a java.lang.ExceptionInInitializerError
- the place moves around a bit but the first few are from RDFParserRegistry.init

java.lang.ExceptionInInitializerError

What I could do is make a branch, add some logging to catch any errors and log them.

I also tried installing maven 3.9.9 and using that for the build, but the result was the same as with 3.8.7: the ARQ tests failed with NoClassDefFoundError.

Then on another machine (VirtualBox VM with Ubuntu 24.04), I installed the exact same Java and Maven versions as on my main machine. The build succeeded!

I always remove my maven repository (rm -rf ~/.m2) before each build.

So it's not the specific Maven or Java version that causes the problem, but something else that I can't yet pinpoint.

-Osma

A thought - are you using a maven mirror?

     Andy


Reply via email to