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