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

Build akka with nativeImageRunAgent warning for java.lang.IndexOutOfBoundsException #9601

Open
atalia opened this issue Sep 2, 2024 · 1 comment
Assignees

Comments

@atalia
Copy link

atalia commented Sep 2, 2024

Describe the issue
I am building a project based on Scala sbt and akka actor using native-image-tool, and in the process of generating a json config using tracing agent.

The configuration information related to graalvm in sbt is as follows:

.settings(
      Compile / mainClass := Some("my.akka.project"),
      NativeImage / mainClass := (Compile / run / mainClass ).value,
      nativeImageOptions ++= Seq("--no-fallback",
        "--verbose",
        "--install-exit-handlers",
        "--initialize-at-build-time=org.apache.logging.log4j",
        "--initialize-at-build-time=scala.runtime.Statics$VM",
        "-Dlogback.configurationFile=log4j2.xml", // configured at build time
        s"-H:ReflectionConfigurationFiles=${target.value / "native-image-configs" / "reflect-config.json"}",
        s"-H:ConfigurationFileDirectories=${target.value / "native-image-configs" }",
        "-H:+JNI",
        "-H:+ReportExceptionStackTraces",
        "-H:+TraceClassInitialization",
        "-H:+ReflectionPluginTracing",
      ),
      nativeImageAgentOutputDir := baseDirectory.value / "native-image-agent" / "out",
      Global / excludeLintKeys ++= Set(nativeImageJvm, nativeImageVersion)
    )
    .enablePlugins(NativeImagePlugin)

I am finding a large number of java.lang.IndexOutOfBoundsException errors. The details are as follows:

[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory, result=true, args=[[Z], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=com.sun.jmx.mbeanserver.MXBeanMapping, result=true, args=[[Z], function=forName, tracer=reflect, class=java.lang.Class}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory, result=true, args=[[B], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=com.sun.jmx.mbeanserver.MXBeanMapping, result=true, args=[[B], function=forName, tracer=reflect, class=java.lang.Class}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory, result=true, args=[[C], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=com.sun.jmx.mbeanserver.MXBeanMapping, result=true, args=[[C], function=forName, tracer=reflect, class=java.lang.Class}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory, result=true, args=[[D], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=com.sun.jmx.mbeanserver.MXBeanMapping, result=true, args=[[D], function=forName, tracer=reflect, class=java.lang.Class}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory, result=true, args=[[F], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=com.sun.jmx.mbeanserver.MXBeanMapping, result=true, args=[[F], function=forName, tracer=reflect, class=java.lang.Class}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory, result=true, args=[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=com.sun.jmx.mbeanserver.MXBeanMapping, result=true, args=[[I], function=forName, tracer=reflect, class=java.lang.Class}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory, result=true, args=[[J], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=com.sun.jmx.mbeanserver.MXBeanMapping, result=true, args=[[J], function=forName, tracer=reflect, class=java.lang.Class}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory, result=true, args=[[S], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=com.sun.jmx.mbeanserver.MXBeanMapping, result=true, args=[[S], function=forName, tracer=reflect, class=java.lang.Class}
[info] load default application configuration
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=sun.security.pkcs.PKCS9Attribute, result=true, args=[[B], function=forName, tracer=reflect, class=java.lang.Class}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=scala.runtime.ScalaRunTime$, result=true, args=[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 3, end 2, length 3: {caller_class=scala.reflect.ClassTag$GenericClassTag, result=true, args=[[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=scala.runtime.ScalaRunTime$, result=true, args=[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 3, end 2, length 3: {caller_class=scala.reflect.ClassTag$GenericClassTag, result=true, args=[[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=scala.runtime.ScalaRunTime$, result=true, args=[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 3, end 2, length 3: {caller_class=scala.reflect.ClassTag$GenericClassTag, result=true, args=[[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=scala.runtime.ScalaRunTime$, result=true, args=[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 3, end 2, length 3: {caller_class=scala.reflect.ClassTag$GenericClassTag, result=true, args=[[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=scala.runtime.ScalaRunTime$, result=true, args=[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 3, end 2, length 3: {caller_class=scala.reflect.ClassTag$GenericClassTag, result=true, args=[[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=scala.runtime.ScalaRunTime$, result=true, args=[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 3, end 2, length 3: {caller_class=scala.reflect.ClassTag$GenericClassTag, result=true, args=[[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=scala.runtime.ScalaRunTime$, result=true, args=[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 3, end 2, length 3: {caller_class=scala.reflect.ClassTag$GenericClassTag, result=true, args=[[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=scala.runtime.ScalaRunTime$, result=true, args=[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 3, end 2, length 3: {caller_class=scala.reflect.ClassTag$GenericClassTag, result=true, args=[[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=scala.runtime.ScalaRunTime$, result=true, args=[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 3, end 2, length 3: {caller_class=scala.reflect.ClassTag$GenericClassTag, result=true, args=[[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=scala.runtime.ScalaRunTime$, result=true, args=[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 3, end 2, length 3: {caller_class=scala.reflect.ClassTag$GenericClassTag, result=true, args=[[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=scala.runtime.ScalaRunTime$, result=true, args=[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 3, end 2, length 3: {caller_class=scala.reflect.ClassTag$GenericClassTag, result=true, args=[[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=scala.runtime.ScalaRunTime$, result=true, args=[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 3, end 2, length 3: {caller_class=scala.reflect.ClassTag$GenericClassTag, result=true, args=[[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=scala.runtime.ScalaRunTime$, result=true, args=[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 3, end 2, length 3: {caller_class=scala.reflect.ClassTag$GenericClassTag, result=true, args=[[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=scala.runtime.ScalaRunTime$, result=true, args=[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 3, end 2, length 3: {caller_class=scala.reflect.ClassTag$GenericClassTag, result=true, args=[[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=scala.runtime.ScalaRunTime$, result=true, args=[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 3, end 2, length 3: {caller_class=scala.reflect.ClassTag$GenericClassTag, result=true, args=[[[I], function=newInstance, tracer=reflect, class=java.lang.reflect.Array}
[error] WARNING: Error processing trace entry: java.lang.IndexOutOfBoundsException: start 2, end 1, length 2: {caller_class=akka.actor.ReflectiveDynamicAccess, result=true, args=[[B], function=forName, tracer=reflect, class=java.lang.Class}

Describe GraalVM and your environment:

I build project in docker, docker image as below:

container-registry.oracle.com/graalvm/native-image:21

I can't figure out the cause of the error from the relevant logs, how can I further troubleshoot the problem

@oubidar-Abderrahim
Copy link
Member

Please provide a reproducer to this issue, thanks

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

2 participants