Hi,

Emmanuel Lecharny wrote:
You have plenty of tools to analyze a OOM. Either a commercial tool,
or free tools. Just googling for 'Memory leak java analyzer' will
bring a lot of those guys, like
http://www.manageability.org/blog/stuff/open-source-profilers-for-java.

I'm aware of those tools, I already used Jhat, the IBM HeapAnalyser and Jconsole to locate the memory "back hole".
My initial assumption that there was a memory leak doesn't seem to be valid.
Monitoring the heap with JConsole the behaviour is not consistent with a memory leak, instead of steadily increasing memory over time what I see is a sudden spike in memory and the subsequent OOM error. The "holder" for most of the used memory is the field:
private final List<Object> childProducts = new ArrayList<Object>();
in org.apache.mina.filter.codec.statemachine.DecodingStateMachine


My problem is that I don't fully understand the state machine that Mina uses to process HTTP requests and I can't tell what could cause the addition of thousands of elements to the "childProducts" field... anyway... I'm running the server with logging set to DEBUG and I would like to know if there is anything more I can do to try to isolate this problem.

--
Luis Neves

Reply via email to