Okra loader needs to check OS support

Deneau, Tom tom.deneau at amd.com
Fri Jan 24 11:21:12 PST 2014


Doug --

I'll get out an update today. I didn't know this was a gate environment.
As you know, the hsail simulator itself has never been ported to Mac.

So on a Mac you want this to work the way things used to work on linux,
basically skipping all the hsail tests, is that correct?

-- Tom


> -----Original Message-----
> From: Doug Simon [mailto:doug.simon at oracle.com]
> Sent: Friday, January 24, 2014 12:27 PM
> To: Deneau, Tom
> Cc: graal-dev at openjdk.java.net
> Subject: Okra loader needs to check OS support
> 
> Hi Tom,
> 
> The new Okra library loading mechanism breaks the unit tests on a Mac:
> 
> $ mx --vm server unittest LongNegTest
> JUnit version 4.8
> .E
> Time: 2.377
> There was 1 failure:
> 1) test(com.oracle.graal.compiler.hsail.test.LongNegTest)
> java.lang.ExceptionInInitializerError
> 	at com.amd.okra.OkraUtil.testOkraLibExists(OkraUtil.java:61)
> 	at com.amd.okra.OkraUtil.<clinit>(OkraUtil.java:51)
> 	at
> com.oracle.graal.compiler.hsail.test.infra.KernelTester.<init>(KernelTes
> ter.java:118)
> 	at
> com.oracle.graal.compiler.hsail.test.infra.GraalKernelTester.<init>(Graa
> lKernelTester.java:45)
> 	at
> com.oracle.graal.compiler.hsail.test.LongNegTest.<init>(LongNegTest.java
> :32)
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
> 	at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorA
> ccessorImpl.java:62)
> 	at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingCons
> tructorAccessorImpl.java:45)
> 	at
> java.lang.reflect.Constructor.newInstance(Constructor.java:408)
> 	at
> org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunn
> er.java:202)
> 	at
> org.junit.runners.BlockJUnit4ClassRunner$1.runReflectiveCall(BlockJUnit4
> ClassRunner.java:251)
> 	at
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallab
> le.java:15)
> 	at
> org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRun
> ner.java:248)
> 	at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner
> .java:76)
> 	at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner
> .java:50)
> 	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
> 	at
> org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
> 	at
> org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
> 	at
> org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
> 	at
> org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
> 	at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
> 	at org.junit.runners.Suite.runChild(Suite.java:128)
> 	at org.junit.runners.Suite.runChild(Suite.java:24)
> 	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
> 	at
> org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
> 	at
> org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
> 	at
> org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
> 	at
> org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
> 	at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
> 	at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
> 	at org.junit.runner.JUnitCore.run(JUnitCore.java:136)
> 	at org.junit.runner.JUnitCore.run(JUnitCore.java:117)
> 	at org.junit.runner.JUnitCore.runMain(JUnitCore.java:98)
> 	at org.junit.runner.JUnitCore.runMainAndExit(JUnitCore.java:53)
> 	at org.junit.runner.JUnitCore.main(JUnitCore.java:45)
> Caused by: java.lang.RuntimeException: unable to load
> libokra_x86_64.dylib, java.lang.UnsatisfiedLinkError: Can't load
> library:
> /var/folders/d_/fn0kjn111nsc60w4vfy38fgr0026wn/T/okraresource.dir_656902
> 6372617119677/libokra_x86_64.dylib
> 	at
> com.amd.okra.OkraContext.loadOkraNativeLibrary(OkraContext.java:140)
> 	at com.amd.okra.OkraContext.<clinit>(OkraContext.java:69)
> 	... 35 more
> 
> FAILURES!!!
> Tests run: 1,  Failures: 1
> 
> 
> Can you please fix com.amd.okra.OkraContext.loadOkraNativeLibrary() so
> that it only tries to load the library if on Linux.
> 
> This will require an update to the Okra jar files.
> 
> -Doug



More information about the graal-dev mailing list