Thanks, it works now. It is always a risk of trying out new stuff knowing
that tool support will be lacking and one can only hope for such
workarounds.

Evgeny Mandrikov <[email protected]> ezt írta (időpont: 2019. júl. 31.,
Sze 21:46):

> Hi,
>
> By doing
>
> testLogging.events=["skipped", "failed"]
>
> inside of your testng task (
> https://github.com/akarnokd/RxJavaFiberInterop/blob/e83b813321f15222334c53cfc2667d3335b075f4/build.gradle#L110
>  )
> you're hiding standard error output.
>
> After change on
>
> testLogging.events=["skipped", "failed", "standard_error"]
>
> you'll see root cause, which for some reason gets lost and not preserved
> in exception that you currently see
>
> Gradle Test Executor 8 STANDARD_ERROR
>     java.lang.instrument.IllegalClassFormatException: Error while
> instrumenting sun/util/resources/cldr/provider/CLDRLocaleDataMetaInfo.
>         at
> org.jacoco.agent.rt.internal_035b120.CoverageTransformer.transform(CoverageTransformer.java:93)
>     Caused by: java.io.IOException: Error while instrumenting
> sun/util/resources/cldr/provider/CLDRLocaleDataMetaInfo.
>         at
> org.jacoco.agent.rt.internal_035b120.core.instr.Instrumenter.instrumentError(Instrumenter.java:158)
>         at
> org.jacoco.agent.rt.internal_035b120.core.instr.Instrumenter.instrument(Instrumenter.java:108)
>         at
> org.jacoco.agent.rt.internal_035b120.CoverageTransformer.transform(CoverageTransformer.java:91)
>         ... 64 more
>     Caused by: java.lang.IllegalArgumentException: Unsupported class file
> major version 58
>
> Page http://jdk.java.net/loom/ states
>
> Warning: This build is based on an incomplete version of JDK 14.
>
> JDK 14 contains class files with major version 58 (Java 14 bytecode) and
> sun/util/resources/cldr/provider/CLDRLocaleDataMetaInfo is one of them,
> whereas JaCoCo 0.8.4 does not support instrumentation of Java 14 bytecode
> - see https://www.jacoco.org/jacoco/trunk/doc/changes.html :
> official support for instrumentation of Java 12 bytecode since version
> 0.8.4,
> and experimental support for instrumentation of Java 13 bytecode since
> version 0.8.3.
>
> Your class files compiled into Java 11 bytecode,
> and you probably not interested in coverage of any other class files,
> so you can include only them into instrumentation by addition to testng
> task
>
> jacoco.includes = ["hu/akarnokd/**"]
>
> Or you can try unreleased JaCoCo version 0.8.5-SNAPSHOT (
> https://www.jacoco.org/jacoco/trunk/doc/repo.html ) that contains
> experimental support for instrumentation of Java 14 bytecode (
> https://github.com/jacoco/jacoco/pull/897 ).
>
>
> Regards,
> Evgeny
>
>
>
> On Wednesday, July 31, 2019 at 7:21:21 PM UTC+2, Dávid Karnok wrote:
>>
>> Hi!
>>
>> I'm experimenting with the Project Loom build (http://jdk.java.net/loom/)
>> using a small gradle project that uses TestNG:
>>
>>
>> https://github.com/akarnokd/RxJavaFiberInterop/blob/e83b813321f15222334c53cfc2667d3335b075f4/build.gradle#L19
>>
>> If I enable Jacoco and run "check", I get a hefty exception (on Windows):
>>
>> java.lang.LinkageError: loader 'platform' attempted duplicate class
>> definition for sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo.
>> (sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo is in module
>> jdk.localedata of loader 'platform')
>>
>>
>> Caused by: java.util.ServiceConfigurationError: 
>> sun.util.locale.provider.LocaleDataMetaInfo: Unable to load 
>> sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo
>>      at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:583)
>>      at 
>> java.base/java.util.ServiceLoader.loadProvider(ServiceLoader.java:855)
>>      at 
>> java.base/java.util.ServiceLoader$ModuleServicesLookupIterator.hasNext(ServiceLoader.java:1077)
>>      at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1300)
>>      at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1385)
>>      at 
>> java.base/sun.util.cldr.CLDRLocaleProviderAdapter$1.run(CLDRLocaleProviderAdapter.java:89)
>>      at 
>> java.base/sun.util.cldr.CLDRLocaleProviderAdapter$1.run(CLDRLocaleProviderAdapter.java:86)
>>      at 
>> java.base/java.security.AccessController.doPrivileged(AccessController.java:553)
>>      at 
>> java.base/sun.util.cldr.CLDRLocaleProviderAdapter.<init>(CLDRLocaleProviderAdapter.java:86)
>>      at 
>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>  Method)
>>      at 
>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>>      at 
>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>>      at 
>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
>>      at 
>> java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:166)
>>      at 
>> java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:404)
>>      at java.base/java.lang.Class.newInstance(Class.java:591)
>>      at 
>> java.base/sun.util.locale.provider.LocaleProviderAdapter.forType(LocaleProviderAdapter.java:176)
>>      at 
>> java.base/sun.util.locale.provider.LocaleProviderAdapter.findAdapter(LocaleProviderAdapter.java:279)
>>      at 
>> java.base/sun.util.locale.provider.LocaleProviderAdapter.getAdapter(LocaleProviderAdapter.java:250)
>>      at 
>> java.base/java.text.DecimalFormatSymbols.getInstance(DecimalFormatSymbols.java:180)
>>      at java.base/java.util.Formatter.getZero(Formatter.java:2437)
>>      at java.base/java.util.Formatter.<init>(Formatter.java:1956)
>>      at java.base/java.util.Formatter.<init>(Formatter.java:1978)
>>      at java.base/java.lang.String.format(String.java:3274)
>>      at org.testng.internal.Utils.<clinit>(Utils.java:32)
>>      at org.testng.TestNG.setOutputDirectory(TestNG.java:217)
>>      at 
>> org.gradle.api.internal.tasks.testing.testng.TestNGTestClassProcessor.runTests(TestNGTestClassProcessor.java:102)
>>      at 
>> org.gradle.api.internal.tasks.testing.testng.TestNGTestClassProcessor.stop(TestNGTestClassProcessor.java:89)
>>      at 
>> org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61)
>>      ... 25 more
>> Caused by: java.lang.LinkageError: loader 'platform' attempted duplicate 
>> class definition for 
>> sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo. 
>> (sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo is in module 
>> jdk.localedata of loader 'platform')
>>      at java.base/java.lang.ClassLoader.defineClass2(Native Method)
>>      at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1108)
>>      at 
>> java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:183)
>>      at 
>> java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:782)
>>      at 
>> java.base/jdk.internal.loader.BuiltinClassLoader.findClassInModuleOrNull(BuiltinClassLoader.java:703)
>>      at 
>> java.base/jdk.internal.loader.BuiltinClassLoader.findClass(BuiltinClassLoader.java:584)
>>      at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:633)
>>      at java.base/java.lang.Class.forName(Class.java:492)
>>      at 
>> java.base/java.util.ServiceLoader.loadProvider(ServiceLoader.java:853)
>>      ... 52 more
>>
>>
>>
>> Is there a setting I'm missing that could cause this problem?
>>
>> Thank you for your time.
>>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "JaCoCo and EclEmma Users" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/jacoco/C0Oa6otd894/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jacoco/ae033714-ba6c-4480-835a-386ede4968dc%40googlegroups.com
> <https://groups.google.com/d/msgid/jacoco/ae033714-ba6c-4480-835a-386ede4968dc%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"JaCoCo and EclEmma Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jacoco/CAAWwtm83tjMXCP6oE7G-6-Y%3DwbrCSp0rti%3DN%2B%3D-ee24c%2BxeLeg%40mail.gmail.com.

Reply via email to