tracker issue : CF-3039245

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

Bug 78720:When loading files into "ram://" server eventually became unresponsive

| View in Tracker

Status/Resolution/Reason: Closed/Withdrawn/

Reporter/Name(from Bugbase): Dave Ferguson / dave Ferguson (dave_jf)

Created: 07/13/2009

Components: General Server

Versions: 9.0

Failure Type: Unspecified

Found In Build/Fixed In Build: 0000 /

Priority/Frequency: Trivial / Unknown

Locale/System: English / Win All

Vote Count: 0

Problem:

When loading files into "ram://" server eventually became unresponsive.  Server had to be restarted to regain normal operations.

Granted my intent was to cause this error condition.  However, I would have expected ColdFusion to gracefully handle the issue.

Method:

Using this code to continuously write files to ram.  My source was a 17mb pdf file.

<cfscript>
	local.file = fileRead(expandPath('.') & '\..\PDF\Docs\czech.pdf');
	for (x = 1; x < 100; x++){
	
		local.pdfName = listLast(createUUID(), '-');
		fileWrite("ram://#local.pdfName#.pdf", "#local.file#");
	}	
</cfscript>
Result:

http response header from server:
Connection: close
Date: Mon, 13 Jul 2009 19:30:32 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Content-Type: text/html

503 Server Error


error from coldfusion-out.log
07/13 12:21:09 Error [jrpp-14] - Java heap space The specific sequence of files included or processed is: E:\Inetpub\wwwroot\Dave\blogDemos\RamOverload.cfm, line: 9
07/13 12:21:09 error ROOT CAUSE: 
java.lang.OutOfMemoryError: Java heap space
	at org.apache.commons.vfs.provider.ram.RamFileData.resize(RamFileData.java:260)
	at org.apache.commons.vfs.provider.ram.RamFileObject.resize(RamFileObject.java:258)
	at org.apache.commons.vfs.provider.ram.RamFileOutputStream.write(RamFileOutputStream.java:65)
	at java.io.BufferedOutputStream.write(BufferedOutputStream.java:105)
	at coldfusion.tagext.io.FileUtils.writeFile(FileUtils.java:233)
	at coldfusion.runtime.CFPage.FileWrite(CFPage.java:2847)
	at coldfusion.runtime.CFPage.FileWrite(CFPage.java:2839)
	at cfRamOverload2ecfm910178973.runPage(E:\Inetpub\wwwroot\Dave\blogDemos\RamOverload.cfm:9)
	at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:227)
	at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:416)
	at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)
	at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:313)
	at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
	at coldfusion.filter.PathFilter.invoke(PathFilter.java:87)
	at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70)
	at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:74)
	at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
	at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
	at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46)
	at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
	at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
	at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:53)
	at coldfusion.CfmServlet.service(CfmServlet.java:200)
	at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
	at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
	at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
	at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
	at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
	at jrun.servlet.FilterChain.service(FilterChain.java:101)
	at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
	at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
	at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286)

javax.servlet.ServletException: ROOT CAUSE: 
java.lang.OutOfMemoryError: Java heap space
	at org.apache.commons.vfs.provider.ram.RamFileData.resize(RamFileData.java:260)
	at org.apache.commons.vfs.provider.ram.RamFileObject.resize(RamFileObject.java:258)
	at org.apache.commons.vfs.provider.ram.RamFileOutputStream.write(RamFileOutputStream.java:65)
	at java.io.BufferedOutputStream.write(BufferedOutputStream.java:105)
	at coldfusion.tagext.io.FileUtils.writeFile(FileUtils.java:233)
	at coldfusion.runtime.CFPage.FileWrite(CFPage.java:2847)
	at coldfusion.runtime.CFPage.FileWrite(CFPage.java:2839)
	at cfRamOverload2ecfm910178973.runPage(E:\Inetpub\wwwroot\Dave\blogDemos\RamOverload.cfm:9)
	at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:227)
	at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:416)
	at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)
	at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:313)
	at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
	at coldfusion.filter.PathFilter.invoke(PathFilter.java:87)
	at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70)
	at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:74)
	at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
	at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
	at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46)
	at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
	at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
	at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:53)
	at coldfusion.CfmServlet.service(CfmServlet.java:200)
	at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
	at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
	at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
	at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
	at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
	at jrun.servlet.FilterChain.service(FilterChain.java:101)
	at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
	at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
	at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286)

	at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:70)
	at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
	at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
	at jrun.servlet.FilterChain.service(FilterChain.java:101)
	at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
	at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
	at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286)
	at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
	at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)
	at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320)
	at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
	at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266)
	at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

07/13 12:21:09 error (JRun Service: ProxyService [jrun.servlet.jrpp.JRunProxyService@1c255df]) JRunPRoxyServer.invokeRunnable: 
java.lang.IllegalStateException
	at jrun.servlet.JRunResponse.getWriter(JRunResponse.java:205)
	at jrun.servlet.JRunResponse.sendError(JRunResponse.java:597)
	at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:328)
	at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
	at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)
	at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320)
	at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
	at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266)
	at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

java.lang.IllegalStateException
	at jrun.servlet.JRunResponse.getWriter(JRunResponse.java:205)
	at jrun.servlet.JRunResponse.sendError(JRunResponse.java:597)
	at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:328)
	at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
	at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)
	at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320)
	at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
	at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266)
	at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

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

Watson Bug ID:	3039245

External Customer Info:
External Company:  
External Customer Name: dave Ferguson
External Customer Email: 333762A94460DE1A992015D5
External Test Config: 07/13/2009

Attachments:

Comments: