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

Erik Joelsson erik.joelsson at oracle.com
Tue Feb 19 17:04:11 UTC 2019


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