[ grinder-Bugs-3287570 ] OutOfMemory about process.instrumenter.dcr.RecorderLocator

SourceForge.net <[email protected]> Tue, 18 Sep 2012 14:56:08 -0700
Newsgroups gmane.comp.java.grinder.devel
Message-ID <[email protected]>
Bugs item #3287570, was opened at 2011-04-15 07:49
Message generated for change (Settings changed) made by philipa
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=118598&aid=3287570&group_id=18598

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Core engine
Group: None
>Status: Closed
Resolution: Fixed
Priority: 5
Private: No
Submitted By: John (crystalstone)
Assigned to: Philip Aston (philipa)
Summary: OutOfMemory about process.instrumenter.dcr.RecorderLocator 

Initial Comment:
ENV:
    grinder 3.4 
    jython 2.5.2
    sun jdk 1.6.0_23-b05

Grinder properties file:
    grinder.processes=1
    grinder.threads=100
    grinder.runs=2800
    grinder.jvm.arguments=-Xms1536m -Xmx1536m  

ISSUE:
   When using Grinder run performance testing for 4 hours, hit OutOfMemory issue, From the collected heapdump during run, found following issue:

Class Name                                                                                            | Shallow Heap | Retained Heap 
-------------------------------------------------------------------------------------------------------------------------------------
                                                                                                      |              |               
extra166y.CustomConcurrentHashMap @ 0x23f149e8                                                        |           48 |   587,498,920 
'- m_recorders net.grinder.engine.process.instrumenter.dcr.RecorderLocator @ 0x23eaf7a8               |           16 |            16 
   |- m_recorderRegistry net.grinder.engine.process.instrumenter.dcr.Jython25Instrumenter @ 0x23f8ad00|           56 |         3,472 
   |  '- [1] java.lang.Object[10] @ 0x23f360d0                                                        |           56 |         3,552 
   |     '- elementData java.util.ArrayList @ 0x23ec30b8                                              |           24 |         3,576 
   |        '- m_instrumenters net.grinder.engine.process.instrumenter.MasterInstrumenter @ 0x23e9caf8|           16 |         3,592 
   |           '- <Java Local> java.lang.Thread @ 0x23e9cc30  main Thread                             |          112 |         1,472 
-------------------------------------------------------------------------------------------------------------------------------------



----------------------------------------------------------------------

Comment By: Philip Aston (philipa)
Date: 2011-07-21 07:27

Message:
Fix memory leak that occurs if same target is instrumented repeatedly.

http://grinder.svn.sourceforge.net/viewvc/grinder?view=revision&revision=4272


----------------------------------------------------------------------

Comment By: Philip Aston (philipa)
Date: 2011-07-20 03:23

Message:
I think I've tracked this down.

There's a memory leak if the same thing is repeatedly instrumented (by
calling record()). This will also cause a performance degradation in the
instrumentation code. 

Does your script repeatedly use "record()" on the same target (e.g. in the
__call__() method)? If so, you can work around the problem either by moving
the instrumentation to __init__() or the top level of the script, or by
guardiing the instrumentation ("if not instrumented: record();
instrumented=1").

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=118598&aid=3287570&group_id=18598

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/