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