Memory Leak in com.sun.xml.bind.v2.runtime.Coordinator · Issue #844 · javaee/jaxb-v2 (original) (raw)

This repository was archived by the owner on Feb 5, 2019. It is now read-only.

This repository was archived by the owner on Feb 5, 2019. It is now read-only.

@glassfishrobot

Description

@glassfishrobot

Following on from #831 , Coordinator uses a static ThreadLocal that isn't cleaned up either. When doing multiple redeploys in tomcat I get the following message

SEVERE: The web application [/services] created a ThreadLocal with key of type [com.sun.xml.bind.v2.runtime.Coordinator$1] (value [com.sun.xml.bind.v2.runtime.Coordinator$1@136e2ea3]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@26b7d94c]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.

activeTables.remove() should be called on the coordinator in its finalize method.

@OverRide
protected void finalize() throws Throwable {
try

{ if(activeTable!=null) activeTable.remove(); }

finally

{ super.finalize(); }

}

Affected Versions

[2.2.4]