OpenJDK Compatibility for ConcJUnit

I just made a new ConcJUnit release available on SourceForge: version 20090927.

While working on integrating Mint into DrJava, 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.

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.

Share

About Mathias

Software development engineer. Principal developer of DrJava. Recent Ph.D. graduate from the Department of Computer Science at Rice University.
This entry was posted in Concurrent Unit Testing. Bookmark the permalink.

Leave a Reply