error when running jtreg tests

Maurizio Cimadamore maurizio.cimadamore at oracle.com
Tue Dec 13 18:07:28 UTC 2016


Thanks for the reply.

Maurizio


On 13/12/16 16:13, Erik Joelsson wrote:
> This is a bug in hotspot/make/test/JtregNative.gmk. A library 
> parameter like -ldl should be set to a LIBS variable and not LDFLAGS. 
> Our default gcc does not react to this, but later versions do, which 
> is why these bugs tend to sneak in.
>
> /Erik
>
>
> On 2016-12-13 16:56, Maurizio Cimadamore wrote:
>> I think the problem is caused by a quirk in my gcc - if I compile 
>> something with
>>
>> gcc -ldl foo.cpp
>>
>> it fails with messages similar to the one I mentioned. To make it 
>> work I have to do:
>>
>> gcc foo.cpp -ldl
>>
>> On the other hand, the gcc version included in the dev toolkit works 
>> with both variants.
>>
>> Maurizio
>>
>>
>>
>> On 13/12/16 15:44, Maurizio Cimadamore wrote:
>>> Using the devkit worked - but this is odd as it was working as of 
>>> last week, and it seems like the linker gets passed the flag -ldl 
>>> which you need to avoid this kind of issues (and I do have libdl.so 
>>> installed).
>>>
>>> Maurizio
>>>
>>>
>>> On 13/12/16 15:08, Maurizio Cimadamore wrote:
>>>>
>>>>
>>>> On 13/12/16 14:51, Erik Joelsson wrote:
>>>>> What version of GCC are you using? This looks like a hotspot jtreg 
>>>>> native test that can't be compiled with your toolchain.
>>>> gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
>>>> Copyright (C) 2015 Free Software Foundation, Inc.
>>>> This is free software; see the source for copying conditions. There 
>>>> is NO
>>>> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR 
>>>> PURPOSE.
>>>>
>>>>
>>>>>
>>>>> To work around it, you should be able to run something like this:
>>>>>
>>>>> $ make build-test-jdk-jtreg-native jdk-image && make test-only 
>>>>> TEST=jdk_util
>>>>>
>>>>> Maybe you also need build-test-failure-handler and build-test-lib. 
>>>>> Not sure.
>>>> No luck - that fails with this:
>>>>
>>>> Error: Cannot find observer class: 
>>>> jdk.test.failurehandler.jtreg.GatherDiagnosticInfoObserver
>>>>
>>>>
>>>> Maurizio
>>>>>
>>>>> /Erik
>>>>>
>>>>>
>>>>> On 2016-12-13 15:43, Maurizio Cimadamore wrote:
>>>>>> Hi,
>>>>>> i'm trying to run tests as follows:
>>>>>>
>>>>>> make tests TEST=jdk_util
>>>>>>
>>>>>> And I get this:
>>>>>>
>>>>>> Building target 'test' in configuration 
>>>>>> 'linux-x86_64-normal-server-release'
>>>>>> Building JVM variant 'server' with features 'all-gcs cds 
>>>>>> compiler1 compiler2 fprof jni-check jvmci jvmti management nmt 
>>>>>> services vm-structs'
>>>>>> /usr/bin/find: ‘/w/lt/9/dev/hotspot/test/compiler/native’: No 
>>>>>> such file or directory
>>>>>> /usr/bin/find: ‘/w/lt/9/dev/hotspot/test/compiler/native’: No 
>>>>>> such file or directory
>>>>>> /w/lt/9/dev/build/linux-x86_64-normal-server-release/support/test/hotspot/jtreg/native/support/exeFPRegs/exeFPRegs.o: 
>>>>>> In function `closeHandle':
>>>>>> /w/lt/9/dev/hotspot/make/test/../../test/runtime/jni/CalleeSavedRegisters/exeFPRegs.c:48: 
>>>>>> undefined reference to `dlclose'
>>>>>> /w/lt/9/dev/hotspot/make/test/../../test/runtime/jni/CalleeSavedRegisters/exeFPRegs.c:49: 
>>>>>> undefined reference to `dlerror'
>>>>>> /w/lt/9/dev/build/linux-x86_64-normal-server-release/support/test/hotspot/jtreg/native/support/exeFPRegs/exeFPRegs.o: 
>>>>>> In function `loadJVM':
>>>>>> /w/lt/9/dev/hotspot/make/test/../../test/runtime/jni/CalleeSavedRegisters/exeFPRegs.c:69: 
>>>>>> undefined reference to `dlopen'
>>>>>> /w/lt/9/dev/hotspot/make/test/../../test/runtime/jni/CalleeSavedRegisters/exeFPRegs.c:77: 
>>>>>> undefined reference to `dlsym'
>>>>>> /w/lt/9/dev/hotspot/make/test/../../test/runtime/jni/CalleeSavedRegisters/exeFPRegs.c:88: 
>>>>>> undefined reference to `dlerror'
>>>>>> collect2: error: ld returned 1 exit status
>>>>>> make[3]: *** 
>>>>>> [/w/lt/9/dev/build/linux-x86_64-normal-server-release/support/test/hotspot/jtreg/native/bin/FPRegs] 
>>>>>> Error 1
>>>>>> JtregNative.gmk:117: recipe for target 
>>>>>> '/w/lt/9/dev/build/linux-x86_64-normal-server-release/support/test/hotspot/jtreg/native/bin/FPRegs' 
>>>>>> failed
>>>>>> make/Main.gmk:410: recipe for target 
>>>>>> 'build-test-hotspot-jtreg-native' failed
>>>>>> make[2]: *** [build-test-hotspot-jtreg-native] Error 1
>>>>>> make[2]: *** Waiting for unfinished jobs....
>>>>>>
>>>>>> ERROR: Build failed for target 'test' in configuration 
>>>>>> 'linux-x86_64-normal-server-release' (exit code 2)
>>>>>> === Output from failing command(s) repeated here ===
>>>>>> * For target 
>>>>>> support_test_hotspot_jtreg_native_support_exeFPRegs_BUILD_TEST_FPRegs_link:
>>>>>> /w/lt/9/dev/build/linux-x86_64-normal-server-release/support/test/hotspot/jtreg/native/support/exeFPRegs/exeFPRegs.o: 
>>>>>> In function `closeHandle':
>>>>>> /w/lt/9/dev/hotspot/make/test/../../test/runtime/jni/CalleeSavedRegisters/exeFPRegs.c:48: 
>>>>>> undefined reference to `dlclose'
>>>>>> /w/lt/9/dev/hotspot/make/test/../../test/runtime/jni/CalleeSavedRegisters/exeFPRegs.c:49: 
>>>>>> undefined reference to `dlerror'
>>>>>> /w/lt/9/dev/build/linux-x86_64-normal-server-release/support/test/hotspot/jtreg/native/support/exeFPRegs/exeFPRegs.o: 
>>>>>> In function `loadJVM':
>>>>>> /w/lt/9/dev/hotspot/make/test/../../test/runtime/jni/CalleeSavedRegisters/exeFPRegs.c:69: 
>>>>>> undefined reference to `dlopen'
>>>>>> /w/lt/9/dev/hotspot/make/test/../../test/runtime/jni/CalleeSavedRegisters/exeFPRegs.c:77: 
>>>>>> undefined reference to `dlsym'
>>>>>> /w/lt/9/dev/hotspot/make/test/../../test/runtime/jni/CalleeSavedRegisters/exeFPRegs.c:88: 
>>>>>> undefined reference to `dlerror'
>>>>>> collect2: error: ld returned 1 exit status
>>>>>> === End of repeated output ===
>>>>>> === Make failure sequence repeated here ===
>>>>>> JtregNative.gmk:117: recipe for target 
>>>>>> '/w/lt/9/dev/build/linux-x86_64-normal-server-release/support/test/hotspot/jtreg/native/bin/FPRegs' 
>>>>>> failed
>>>>>> make/Main.gmk:410: recipe for target 
>>>>>> 'build-test-hotspot-jtreg-native' failed
>>>>>> === End of repeated output ===
>>>>>> Hint: Try searching the build log for the name of the first 
>>>>>> failed target.
>>>>>> Hint: If caused by a warning, try configure 
>>>>>> --disable-warnings-as-errors.
>>>>>>
>>>>>> /w/lt/9/dev/make/Init.gmk:286: recipe for target 'main' failed
>>>>>> make[1]: *** [main] Error 1
>>>>>> /w/lt/9/dev/make/Init.gmk:185: recipe for target 'test' failed
>>>>>> make: *** [test] Error 2
>>>>>>
>>>>>>
>>>>>> Any idea of what is wrong? My spec.gmk points to the latest jtreg 
>>>>>> (I ran configure with --with-jtreg)
>>>>>>
>>>>>> Thanks
>>>>>> Maurizio
>>>>>>
>>>>>
>>>>
>>>
>>
>




More information about the build-dev mailing list