HSAIL unit tests fail when Okra library fails to load
Erik Joelsson
erik.joelsson at oracle.com
Tue Jun 3 08:14:33 UTC 2014
And according to rpm, the version is:
$ rpm -q glibc
glibc-2.8-3.x86_64
/Erik
On 2014-06-03 03:01, Tim Bell wrote:
> Hi - catching up on my email backlog:
>
>> Not sure what glibc version that is, though.
>
> For Linux builds, others on build-dev at openjdk.java.net are more
> knowledgeable about glibc used in different JDK releases.
>
> Hmmm - these README-builds.html files do not mention a specific glibc
> version:
>
> http://hg.openjdk.java.net/jdk8u/jdk8u-dev/raw-file/tip/README-builds.html
>
>
> http://hg.openjdk.java.net/jdk7u/jdk7u-dev/raw-file/tip/README-builds.html
>
>
> I ran a little test on one of our Fedora 9 build/test systems:
>
> uname -a
> Linux sc11137352 2.6.25-14.fc9.i686 #1 SMP Thu May 1 06:28:41 EDT 2008
> i686 i686 i386 GNU/Linux
>
> gcc -v
> Using built-in specs.
> Target: i386-redhat-linux
> Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
> --infodir=/usr/share/info
> --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap
> --enable-shared --enable-threads=posix --enable-checking=release
> --with-system-zlib --enable-__cxa_atexit
> --disable-libunwind-exceptions
> --enable-languages=c,c++,objc,obj-c++,java,fortran,ada
> --enable-java-awt=gtk --disable-dssi --enable-plugin
> --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre
> --enable-libgcj-multifile --enable-java-maintainer-mode
> --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
> --disable-libjava-multilib --with-cpu=generic --build=i386-redhat-linux
> Thread model: posix
> gcc version 4.3.0 20080428 (Red Hat 4.3.0-8) (GCC)
>
> cat -n hw.c
> 1 #include <stdio.h>
> 2 int main() {
> 3 printf("Hello world\n");
> 4 }
>
> gcc -o hw hw.c
>
> ./hw
> Hello world
>
> ldd ./hw
> linux-gate.so.1 => (0x00110000)
> libc.so.6 => /lib/libc.so.6 (0x0080d000)
> /lib/ld-linux.so.2 (0x007ed000)
>
>
> Hope this helps-
>
> Tim
>
>
> On 05/23/14 00:13, Christian Thalinger wrote:
>>
>> On May 22, 2014, at 5:04 PM, Doug Simon <doug.simon at oracle.com
>> <mailto:doug.simon at oracle.com>> wrote:
>>
>>>
>>> On May 23, 2014, at 12:44 AM, Deneau, Tom <tom.deneau at amd.com
>>> <mailto:tom.deneau at amd.com>> wrote:
>>>
>>>> Doug --
>>>>
>>>> What glibc does Hotspot build against?
>>>
>>> I’m not sure - Christian may know (or know who knows).
>>
>> Looking at some wiki pages JDK 8 is building on:
>>
>> Fedora 9 / GCC 4.3
>>
>> Not sure what glibc version that is, though. Tim Bell is the right
>> guy to ask.
>>
>>>
>>> -Doug
>>>
>>>>> -----Original Message-----
>>>>> From: Doug Simon [mailto:doug.simon at oracle.com]
>>>>> Sent: Thursday, May 22, 2014 5:40 PM
>>>>> To: Caspole, Eric
>>>>> Cc: Deneau, Tom; Bernhard Urban
>>>>> Subject: Re: HSAIL unit tests fail when Okra library fails to load
>>>>>
>>>>>
>>>>> On May 22, 2014, at 11:19 PM, Eric Caspole <eric.caspole at amd.com
>>>>> <mailto:eric.caspole at amd.com>> wrote:
>>>>>
>>>>>> Hi Doug,
>>>>>> Do you think it is worth it to build the built in Okra simulator
>>>>>> with
>>>>> an older glibc to help avoid this problem? What is the oldest
>>>>> distro you
>>>>> intend to support with Graal?
>>>>>
>>>>> In theory we should support whatever HotSpot does although in
>>>>> practice
>>>>> we only need it to work on OSes for which we build distributions.
>>>>>
>>>>> However, I think it's fine (for now at least) if we just cleanly
>>>>> ignore/short-circuit the HSAIL unit tests in question on platforms
>>>>> with
>>>>> an older glibc.
>>>>>
>>>>> -Doug
>>>>>
>>>>>> On 05/22/2014 07:33 AM, Doug Simon wrote:
>>>>>>> Hi Tom, Eric,
>>>>>>>
>>>>>>> We're in the process of making GraalVM binary builds that work on
>>>>> Oracle Linux 6.5 which has an old version of glibc (GLIBC 2.12).
>>>>> While
>>>>> testing this build, the HSAIL tests that use the Okra library fail
>>>>> because libokra_x86_64.so is built against a version of GLIBC
>>>>> later than
>>>>> 2.12. However, the failure message is very confusing. For example:
>>>>>>>
>>>>>>> $ mx --vm server unittest Vec3ObjStreamClassCastTest
>>>>>>> GraalJUnitCore
>>>>>>> JUnit version 4.11
>>>>>>> .E
>>>>>>> Time: 0.77
>>>>>>> There was 1 failure:
>>>>>>> 1)
>>>>> test(com.oracle.graal.compiler.hsail.test.Vec3ObjStreamClassCastTest)
>>>>>>> java.lang.NoClassDefFoundError: Could not initialize class
>>>>> com.amd.okra.OkraContext
>>>>>>> at
>>>>> com.oracle.graal.compiler.hsail.test.infra.KernelTester.<init>(KernelTes
>>>>>
>>>>> ter.java:129)
>>>>>>> at
>>>>> com.oracle.graal.compiler.hsail.test.infra.GraalKernelTester.<init>(Graa
>>>>>
>>>>> lKernelTester.java:63)
>>>>>>> at
>>>>> com.oracle.graal.compiler.hsail.test.SingleExceptionTestBase.<init>(Sing
>>>>>
>>>>> leExceptionTestBase.java:32)
>>>>>>> at
>>>>> com.oracle.graal.compiler.hsail.test.Vec3ObjStreamClassCastTest.<init>(V
>>>>>
>>>>> ec3ObjStreamClassCastTest.java:31)
>>>>>>> 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:195)
>>>>>>> at
>>>>> org.junit.runners.BlockJUnit4ClassRunner$1.runReflectiveCall(BlockJUnit4
>>>>>
>>>>> ClassRunner.java:244)
>>>>>>>
>>>>>>> Can you please make sure the HSAIL test harness recognizes a
>>>>>>> failure
>>>>> to load the Okra library (preferably issuing a message if it's for
>>>>> any
>>>>> other reason than the library not being available). One way to
>>>>> trigger
>>>>> this is to fake a bad library:
>>>>>>>
>>>>>>> $ mkdir -p resources/okra/Linux
>>>>>>> $ echo "bad" >resources/okra/Linux/libokra_x86_64.so
>>>>>>> $ jar uvf lib/okra-1.9-with-sim.jar
>>>>> resources/okra/Linux/libokra_x86_64.so
>>>>>>> $ mx --vm server unittest Vec3ObjStreamClassCastTest
>>>>>>>
>>>>>>> -Doug
>>>>>>>
>>>>
>>>
>>
>
More information about the build-dev
mailing list