# Java APM Client ErrorLoggingListener Issue

**URL:** <https://discuss.elastic.co/t/java-apm-client-errorlogginglistener-issue/191201>\
**Category:** APM\
**Tags:** java\
**Created:** [July 18, 2019, 12:57pm UTC](https://discuss.elastic.co/t/java-apm-client-errorlogginglistener-issue/191201 "2019-07-18T12:57:08Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![suikast42](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/suikast42/32/29865_2.png) [@suikast42](https://discuss.elastic.co/u/suikast42)\
**Post date:** [July 18, 2019, 12:57pm UTC](https://discuss.elastic.co/t/java-apm-client-errorlogginglistener-issue/191201/1 "2019-07-18T12:57:08Z")

</div>

Today I simulate an overload of my app an expect an outofmemory error and an invocation of my UncaughtExceptionHandler.

But there's an issue in co.elastic.apm.agent.bci.bytebuddy.ErrorLoggingListener

```
    public void onError(String typeName, ClassLoader classLoader, JavaModule module, boolean loaded, Throwable throwable) {
    if (throwable instanceof MinimumClassFileVersionValidator.UnsupportedClassFileVersionException) {
        logger.warn("{} uses an unsupported class file version (pre Java 5) and can't be instrumented. " +
            "Consider updating to a newer version of that library.", typeName);
    } else {
        if (throwable.getMessage().contains("Cannot resolve type description")) {
            logger.info(typeName + " refers to a missing class", throwable);
        } else {
            logger.warn("Error on transformation " + typeName, throwable);
        }
    }
} 

```

IMHO the listener should only listen and not supress exceptions. The entry of ErrorLoggingListener is not in my app logging and I can't see problems in ES logs after.

---

<div class="post-metadata">

**Author:** ![suikast42](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/suikast42/32/29865_2.png) [@suikast42](https://discuss.elastic.co/u/suikast42)\
**Post date:** [July 18, 2019, 1:56pm UTC](https://discuss.elastic.co/t/java-apm-client-errorlogginglistener-issue/191201/3 "2019-07-18T13:56:16Z")

</div>

Here the logging if an OutOfMemory occured

```
        019-07-18 15:50:35.391 [http-nio-21001-exec-9] WARN co.elastic.apm.agent.bci.bytebuddy.ErrorLoggingListener - Error on transformation org.springframework.web.util.NestedServletException
    java.lang.OutOfMemoryError: GC overhead limit exceeded
    2019-07-18 15:50:35.764 [http-nio-21001-exec-9] WARN co.elastic.apm.agent.bci.bytebuddy.ErrorLoggingListener - Error on transformation org.springframework.web.servlet.ModelAndViewDefiningException
    java.lang.OutOfMemoryError: GC overhead limit exceeded
    2019-07-18 15:50:36.110 [http-nio-21001-exec-9] WARN co.elastic.apm.agent.bci.bytebuddy.ErrorLoggingListener - Error on transformation org.springframework.web.method.annotation.ExceptionHandlerMethodResolver
    java.lang.OutOfMemoryError: GC overhead limit exceeded
    2019-07-18 15:50:36.786 [http-nio-21001-exec-9] WARN co.elastic.apm.agent.bci.bytebuddy.ErrorLoggingListener - Error on transformation org.springframework.web.server.ResponseStatusException
    java.lang.OutOfMemoryError: GC overhead limit exceeded
    2019-07-18 15:50:37.108 [http-nio-21001-exec-9] WARN co.elastic.apm.agent.bci.bytebuddy.ErrorLoggingListener - Error on transformation org.springframework.web.HttpRequestMethodNotSupportedException
    java.lang.OutOfMemoryError: GC overhead limit exceeded
    2019-07-18 15:50:37.398 [http-nio-21001-exec-9] WARN co.elastic.apm.agent.bci.bytebuddy.ErrorLoggingListener - Error on transformation org.springframework.web.HttpMediaTypeNotSupportedException
    java.lang.OutOfMemoryError: GC overhead limit exceeded
    2019-07-18 15:50:37.690 [http-nio-21001-exec-9] WARN co.elastic.apm.agent.bci.bytebuddy.ErrorLoggingListener - Error on transformation org.springframework.web.bind.MissingPathVariableException
    java.lang.OutOfMemoryError: GC overhead limit exceeded
    2019-07-18 15:50:37.992 [http-nio-21001-exec-9] WARN co.elastic.apm.agent.bci.bytebuddy.ErrorLoggingListener - Error on transformation org.springframework.web.bind.ServletRequestBindingException
    java.lang.OutOfMemoryError: GC overhead limit exceeded
    2019-07-18 15:50:38.279 [http-nio-21001-exec-9] WARN co.elastic.apm.agent.bci.bytebuddy.ErrorLoggingListener - Error on transformation org.springframework.web.bind.MissingServletRequestParameterException
    java.lang.OutOfMemoryError: GC overhead limit exceeded
    2019-07-18 15:50:38.618 [http-nio-21001-exec-9] WARN co.elastic.apm.agent.bci.bytebuddy.ErrorLoggingListener - Error on transformation org.springframework.beans.ConversionNotSupportedException
    java.lang.OutOfMemoryError: GC overhead limit exceeded
    2019-07-18 15:50:39.201 [http-nio-21001-exec-9] WARN co.elastic.apm.agent.bci.bytebuddy.ErrorLoggingListener - Error on transformation co.elastic.apm.agent.impl.error.ErrorCapture
    java.lang.OutOfMemoryError: GC overhead limit exceeded
    java.lang.OutOfMemoryError: GC overhead limit exceeded
    2019-07-18 15:51:04.431 [wmsGWScheduler-1] WARN co.elastic.apm.agent.bci.bytebuddy.ErrorLoggingListener - Error on transformation co.elastic.apm.api.NoopScope
    java.lang.OutOfMemoryError: GC overhead limit exceeded
    2019-07-18T15:51:16,827 WARN [Thread-0 (ActiveMQ-client-netty-threads)] [i.n.u.c.SingleThreadEventExecutor]: Unexpected exception from an event executor: 
    java.lang.OutOfMemoryError: GC overhead limit exceeded
```

---

<div class="post-metadata">

**Author:** ![felixbarny](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/felixbarny/32/27341_2.png) [@felixbarny](https://discuss.elastic.co/u/felixbarny)\
**Post date:** [July 18, 2019, 2:21pm UTC](https://discuss.elastic.co/t/java-apm-client-errorlogginglistener-issue/191201/4 "2019-07-18T14:21:09Z")

</div>

How did you simulate the overload of your application? Note that this listener does not catch `Throwable`s at any time, only those which occur when currently instrumenting a class.  
However, it probably makes sense to re-throw OOMEs.

---

<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 8, 2019, 10:21am UTC](https://discuss.elastic.co/t/java-apm-client-errorlogginglistener-issue/191201/5 "2019-08-08T10:21:10Z")

</div>

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