On 21.06.2016 04:48, lp_forum wrote:
Hi,

I have a very simple single page app using Java 7 + Spring Boot 1.3.3 +
Groovy Template (using Groovy 2.4.6).

The app starts hanging after it starts and gets hit for a while (it can be
as short as just few hours).

The thread dump shows that hundreds of threads are waiting to lock a
java.util.HashMap, like this:

"http-nio-9044-exec-294" daemon prio=10 tid=0x00007f54d0b68000 nid=0x7632
waiting for monitor entry [0x00007f54c99d6000]
    java.lang.Thread.State: BLOCKED (on object monitor)
        at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:266)
        - waiting to lock <0x0000000786748cd8> (a java.util.HashMap)
        at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:254)
        at
groovy.text.markup.MarkupTemplateEngine$TemplateGroovyClassLoader.parseClass(MarkupTemplateEngine.java:252)


we don“t need the full dump, but we would need to know the deadlock structure. In the most simple case one thread has a lock and waits for another, while another thread has that lock and waits for the lock the first thread has. If we know how that cycle comes into existence, then we can do something about it. Do you think you can provide that?

bye Jochen

Reply via email to