tracker issue : CF-3120864

select a category, or use search below
(searches all categories and all time range)
Title:

Memory leak - coldfusion.util.key

| View in Tracker

Status/Resolution/Reason: Closed/Withdrawn/Duplicate

Reporter/Name(from Bugbase): david ames / david ames (david ames)

Created: 02/22/2012

Components: Core Runtime

Versions: 10.0

Failure Type: Memory Leak

Found In Build/Fixed In Build: Public Beta /

Priority/Frequency: Major / All users will encounter

Locale/System: English / Win 2008 Server R2

Vote Count: 1

Duplicate ID:	CF-3119991

Problem Description:
Each unique structure key used in the JVM allocates a coldfusion.util.key object. References to these objects are held onto to and never eligible for GC.  In production, causes server to give a GC Overhead Limit Exceeded error.  I have a simple test case that causes the same error in less then 100 requests.



Steps to Reproduce:
Create two .cfm files. Configure an Apache JMeter test to run two threads.  Restart JVM.  Start test for MemoryLeak.cfm. Note results.  Start test for NoMemoryLeak.cfm. Note Results

-- MemoryLeak.cfm
 
<cfset transient = structNew() />
<cfset base = getTickCount() />
<cfloop from="1" to="10000" index="index">
<cfset transient[hash("#base##index#")] = true >
</cfloop>
<cfoutput>
Done
</cfoutput>
 
 
 
-- NoMemoryLeak.cfm
<cfset transient = structNew() />
<cfloop from="1" to="10000" index="index">
<cfset transient[hash("#index#")] = true >
</cfloop>
<cfoutput>
Done
</cfoutput>




Actual Result:
MemoryLeak.cfm will give an GC Overhead limit exceeded error before 100 JMeter test runs are complete (ie, in around 30 seconds).  NoMemoryLeak.cfm does not have this problem and can run for hours on end without the old gen getting any bigger.


Expected Result:
MemoryLeak.cfm  should be able to run for hours.

Any Workarounds:
Not that I know of. Please advise if you have one.

----------------------------- Additional Watson Details -----------------------------

Watson Bug ID:	3120864

External Customer Info:
External Company:  
External Customer Name: davidames
External Customer Email:  
External Test Config: My Hardware and Environment details:

Windows 7, 64bit.  Coldfusion 10,281485. Fresh install, stock standard JVM-1.6.0_29

Attachments:

Comments:

Occurs under CF9.01 and logged as Bug CF-3119991 Bug in CF9 is production critical and stopping us from upgrading our server farms to 9.01
Comment by External U.
20639 | February 22, 2012 01:54:18 PM GMT
Heap does not evacuate "coldfusion.util.key" when garbage collected. Changing GC routine from UseParallelGC to alternates does not alter problem.
Vote by External U.
20641 | February 22, 2012 07:08:10 PM GMT
Closing as duplicate CF-3119991 is under investigation.
Comment by Kunal S.
20640 | February 23, 2012 05:46:50 AM GMT