Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot build a bundle jar with Jersey Jetty CDI #2075

Closed
nhenneaux opened this issue Jan 16, 2020 · 14 comments
Closed

Cannot build a bundle jar with Jersey Jetty CDI #2075

nhenneaux opened this issue Jan 16, 2020 · 14 comments

Comments

@nhenneaux
Copy link

I tried to build the bundle jar built in the project jersey-http2-jetty-connector using mvn clean verify -DskipTests -DskipDepCheck command.

First I tried without any option.

native-image -jar jersey-http2-jetty-connector/jersey-http2-jetty-bundle/target/jersey-http2-jetty-bundle-*-bundle.jar
It failed and I got the following error.

Caused by: com.oracle.svm.hosted.substitute.DeletedElementException: Unsupported method java.lang.ClassLoader.defineClass(String, byte[], int, int, ProtectionDomain) is reachable: The declaring class of this element has been substituted, but this element is not present in the substitution class
To diagnose the issue, you can add the option --report-unsupported-elements-at-runtime. The unsupported element is then reported at run time when it is accessed the first time.

So I tried with --report-unsupported-elements-at-runtime

I got the following warnings.
Warning: Image 'jersey-http2-jetty-bundle-1.0.0-bundle' is a fallback image that requires a JDK for execution (use --no-fallback to suppress fallback image generation).
Error: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved method during parsing: org.slf4j.impl.StaticMarkerBinder.getSingleton(). To diagnose the issue you can use the --allow-incomplete-classpath option. The missing method is then reported at run time when it is accessed the first time.

Then with --allow-incomplete-classpath

The build succeed, however when I try to run the native bundle it fails with the following error.

$ ./jersey-http2-jetty-bundle-1.0.0-bundle
Exception in thread "main" java.lang.AssertionError: Spi class not found
	at java.security.Security.getSpiClass(Security.java:684)
	at java.security.Security.getImpl(Security.java:700)
	at java.security.KeyStore.getInstance(KeyStore.java:875)
	at com.github.nhenneaux.jersey.http2.jetty.bundle.JettyServer$TlsSecurityConfiguration.getKeyStore(JettyServer.java:150)
	at com.github.nhenneaux.jersey.http2.jetty.bundle.Bootstrap.main(Bootstrap.java:11)
Caused by: java.lang.ClassNotFoundException: java.security.KeyStoreSpi
	at com.oracle.svm.core.hub.ClassForNameSupport.forName(ClassForNameSupport.java:60)
	at java.lang.Class.forName(DynamicHub.java:1184)
	at java.security.Security.getSpiClass(Security.java:680)
	... 4 more

Do you have any idea why I got the error java.lang.ClassNotFoundException: java.security.KeyStoreSpi?

Thanks for your help

@nhenneaux nhenneaux changed the title Cannot Cannot build a bundle jar with Jersey CDI Jan 16, 2020
@nhenneaux nhenneaux changed the title Cannot build a bundle jar with Jersey CDI Cannot build a bundle jar with Jersey Jetty CDI Jan 16, 2020
@cstancu
Copy link
Member

cstancu commented Jan 16, 2020

You should enable security services with --enable-all-security-services. You can read more here (although the libsunec.so info in that doc is out of date; it is now linked in via JNI when needed).

@nhenneaux
Copy link
Author

Thanks, it's progressing :-)
I now get the following error on startup of the native image
Caused by: java.lang.InstantiationException: Type org.apache.logging.log4j.message.DefaultFlowMessageFactory can not be instantiated reflectively as it does not have a no-parameter constructor or the no-parameter constructor has not been added explicitly to the native image.

I also get the warning Image-build server limit exceeded. Use options --server{-list,-shutdown[-all]} to fix the problem. construction of the native image but it's not clear to what server it's about?

@cstancu
Copy link
Member

cstancu commented Jan 17, 2020

org.apache.logging.log4j.message.DefaultFlowMessageFactory can not be instantiated reflectively as it does not have a no-parameter constructor

That type's no-parameter constructor needs to be registered for reflection. You can also use the native-image-agent to automatically discover such cases.

it's not clear to what server it's about

It's the native image build server, i.e., a compilation server that speeds up builds by keeping a warmed up JVM running the Graal compiler around. You can bypass it by adding the --no-server option to native-image.

@nhenneaux
Copy link
Author

nhenneaux commented Jan 17, 2020

Thanks for your help !
I'm still getting the same error even with native image agent. Perhaps I missed something.
I firstly run the application with the agent.
$GRAAL_HOME/Contents/Home/bin/java -agentlib:native-image-agent=config-output-dir=graal/config-dir/ -jar /Users/nicolas/IdeaProjects/jersey-http2-jetty-connector/jersey-http2-jetty-bundle/target/jersey-http2-jetty-bundle-*-bundle.jar
Then I build the native image with this config.
$GRAAL_HOME/Contents/Home/bin/native-image -H:ConfigurationFileDirectories=graal/config-dir/ --report-unsupported-elements-at-runtime --allow-incomplete-classpath --enable-all-security-services -jar /Users/nicolas/IdeaProjects/jersey-http2-jetty-connector/jersey-http2-jetty-bundle/target/jersey-http2-jetty-bundle-*-bundle.jar
And finally I ran the native bundle.
./jersey-http2-jetty-bundle-1.0.0-bundle
I still get the error

Caused by: java.lang.InstantiationException: Type `org.apache.logging.log4j.message.DefaultFlowMessageFactory` can not be instantiated reflectively as it does not have a no-parameter constructor or the no-parameter constructor has not been added explicitly to the native image.

Have I missed something ?

@cstancu
Copy link
Member

cstancu commented Jan 17, 2020

Does your reflection config contains org.apache.logging.log4j.message.DefaultFlowMessageFactory's no-parameter constructor?

@nhenneaux
Copy link
Author

nhenneaux commented Jan 20, 2020

Yes it's inside it

$ grep 'DefaultFlowMessageFactory' graal/config-dir/*
graal/config-dir/reflect-config.json:  "name":"org.apache.logging.log4j.message.DefaultFlowMessageFactory",
{
  "name":"org.apache.logging.log4j.message.DefaultFlowMessageFactory",
  "methods":[{"name":"<init>","parameterTypes":[] }]
}

@nhenneaux
Copy link
Author

Hi @cstancu ,

Were you able to dig further on this issue?

Thanks for your help,

Nicolas

@jramirez-isc jramirez-isc self-assigned this Feb 19, 2020
@jramirez-isc
Copy link

Hi @nhenneaux I'm currently working on this issue, I'm trying to reproduce it and not seeing the no-parameter constructor message, but I'm getting a different error message, even when running with java -jar:

2020-03-18 15:55:37.391:INFO::main: Logging initialized @1808ms to org.eclipse.jetty.util.log.StdErrLog
Exception in thread "main" java.lang.IllegalStateException: No Server ALPNProcessors!
	at org.eclipse.jetty.alpn.server.ALPNServerConnectionFactory.<init>(ALPNServerConnectionFactory.java:52)
	at com.github.nhenneaux.jersey.http2.jetty.bundle.JettyServer.getConnectionFactories(JettyServer.java:95)
	at com.github.nhenneaux.jersey.http2.jetty.bundle.JettyServer.<init>(JettyServer.java:58)
	at com.github.nhenneaux.jersey.http2.jetty.bundle.Bootstrap.main(Bootstrap.java:16)
	Suppressed: java.lang.IllegalStateException: org.eclipse.jetty.alpn.ALPN must be on JVM boot classpath
		at org.eclipse.jetty.alpn.openjdk8.server.OpenJDK8ServerALPNProcessor.init(OpenJDK8ServerALPNProcessor.java:44)
		at org.eclipse.jetty.alpn.server.ALPNServerConnectionFactory.<init>(ALPNServerConnectionFactory.java:72)
		... 3 more

Did you encounter this error?

This is the native-image command I ran:

native-image -H:ReflectionConfigurationFiles=config-dir/reflect-config.json -H:ResourceConfigurationFiles=config-dir/resource-config.json --enable-all-security-services --allow-incomplete-classpath --report-unsupported-elements-at-runtime --no-fallback -jar target/jersey-http2-jetty-bundle-*-bundle.jar

@nhenneaux
Copy link
Author

nhenneaux commented Mar 18, 2020 via email

@jramirez-isc
Copy link

@nhenneaux Yes, that was it, thank you.
I could go further the org.apache.logging.log4j.message.DefaultFlowMessageFactory error by using:

-H:ReflectionConfigurationFiles=config-dir/reflect-config.json -H:DynamicProxyConfigurationFiles=config-dir/proxy-config.json -H:ResourceConfigurationFiles=config-dir/resource-config.json

Instead of -H:ConfigurationFileDirectories option. @cstancu do you think there is an issue with this option? Apparently, it's not recognizing the reflection config from the config-dir.

@nhenneaux
Copy link
Author

nhenneaux commented Jul 3, 2020

I just tested it now and it works with latest version. Fallback is still needed.

jersey-http2-jetty-connector$ /home/nicolas/Downloads/graalvm-ce-java11-linux-amd64-20.1.0/graalvm-ce-java11-20.1.0/bin/native-image -jar jersey-http2-jetty-bundle/target/jersey-http2-jetty-bundle-*-bundle.jar
Build on Server(pid: 137555, port: 34589)
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]    classlist:   1,381.91 ms,  4.46 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]        (cap):     364.34 ms,  4.46 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]        setup:     612.74 ms,  4.46 GB
WARNING GR-10238: VarHandle for static field is currently not fully supported. Static field private static volatile java.lang.System$Logger jdk.internal.event.EventHelper.securityLogger is not properly marked for Unsafe access!
^L[jersey-http2-jetty-bundle-1.0.1-bundle:137555]     (clinit):     392.24 ms,  4.56 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]     analysis:  26,827.04 ms,  4.56 GB
Warning: Aborting stand-alone image build due to unsupported features
Warning: Use -H: ReportExceptionStackTraces to print stacktrace of underlying exception
Build on Server(pid: 137555, port: 34589)
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]    classlist:      65.18 ms,  4.63 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]        (cap):     384.80 ms,  4.63 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]        setup:     544.32 ms,  4.63 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]     (clinit):      86.81 ms,  4.63 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]   (typeflow):   2,906.23 ms,  4.63 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]    (objects):   3,944.56 ms,  4.63 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]   (features):      69.80 ms,  4.63 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]     analysis:   7,182.01 ms,  4.63 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]     universe:     143.67 ms,  4.63 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]      (parse):     312.12 ms,  4.63 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]     (inline):     440.39 ms,  4.63 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]    (compile):   1,910.43 ms,  4.59 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]      compile:   2,939.08 ms,  4.59 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]        image:     488.24 ms,  4.59 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]        write:     108.43 ms,  4.59 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]      [total]:  11,508.27 ms,  4.59 GB
Warning: Image 'jersey-http2-jetty-bundle-1.0.1-bundle' is a fallback image that requires a JDK for execution (use --no-fallback to suppress fallback image generation and to print more detailed information why a fallback image was necessary).

/jersey-http2-jetty-connector$ ./jersey-http2-jetty-bundle-1.0.1-bundle 
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
2020-07-03 19:04:06.355:INFO::main: Logging initialized @617ms to org.eclipse.jetty.util.log.StdErrLog
2020-07-03 19:04:06.420:INFO:oejs.Server:main: jetty-9.4.29.v20200521; built: 2020-05-21T17:20:40.598Z; git: 77c232aed8a45c818fd27232278d9f95a021095e; jvm 11.0.7 10-jvmci-20.1-b02
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector (file:/home/nicolas/ahub/jersey-http2-jetty-connector/jersey-http2-jetty-bundle/target/jersey-http2-jetty-bundle-1.0.1-bundle.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int)
WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
WELD-000900: 3.0.0 (Final)
WELD-000101: Transactional services not available. Injection of @Inject UserTransaction not available. Transactional observers will be invoked synchronously.
WELD-ENV-002003: Weld SE container 3d3000e3-ac7b-4678-af8f-03c2ad04b8cb initialized
2020-07-03 19:04:07.088:INFO:oejsh.ContextHandler:main: Started o.e.j.s.ServletContextHandler@3b1dc579{/,null,AVAILABLE}
2020-07-03 19:04:07.094:INFO:oejus.SslContextFactory:main: x509=X509@3b8ec001(server,h=[e25e7ec8c936, localhost, server.dc1.consul.ingenico.tech, server.dc2.consul.ingenico.tech],w=[]) for Server@4fc5563d[provider=null,keyStore=null,trustStore=null]
2020-07-03 19:04:07.156:INFO:oejs.AbstractConnector:main: Started ServerConnector@71e693fa{SSL, (ssl, alpn, h2, http/1.1)}{0.0.0.0:8080}
2020-07-03 19:04:07.157:INFO:oejs.Server:main: Started @1420ms
Server Server@5443d039{STARTED}[9.4.29.v20200521] has been started and listening on port 8080
^CWELD-ENV-002001: Weld SE container 3d3000e3-ac7b-4678-af8f-03c2ad04b8cb shut down
Weld SE container 3d3000e3-ac7b-4678-af8f-03c2ad04b8cb shut down by shutdown hook

Without fallback, I got the following

Caused by: java.lang.ClassNotFoundException: sun.security.pkcs12.PKCS12KeyStore

jersey-http2-jetty-connector$ /home/nicolas/Downloads/graalvm-ce-java11-linux-amd64-20.1.0/graalvm-ce-java11-20.1.0/bin/native-image -jar jersey-http2-jetty-bundle/target/jersey-http2-jetty-bundle-*-bundle.jar --no-fallback --allow-incomplete-classpath --report-unsupported-elements-at-runtime
Build on Server(pid: 137555, port: 34589)
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]    classlist:   1,561.55 ms,  4.18 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]        (cap):     269.41 ms,  4.18 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]        setup:     433.68 ms,  4.18 GB
WARNING GR-10238: VarHandle for static field is currently not fully supported. Static field private static volatile java.lang.System$Logger jdk.internal.event.EventHelper.securityLogger is not properly marked for Unsafe access!
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]     (clinit):     400.33 ms,  3.66 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]   (typeflow):   9,822.34 ms,  3.66 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]    (objects):  17,929.29 ms,  3.66 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]   (features):     385.88 ms,  3.66 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]     analysis:  29,750.04 ms,  3.66 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]     universe:     670.62 ms,  3.66 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]      (parse):   2,238.65 ms,  3.66 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]     (inline):   2,333.13 ms,  4.69 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]    (compile):   7,884.06 ms,  5.17 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]      compile:  13,660.95 ms,  5.17 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]        image:   2,026.85 ms,  5.17 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]        write:     361.33 ms,  5.17 GB
[jersey-http2-jetty-bundle-1.0.1-bundle:137555]      [total]:  48,513.45 ms,  5.17 GB

@jramirez-isc is there still problem with keystore handling?

@jramirez-isc
Copy link

@nhenneaux you still need to use --enable-all-security-services option. And also use the native-image-agent to generate the reflection config and specify that configuration at image building, using these options:

-H:ReflectionConfigurationFiles= 
-H:DynamicProxyConfigurationFiles=
-H:ResourceConfigurationFiles=
-H:JNIConfigurationFiles=

@nhenneaux
Copy link
Author

nhenneaux commented Aug 12, 2020

I made some progress but still blocked on the following error.

Caused by: com.oracle.svm.core.jdk.UnsupportedFeatureError: Unsupported method java.lang.ClassLoader.defineClass1(ClassLoader, String, byte[], int, int, ProtectionDomain, String) is reachable
	at com.oracle.svm.core.util.VMError.unsupportedFeature(VMError.java:86)

I used the following parameters to build native image. I added resources bundles that were missing.

$GRAAL_HOME/bin/native-image \
--enable-all-security-services \
-H:ReflectionConfigurationFiles=graal/config-dir/reflect-config.json \
-H:DynamicProxyConfigurationFiles=graal/config-dir/proxy-config.json \
-H:ResourceConfigurationFiles=graal/config-dir/resource-config.json \
-H:JNIConfigurationFiles=graal/config-dir/jni-config.json \
-H:IncludeResourceBundles=javax.servlet.LocalStrings,javax.servlet.http.LocalStrings,javax.xml.bind.Messages,com.sun.org.apache.xerces.internal.impl.msg.SAXMessages \
--no-fallback \
--allow-incomplete-classpath \
--report-unsupported-elements-at-runtime \
-jar jersey-http2-jetty-bundle/target/jersey-http2-jetty-bundle-1.0.3-SNAPSHOT-bundle.jar

I built configuration files using Graal agent.

$GRAAL_HOME/bin/java -agentlib:native-image-agent=config-output-dir=graal/config-dir/ -jar jersey-http2-jetty-bundle/target/jersey-http2-jetty-bundle-1.0.3-SNAPSHOT-bundle.jar

Full stacktrace

2020-08-12 10:33:15.977:INFO:oejsh.ContextHandler:main: Stopped o.e.j.s.ServletContextHandler@163a87d5{/,null,UNAVAILABLE}
Exception in thread "main" java.lang.IllegalStateException: javax.servlet.ServletException: org.glassfish.jersey.servlet.ServletContainer-7446c51b@4501fd30==org.glassfish.jersey.servlet.ServletContainer,jsp=null,order=-1,inst=true,async=true
	at com.github.nhenneaux.jersey.http2.jetty.bundle.JettyServer.<init>(JettyServer.java:84)
	at com.github.nhenneaux.jersey.http2.jetty.bundle.Bootstrap.main(Bootstrap.java:16)
Caused by: javax.servlet.ServletException: org.glassfish.jersey.servlet.ServletContainer-7446c51b@4501fd30==org.glassfish.jersey.servlet.ServletContainer,jsp=null,order=-1,inst=true,async=true
	at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:620)
	at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:413)
	at org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$0(ServletHandler.java:749)
	at java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
	at java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:312)
	at java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735)
	at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658)
	at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:773)
	at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:360)
	at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:844)
	at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:275)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
	at org.eclipse.jetty.server.Server.start(Server.java:408)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
	at org.eclipse.jetty.server.Server.doStart(Server.java:372)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
	at com.github.nhenneaux.jersey.http2.jetty.bundle.JettyServer.<init>(JettyServer.java:73)
	... 1 more
Caused by: org.jboss.weld.exceptions.WeldException: WELD-001524: Unable to load proxy class for bean Implicit Bean [javax.enterprise.event.Event] with qualifiers [@Default] with class interface javax.enterprise.event.Event using classloader jdk.internal.loader.ClassLoaders$AppClassLoader@55ec64ad7640
	at org.jboss.weld.bean.proxy.ProxyFactory.getProxyClass(ProxyFactory.java:382)
	at org.jboss.weld.bean.builtin.AbstractFacadeBean.initializeAfterBeanDiscovery(AbstractFacadeBean.java:61)
	at org.jboss.weld.bootstrap.ConcurrentBeanDeployer$AfterBeanDiscoveryInitializerFactory.doWork(ConcurrentBeanDeployer.java:111)
	at org.jboss.weld.bootstrap.ConcurrentBeanDeployer$AfterBeanDiscoveryInitializerFactory.doWork(ConcurrentBeanDeployer.java:102)
	at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:62)
	at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:55)
	at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1448)
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
	at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
	at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1863)
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)
	at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:517)
	at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:193)
Caused by: java.lang.RuntimeException: com.oracle.svm.core.jdk.UnsupportedFeatureError: Unsupported method java.lang.ClassLoader.defineClass1(ClassLoader, String, byte[], int, int, ProtectionDomain, String) is reachable
	at org.jboss.weld.util.bytecode.ClassFileUtils.toClass(ClassFileUtils.java:101)
	at org.jboss.weld.bean.proxy.ProxyFactory.createProxyClass(ProxyFactory.java:479)
	at org.jboss.weld.bean.proxy.ProxyFactory.getProxyClass(ProxyFactory.java:374)
	... 13 more
Caused by: com.oracle.svm.core.jdk.UnsupportedFeatureError: Unsupported method java.lang.ClassLoader.defineClass1(ClassLoader, String, byte[], int, int, ProtectionDomain, String) is reachable
	at com.oracle.svm.core.util.VMError.unsupportedFeature(VMError.java:86)
	at java.lang.ClassLoader.defineClass1(ClassLoader.java)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
	at java.lang.reflect.Method.invoke(Method.java:566)
	at org.jboss.weld.util.bytecode.ClassFileUtils.toClass2(ClassFileUtils.java:108)
	at org.jboss.weld.util.bytecode.ClassFileUtils.toClass(ClassFileUtils.java:97)
	... 15 more

@jramirez-isc any idea how to progress further?

@jramirez-isc jramirez-isc removed their assignment Jan 7, 2021
@nhenneaux
Copy link
Author

Issue in log4j2, rest is now ok. LOG4J2-2649, see also #1209

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants