APM Server version: 8.18.2
APM Agent language and version: Java 1.55.0
Is there anything special in your setup? This is a Scala application running on Kubernetes with embedded Jetty server. Entrypoint for the container is:
#!/bin/sh
echo "$(java -version)"
exec java -server \
-javaagent:/opt/login-api/elastic-apm-agent-1.55.0.jar \
-javaagent:/opt/login-api/jmx_prometheus_javaagent-1.0.1.jar=8081:/opt/login-api/jmx_prometheus_config.yaml \
--add-opens=java.base/java.lang=ALL-UNNAMED \
-Denvironment="$ENVIRONMENT" \
-Djava.io.tmpdir=/var/tmp \
-Dfile.encoding=UTF-8 \
-Dconfig.resource="$ENVIRONMENT".conf \
-Dlog.local.threshold=OFF \
-Dlog.kibana.threshold="$LOG_LEVEL" \
-Dlog.container_id="$HOSTNAME" \
-Delastic.apm.service_name=login-api-"$ENVIRONMENT" \
-Delastic.apm.application_packages=my.package \
-Delastic.apm.use_path_as_transaction_name=true \
-jar /opt/login-api/login-api.jar
Description of the problem including expected versus actual behavior. Please include screenshots (if relevant): I’m getting a FileSystemAlreadyExistsException
when starting the Java APM agent in my Scala app. The problem appeared after I changed the initialization from the ElasticApmAttacher
to loading the agent manually with the -javaagent
flag.
Provide logs and/or server output (if relevant):
2025-08-26 07:31:32,614 [main] ERROR co.elastic.apm.agent.bci.IndyBootstrap - null
java.nio.file.FileSystemAlreadyExistsException: null
at jdk.nio.zipfs.ZipFileSystemProvider.newFileSystem(ZipFileSystemProvider.java:104) ~[jdk.zipfs:?]
at java.nio.file.FileSystems.newFileSystem(FileSystems.java:339) ~[?:?]
at java.nio.file.FileSystems.newFileSystem(FileSystems.java:288) ~[?:?]
at co.elastic.apm.agent.util.PackageScanner.doGetClassNames(PackageScanner.java:91) ~[login-api.jar:1.0.0]
at co.elastic.apm.agent.util.PackageScanner.getClassNames(PackageScanner.java:61) ~[login-api.jar:1.0.0]
at co.elastic.apm.agent.bci.IndyBootstrap.getClassNamesFromBundledPlugin(IndyBootstrap.java:549) ~[login-api.jar:1.0.0]
at co.elastic.apm.agent.bci.IndyBootstrap.internalBootstrap(IndyBootstrap.java:476) ~[login-api.jar:1.0.0]
at co.elastic.apm.agent.bci.IndyBootstrap.bootstrap(IndyBootstrap.java:416) ~[login-api.jar:1.0.0]
at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
at java.lang.IndyBootstrapDispatcher.bootstrap(IndyBootstrapDispatcher.java:61) ~[?:?]
at java.lang.invoke.BootstrapMethodInvoker.invoke(BootstrapMethodInvoker.java:147) ~[?:?]
at java.lang.invoke.CallSite.makeSite(CallSite.java:316) ~[?:?]
at java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(MethodHandleNatives.java:274) ~[?:?]
at java.lang.invoke.MethodHandleNatives.linkCallSite(MethodHandleNatives.java:264) ~[?:?]
at org.scalatra.servlet.ScalatraListener.contextInitialized(ScalatraListener.scala:21) ~[login-api.jar:1.0.0]
at org.eclipse.jetty.ee10.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:1589) ~[login-api.jar:1.0.0]
at org.eclipse.jetty.ee10.servlet.ServletContextHandler.contextInitialized(ServletContextHandler.java:500) ~[login-api.jar:1.0.0]
at org.eclipse.jetty.ee10.servlet.ServletHandler.initialize(ServletHandler.java:675) ~[login-api.jar:1.0.0]
at org.eclipse.jetty.ee10.servlet.ServletContextHandler.startContext(ServletContextHandler.java:1323) ~[login-api.jar:1.0.0]
at org.eclipse.jetty.ee10.webapp.WebAppContext.startWebapp(WebAppContext.java:1350) ~[login-api.jar:1.0.0]
at org.eclipse.jetty.ee10.webapp.WebAppContext.startContext(WebAppContext.java:1308) ~[login-api.jar:1.0.0]
at org.eclipse.jetty.ee10.servlet.ServletContextHandler.lambda$doStart$0(ServletContextHandler.java:1049) ~[login-api.jar:1.0.0]
at org.eclipse.jetty.server.handler.ContextHandler$ScopedContext.call(ContextHandler.java:1456) [login-api.jar:1.0.0]
at org.eclipse.jetty.ee10.servlet.ServletContextHandler.doStart(ServletContextHandler.java:1046) [login-api.jar:1.0.0]
at org.eclipse.jetty.ee10.webapp.WebAppContext.doStart(WebAppContext.java:504) [login-api.jar:1.0.0]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93) [login-api.jar:1.0.0]
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) [login-api.jar:1.0.0]
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:120) [login-api.jar:1.0.0]
at org.eclipse.jetty.server.Handler$Abstract.doStart(Handler.java:491) [login-api.jar:1.0.0]
at org.eclipse.jetty.server.Handler$Abstract.doStart(Handler.java:491) [login-api.jar:1.0.0]
at org.eclipse.jetty.server.handler.StatisticsHandler.doStart(StatisticsHandler.java:66) [login-api.jar:1.0.0]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93) [login-api.jar:1.0.0]
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) [login-api.jar:1.0.0]
at org.eclipse.jetty.server.Server.start(Server.java:641) [login-api.jar:1.0.0]
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:120) [login-api.jar:1.0.0]
at org.eclipse.jetty.server.Handler$Abstract.doStart(Handler.java:491) [login-api.jar:1.0.0]
at org.eclipse.jetty.server.Server.doStart(Server.java:582) [login-api.jar:1.0.0]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93) [login-api.jar:1.0.0]
at my.package.Jetty.startInternal(Jetty.scala:44) [login-api.jar:1.0.0]
at my.package.Jetty.<init>(Jetty.scala:14) [login-api.jar:1.0.0]
at my.package.jettyProduction$.main(jettyProduction.scala:15) [login-api.jar:1.0.0]
at my.package.jettyProduction.main(jettyProduction.scala) [login-api.jar:1.0.0]