# No stack trace available in JAVA APM

**URL:** <https://discuss.elastic.co/t/no-stack-trace-available-in-java-apm/243002>\
**Category:** APM\
**Tags:** java\
**Created:** [July 29, 2020, 5:35am UTC](https://discuss.elastic.co/t/no-stack-trace-available-in-java-apm/243002 "2020-07-29T05:35:51Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![itssameer](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/itssameer/32/45030_2.png) [@itssameer](https://discuss.elastic.co/u/itssameer)\
**Post date:** [July 29, 2020, 5:35am UTC](https://discuss.elastic.co/t/no-stack-trace-available-in-java-apm/243002/1 "2020-07-29T05:35:52Z")

</div>

Hi,

I am having the latest version of Elastic Stack & Java APM agent.

Everything is working fine, but when I am open trace sample I always get **No stack trace available** in Span details whereas I would like to get all query details there.

Kindly assist.

---

<div class="post-metadata">

**Author:** ![Eyal\_Koren](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/eyal_koren/32/36830_2.png) [@Eyal\_Koren](https://discuss.elastic.co/u/Eyal_Koren)\
**Post date:** [July 29, 2020, 6:06am UTC](https://discuss.elastic.co/t/no-stack-trace-available-in-java-apm/243002/2 "2020-07-29T06:06:48Z")

</div>

This may be related to spans duration - see the [`span_frames_min_duration`](https://www.elastic.co/guide/en/apm/agent/java/current/config-stacktrace.html#config-span-frames-min-duration) config for details.

---

<div class="post-metadata">

**Author:** ![itssameer](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/itssameer/32/45030_2.png) [@itssameer](https://discuss.elastic.co/u/itssameer)\
**Post date:** [July 29, 2020, 8:54am UTC](https://discuss.elastic.co/t/no-stack-trace-available-in-java-apm/243002/3 "2020-07-29T08:54:39Z")

</div>

I have added span\_frames\_min\_duration setting, but still the same. I am getting the below warnings in tomcat catalina.out :

2020-07-29 14:01:39,841 [main] WARN co.elastic.apm.agent.bci.bytebuddy.ErrorLoggingListener - com.mysql.jdbc.ConnectionImpl uses an unsupported class file version (pre Java 5) and can't be instrumented. Consider updating to a newer version of that library.  
2020-07-29 14:01:39,892 [main] WARN co.elastic.apm.agent.bci.bytebuddy.ErrorLoggingListener - com.mysql.jdbc.PreparedStatement uses an unsupported class file version (pre Java 5) and can't be instrumented. Consider updating to a newer version of that library.  
2020-07-29 14:01:39,917 [main] WARN co.elastic.apm.agent.bci.bytebuddy.ErrorLoggingListener - com.mysql.jdbc.StatementImpl uses an unsupported class file version (pre Java 5) and can't be instrumented. Consider updating to a newer version of that library.  
2020-07-29 14:01:39,941 [main] WARN co.elastic.apm.agent.bci.bytebuddy.ErrorLoggingListener - com.mysql.jdbc.ServerPreparedStatement uses an unsupported class file version (pre Java 5) and can't be instrumented. Consider updating to a newer version of that library.  
2020-07-29 14:14:13,715 [main] WARN co.elastic.apm.agent.bci.bytebuddy.ErrorLoggingListener - com.thoughtworks.xstream.core.util.CompositeClassLoader uses an unsupported class file version (pre Java 5) and can't be instrumented. Consider updating to a newer version of that library.  
2020-07-29 14:14:13,795 [main] WARN co.elastic.apm.agent.bci.bytebuddy.ErrorLoggingListener - com.thoughtworks.xstream.core.util.ClassLoaderReference uses an unsupported class file version (pre Java 5) and can't be instrumented. Consider updating to a newer version of that library.

```auto

```

---

<div class="post-metadata">

**Author:** ![Eyal\_Koren](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/eyal_koren/32/36830_2.png) [@Eyal\_Koren](https://discuss.elastic.co/u/Eyal_Koren)\
**Post date:** [July 29, 2020, 8:57am UTC](https://discuss.elastic.co/t/no-stack-trace-available-in-java-apm/243002/4 "2020-07-29T08:57:24Z")

</div>

Hold on, I am going to extend our support for Java 1.4 bytecode as well, should be quick

---

<div class="post-metadata">

**Author:** ![Eyal\_Koren](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/eyal_koren/32/36830_2.png) [@Eyal\_Koren](https://discuss.elastic.co/u/Eyal_Koren)\
**Post date:** [July 29, 2020, 1:30pm UTC](https://discuss.elastic.co/t/no-stack-trace-available-in-java-apm/243002/5 "2020-07-29T13:30:03Z")

</div>

Can you try the relevant artifact from [this snapshot build](https://apm-ci.elastic.co/blue/organizations/jenkins/apm-agent-java%2Fapm-agent-java-mbp/detail/PR-1317/1/artifacts) and see how it works for you?

---

<div class="post-metadata">

**Author:** ![itssameer](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/itssameer/32/45030_2.png) [@itssameer](https://discuss.elastic.co/u/itssameer)\
**Post date:** [July 30, 2020, 6:33am UTC](https://discuss.elastic.co/t/no-stack-trace-available-in-java-apm/243002/6 "2020-07-30T06:33:37Z")

</div>

I tried the [src/github.com/elastic/apm-agent-java/elastic-apm-agent/target/elastic-apm-agent-1.18.1.RC1-SNAPSHOT.jar] package, but still nothing. I could see the below warnings now :

_**2020-07-30 11:58:54,003 [main]**_ _ **WARN** _ _**co.elastic.apm.agent.bci.bytebuddy.ErrorLoggingListener - com.mysql.jdbc.ConnectionImpl uses an unsupported class file version (pre Java 4}) and can't be instrumented. Consider updating to a newer version of that library.**_

_**2020-07-30 11:58:54,046 [main]**_ _ **WARN** _ _**co.elastic.apm.agent.bci.bytebuddy.ErrorLoggingListener - com.mysql.jdbc.PreparedStatement uses an unsupported class file version (pre Java 4}) and can't be instrumented. Consider updating to a newer version of that library.**_

_**2020-07-30 11:58:54,068 [main]**_ _ **WARN** _ _**co.elastic.apm.agent.bci.bytebuddy.ErrorLoggingListener - com.mysql.jdbc.StatementImpl uses an unsupported class file version (pre Java 4}) and can't be instrumented. Consider updating to a newer version of that library.**_

_**2020-07-30 11:58:54,088 [main]**_ _ **WARN** _ _**co.elastic.apm.agent.bci.bytebuddy.ErrorLoggingListener - com.mysql.jdbc.ServerPreparedStatement uses an unsupported class file version (pre Java 4}) and can't be instrumented. Consider updating to a newer version of that library.**_

_ **30-Jul-2020 12:00:23.504** _ _ **WARN** _ _**ING [main] org.apache.tomcat.jdbc.pool.ConnectionPool.checkPoolConfiguration maxIdle is smaller than minIdle, setting maxIdle to: 10**_

_ **30-Jul-2020 12:00:46.452** _ _ **WARN** _ _**ING [main] org.apache.tomcat.jdbc.pool.ConnectionPool.checkPoolConfiguration maxIdle is smaller than minIdle, setting maxIdle to: 10**_

_**2020-07-30 12:01:12,514 [http-nio-8080-exec-4]**_ _ **WARN** _ _**co.elastic.apm.agent.impl.transaction.Span - Max spans (1000) for transaction 'ProductListResource#getProductList' 00-96c6c5bb672ca66310d767f2302c314c-133189f586389a7f-01 (7812a4d2) has been reached. For this transaction and possibly others, further spans will be dropped. See config param 'transaction\_max\_spans'.**_

---

<div class="post-metadata">

**Author:** ![Eyal\_Koren](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/eyal_koren/32/36830_2.png) [@Eyal\_Koren](https://discuss.elastic.co/u/Eyal_Koren)\
**Post date:** [July 30, 2020, 7:13am UTC](https://discuss.elastic.co/t/no-stack-trace-available-in-java-apm/243002/7 "2020-07-30T07:13:49Z")

</div>

> [@itssameer](#):
>
> but still nothing

What do you mean? No stack traces? What did you set for `span_frame_min_duration`?

> [@itssameer](#):
>
> I could see the below warnings now

What mysql driver version are you using? Could it be compiled with a version lower than 1.4?

---

<div class="post-metadata">

**Author:** ![itssameer](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/itssameer/32/45030_2.png) [@itssameer](https://discuss.elastic.co/u/itssameer)\
**Post date:** [July 30, 2020, 10:30am UTC](https://discuss.elastic.co/t/no-stack-trace-available-in-java-apm/243002/8 "2020-07-30T10:30:29Z")

</div>

I have added below config to setenv.sh file :

_ **export CATALINA\_OPTS="$CATALINA\_OPTS -javaagent:/opt/elastic-apm-agent-1.18.1.RC1-SNAPSHOT.jar"** _

_ **export CATALINA\_OPTS="$CATALINA\_OPTS -Delastic.apm.service\_name=test-apm-service"** _

_ **export CATALINA\_OPTS="$CATALINA\_OPTS -Delastic.apm.server\_urls=http://localhost:8200"** _

_ **export CATALINA\_OPTS="$CATALINA\_OPTS -Delastic.apm.application\_packages=com.nm"** _

_ **export CATALINA\_OPTS="$CATALINA\_OPTS -Delastic.apm.stack\_trace\_limit=-1"** _

_ **export CATALINA\_OPTS="$CATALINA\_OPTS -Delastic.apm.transaction\_max\_spans=1000"** _

_ **export CATALINA\_OPTS="$CATALINA\_OPTS -Delastic.apm.span\_frames\_min\_duration=-1ms"** _

I could not see the mysql queries for the transactions.

---

<div class="post-metadata">

**Author:** ![Eyal\_Koren](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/eyal_koren/32/36830_2.png) [@Eyal\_Koren](https://discuss.elastic.co/u/Eyal_Koren)\
**Post date:** [July 30, 2020, 10:35am UTC](https://discuss.elastic.co/t/no-stack-trace-available-in-java-apm/243002/9 "2020-07-30T10:35:58Z")

</div>

If your MySQL driver is compile with Java lower than 1.4 - this is expected.  
If you upgrade the driver to one compiled with 1.4, you need to use the snapshot I provided above, as `elastic-apm-agent-1.18.1.RC1-SNAPSHOT.jar` only instruments classes compiled with 1.5 or higher.  
If you upgrade the driver to one compiled with 1.5 or higher - it should work.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [August 27, 2020, 10:36am UTC](https://discuss.elastic.co/t/no-stack-trace-available-in-java-apm/243002/10 "2020-08-27T10:36:12Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
