Running micro benchmark results in 'Error: Unable to access jarfile'
Erik Joelsson
erik.joelsson at oracle.com
Tue Feb 19 17:13:43 UTC 2019
Hello Jorn,
This looks pretty good and should probably be pushed to mainline. Some
minor nits.
In BuildMicrobenchmark.gmk:
Please base MICROBENCHMARK_IMAGE dir on TEST_IMAGE_DIR like in
RunTests.gmk.
Line 131, please add ", \" plus newline like on 123-124.
/Erik
On 2019-02-19 03:49, Jorn Vernee wrote:
> Hi,
>
> I've taken a first stab at adding support for native dependencies:
> http://cr.openjdk.java.net/~jvernee/micronative/webrev.00/
>
> With a small test benchmark:
> http://cr.openjdk.java.net/~jvernee/micronative_test/webrev.00/
>
> Please be aware that both are based on the Panama/foreign branch [1].
>
> I was not able to find a workaround for my problem with the jar file
> access unfortunately. So I have been testing by manually running the
> jar file with the expected arguments (but, that's not really testing
> the RunTests.gmk changes).
>
> It would be great if someone can offer a suggestion for that. The jar
> file is being created in make/test/BuildMicrobenchmark.gmk using the
> SetupJarArchive function [2]. The execution of the jar is done by code
> in RunTests.gmk [3]. I guess these 2 are racing to access the jar, and
> that is what's causing the error from the subject line.
>
> Otherwise, I can't really test this properly, so maybe someone else
> can take it from here.
>
> Cheers,
> Jorn
>
> [1] : http://hg.openjdk.java.net/panama/dev/shortlog/tip
> [2] :
> http://hg.openjdk.java.net/jdk/jdk/file/784537ff9c4e/make/test/BuildMicrobenchmark.gmk#l98
> [3] :
> http://hg.openjdk.java.net/jdk/jdk/file/784537ff9c4e/make/RunTests.gmk#l692
>
> Jorn Vernee schreef op 2019-02-18 23:38:
>> Hi,
>>
>>>> 1.) I did not get a warning when I was missing --with-jmh for
>>>> configure, although it looks like there is supposed to be one
>>>> (without --with-jmh I got the same access error, but the
>>>> benchmarks.jar did not exist).
>>>
>>> --with-jmh is an optional configure flag, not sure what we could do to
>>> warn here. Perhaps there's some way to ensure certain make targets
>>> depend on the configure having been run with the necessary
>>> prerequistes.
>>> Sounds like a fine enhancement.
>>
>> There seems to be a check for this in
>> make/test/BuildMicrobenchmark.gmk [2]:
>>
>> ```
>> ifeq ($(JMH_CORE_JAR), )
>> $(info Error: JMH is missing. Please use configure --with-jmh.)
>> $(error Cannot continue)
>> endif
>> ```
>>
>> But this does not seem to be triggered.
>>
>>>> I was hoping to use the framework for Panama, so I'd likely have
>>>> some native library as dependency of the benchmark. Is there
>>>> currently any support for building (native) dependencies
>>>> automatically?
>>>
>>> There should be support in the build system _somewhere_, but adding a
>>> native library to a microbenchmark might still be a non-trivial
>>> enhancement to the current implementation. It'd be a great addition,
>>> though. I might have time to help out sometime soon, but I've got my
>>> hands full right now. Perhaps someone else on this list could advice?
>>
>> The Panama native test sources are being built by
>> 'make/test/JtregNativeJdk.gmk' I'm not sure it's possible to hook
>> directly into that, but maybe it can serve as an example for adding a
>> similar feature to the benchmark suite.
>>
>> I'll try looking into that.
>>
>>> Thanks!
>>
>> Thanks for the help!
>>
>> Jorn
>>
>> [2] :
>> http://hg.openjdk.java.net/jdk/jdk/file/6fb43030a1b4/make/test/BuildMicrobenchmark.gmk#l34
>>
>>
>>> /Claes
>>>
>>>>
>>>> Thanks,
>>>> Jorn
>>>>
>>>> [1] :
>>>> http://hg.openjdk.java.net/jdk/jdk/file/bec6c8739833/make/autoconf/lib-tests.m4#l76
More information about the build-dev
mailing list