Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Cannot Reproduce
-
None
-
None
-
None
Description
I'm looking at a heap dump from one of our customers where the retained heap size for some NioSocketSession instances is almost 1GB.
From the looks of the dump MINA has created a massive object graph where:
NioSocketSession -> SelectionKeyImpl -> EpollSelectorImpl -> HashMap -> SelectionKeyImpl -> NioSocketSession -> ...
From the looks of the obeject IDs these are not loops
Each individual object is not large by itself but at the top of the graph the accumulated retained size is enough to produce an OOME
Could you help me understand how MINA can produce such a massive object graph? Should MINA apply any defense mechanism to prevent this??