tracker issue : CF-3419777

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

Severe memory leak when using Java executors. No known workaround

| View in Tracker

Status/Resolution/Reason: Closed/Won't Fix/LowImpact

Reporter/Name(from Bugbase): marc esher / marc esher (marcesher)

Created: 12/10/2012

Components: Performance

Versions: 9.0.1

Failure Type: Memory Leak

Found In Build/Fixed In Build: 9.0.1 /

Priority/Frequency: Major / All users will encounter

Locale/System: English / Windows 7

Vote Count: 0

Problem Description:

When using java.util.concurrent Executor classes on ColdFusion 9, the CFC instances are kept in the thread and not released. Ultimately the system runs out of memory

Steps to Reproduce:

The attached self-contained project includes code in Application.cfc that creates the java.util.concurrent Executor. The code in index.cfm creates instances of a simple CFC, uses javaloader to create a dynamic proxy, and then submits the proxies to the Executor

Actual Result:

The objects are retained in memory. The attached .png file shows an instance of these objects with its path to the GC root.

Using the included JMeter test plan, I ran several thousand requests, and all of those instances accumulate in memory. After a few runs, CF runs out of memory. GC does not help.

Stopping the application (use the "stop" link) will shut down the executor, and at that time the instances are released from memory.

Expected Result:

These instances should not be retained in memory.

Any Workarounds: None that I know of. Unfortunately, this renders my CFConcurrent project (https://github.com/marcesher/cfconcurrent) effectively useless on CF 9.

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

Watson Bug ID:	3419777

External Customer Info:
External Company:  
External Customer Name: marcesher
External Customer Email:  
External Test Config: My Hardware and Environment details:  This is on Windows 7, CF 9.0.1 64 bit. I've tried with the built-in JRE and also a JDK7 jre, to the same effect

Attachments:

  1. December 10, 2012 00:00:00: 1_executor_service_bug.zip

Comments: