You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Considering the role this application fills, it's an excellent candidate for GraalVM's Native Image. I've given it a try, and it seems that the reliance on reflection of slf4j is causing a bit of a problem. I'm including the output of my attempt below. I want to understand this better myself, so I'll likely either open a pull request if one is needed or write a guide here on this ticket for inclusion wherever it may be appropriate.
Error: Unsupported features in 5 methods
Detailed message:
Error: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved method during parsing: org.slf4j.impl.StaticMDCBinder.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.
Trace:
at parsing org.slf4j.MDC.bwCompatibleGetMDCAdapterFromBinder(MDC.java:99)
Call path from entry point to org.slf4j.MDC.bwCompatibleGetMDCAdapterFromBinder():
no path found from entry point to target method
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.
Trace:
at parsing org.slf4j.MarkerFactory.bwCompatibleGetMarkerFactoryFromBinder(MarkerFactory.java:61)
Call path from entry point to org.slf4j.MarkerFactory.bwCompatibleGetMarkerFactoryFromBinder():
no path found from entry point to target method
Error: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved type during parsing: org.apache.log4j.Logger. To diagnose the issue you can use the --allow-incomplete-classpath option. The missing type is then reported at run time when it is accessed the first time.
Trace:
at parsing io.netty.util.internal.logging.Log4JLoggerFactory.newInstance(Log4JLoggerFactory.java:38)
Call path from entry point to io.netty.util.internal.logging.Log4JLoggerFactory.newInstance(String):
no path found from entry point to target method
Error: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved type during parsing: org.osgi.framework.FrameworkUtil. To diagnose the issue you can use the --allow-incomplete-classpath option. The missing type is then reported at run time when it is accessed the first time.
Trace:
at parsing org.apache.logging.log4j.core.config.plugins.util.ResolverUtil.loadImplementationsInBundle(ResolverUtil.java:282)
Call path from entry point to org.apache.logging.log4j.core.config.plugins.util.ResolverUtil.loadImplementationsInBundle(ResolverUtil$Test, String):
no path found from entry point to target method
Error: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved type during parsing: org.slf4j.ext.EventData. To diagnose the issue you can use the --allow-incomplete-classpath option. The missing type is then reported at run time when it is accessed the first time.
Trace:
at parsing org.apache.logging.slf4j.EventDataConverter.convertEvent(EventDataConverter.java:33)
Call path from entry point to org.apache.logging.slf4j.EventDataConverter.convertEvent(String, Object[], Throwable):
at org.apache.logging.slf4j.EventDataConverter.convertEvent(EventDataConverter.java:33)
at org.apache.logging.slf4j.Log4jLogger.log(Log4jLogger.java:367)
at org.apache.commons.logging.impl.SLF4JLocationAwareLog.debug(SLF4JLocationAwareLog.java:131)
at com.amazonaws.http.IdleConnectionReaper.run(IdleConnectionReaper.java:194)
at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:519)
at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:192)
at com.oracle.svm.core.code.IsolateEnterStub.PosixJavaThreads_pthreadStartRoutine_e1f4a8c0039f8337338252cd8734f63a79b5e3df(generated:0)
The text was updated successfully, but these errors were encountered:
The patch server is a long-running process so the benefits of AOT are not so great (indeed, The GraalVM team reported that AOT is 5-% slower than JIT.)
It would be nice to have for the command line dcmd operations where start-up is noticeable.
The IT world seems to be moving towards more variety of instruction sets (e.g. ARM servers). Including instructions and template files would help users.
Considering the role this application fills, it's an excellent candidate for GraalVM's Native Image. I've given it a try, and it seems that the reliance on reflection of slf4j is causing a bit of a problem. I'm including the output of my attempt below. I want to understand this better myself, so I'll likely either open a pull request if one is needed or write a guide here on this ticket for inclusion wherever it may be appropriate.
The text was updated successfully, but these errors were encountered: