Running micro benchmark results in 'Error: Unable to access jarfile'

Claes Redestad claes.redestad at oracle.com
Tue Feb 19 22:04:45 UTC 2019


Looks good.

I filed https://bugs.openjdk.java.net/browse/JDK-8219394 for this bug.

Thanks!

/Claes

On 2019-02-19 18:04, Erik Joelsson wrote:
> The problem with the jarfile looks to be a missing $(FIXPATH) when 
> running microbenchmarks. The java process is simply unable to understand 
> cygwin paths. Does this patch solve the issue for you, Jorn?
> 
> diff -r 7c17199fa37d make/RunTests.gmk
> --- a/make/RunTests.gmk
> +++ b/make/RunTests.gmk
> @@ -690,7 +690,7 @@
>       $$(call LogWarn, Running test '$$($1_TEST)')
>       $$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR))
>       $$(call ExecuteWithLog, $$($1_TEST_SUPPORT_DIR)/micro, \
> -        $$($1_MICRO_TEST_JDK)/bin/java $$($1_MICRO_JAVA_OPTIONS) -jar 
> $$($1_MICRO_BENCHMARKS_JAR) \
> +        $$(FIXPATH) $$($1_MICRO_TEST_JDK)/bin/java 
> $$($1_MICRO_JAVA_OPTIONS) -jar $$($1_MICRO_BENCHMARKS_JAR) \
>               $$($1_MICRO_ITER) $$($1_MICRO_FORK) $$($1_MICRO_TIME) \
>               $$($1_MICRO_WARMUP_ITER) $$($1_MICRO_WARMUP_TIME) \
>               $$($1_MICRO_VM_OPTIONS) $$($1_MICRO_BASIC_OPTIONS) 
> $$(MICRO_OPTIONS) \
> 
> /Erik
> 
> On 2019-02-18 14:20, Claes Redestad wrote:
>> <moved to build-dev@ from jdk-dev at ..., original thread here:
>> http://mail.openjdk.java.net/pipermail/jdk-dev/2019-February/002624.html>
>>
>> Hi,
>>
>> On 2019-02-18 22:34, Jorn Vernee wrote:
>>> Hi Claes,
>>>
>>>> 1. Does running make test rather than make test-only work?
>>>
>>> No. Same error there. Sorry, I tried that first and then re-ran with 
>>> `test-only`. I also tried with a clean build FWIW.
>>>
>>>> 2. Can you run the benchmarks.jar directly?
>>>
>>> Yes, this is working, thanks. This way I can also pass extra flags to 
>>> JMH, which is nice :)
>>>
>>> ---
>>>
>>> FWIW, I also had some problems when running configure.
>>>
>>>    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.
>>
>>>    2.) My path to the --with-jmh folder had spaces in it, which was 
>>> causing an error in make/autoconf/lib-tests.m4 on line 76 [1].
>>
>> Sounds like a bug.
>>
>>>
>>> But those both had obvious workarounds.
>>>
>>> ---
>>>
>>> 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?
>>
>> Thanks!
>>
>> /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