- A Concurrent Affair - https://www.concurrentaffair.org -

OpenJDK Compatibility for ConcJUnit

I just made a new ConcJUnit [1] release available on SourceForge [2]: version 20090927 [3].

While working on integrating Mint [4] into DrJava [5], I tested it on Mac. Since Mint requires Java 6, that involved using Soylatte, and Soylatte is based on OpenJDK. To my surprise, Mint did not work in DrJava. Upon investigation, this was only the case when ConcJUnit’s “lucky” warnings were also enabled.

So the problem wasn’t actually in Mint, it was in ConcJUnit. I even made a note about this incompatibility [6].

The problem is some missing method in the Float class:

Error occurred during initialization of VM
java.lang.UnsatisfiedLinkError: java.lang.Float.floatToIntBits(F)I
        at java.lang.Float.floatToIntBits(Native Method)
        at java.lang.Math.(Math.java:801)
        at edu.rice.cs.cunit.concJUnit.ThreadSets.addThreadStarted(ThreadSets.java:24)
        at java.lang.Thread.start(Thread.java:593)
        at java.lang.ref.Reference.(Reference.java:145)

I don’t quite know what is going on here, but I circumvented this issue by not using the Math class. I just had to write my own Math.min method.

[7] [8]Share [9]