Running micro benchmark results in 'Error: Unable to access jarfile'
Jorn Vernee
jbvernee at xs4all.nl
Tue Feb 19 21:41:14 UTC 2019
Great! Thanks for picking this up.
Jorn
Claes Redestad schreef op 2019-02-19 22:36:
> Hi Jorn,
>
> I'll sponsor this for jdk/jdk. I'll file a RFE, test it and push it
> seeing it's already reviewed.
>
> Thanks!
>
> /Claes
>
> On 2019-02-19 19:35, Jorn Vernee wrote:
>> Hi Erik,
>>
>> I have included your suggestions:
>> http://cr.openjdk.java.net/~jvernee/micronative/webrev.01
>>
>> I'm a committer on project Panama, but I'm not sure if I have write
>> access to jdk/jdk as well. If the new webrev looks good I could give
>> it a try, but otherwise someone else would have to create a commit for
>> me.
>>
>> Thanks,
>> Jorn
>>
>> Erik Joelsson schreef op 2019-02-19 18:13:
>>> 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