Unable to read/write to Coldfusion 8.01 tmpCache directory on server restart -
i'm having odd issue installation of cf8.01. updated coldfusion image hotfix (kb403411) & discovered cf started needing use of new directory image manipulation functions [imageresize()]
{coldfusionh_home}/tmpcache & subdirectories /cffileservlet/_cf_image/. tmpcache did not exist & had created, it's subdirs created automatically. there 3 problems here:
- coldfusion not appear deleting temporary files subdirs
- an error thrown on first attempt write these dirs after first restart of coldfusion. subsequent read/write attempts fine. [trace posted below]
- a directory entry has added sandbox settings allow access directory [actually more of pia issue - correct behavior sandboxes]
so have several questions:
- how test/ensure cf deleting these files when no longer needed
- what possible cause of startup error & how fix?
- the sandbox thing pain, can cf told use /tmp or /var/tmp or instead
i've tried several different owner/permission combinations on directory structure & convinced not permissions.
any thoughts/ideas?
here error trace:
image rezise 500 root cause: java.security.accesscontrolexception: access denied (java.io.filepermission /opt/coldfusion8/tmpcache read) @ java.security.accesscontrolcontext.checkpermission(accesscontrolcontext.java:374) @ java.security.accesscontroller.checkpermission(accesscontroller.java:546) @ java.lang.securitymanager.checkpermission(securitymanager.java:532) @ java.lang.securitymanager.checkread(securitymanager.java:871) @ java.io.file.exists(file.java:731) @ coldfusion.runtime.runtimeserviceimpl.gettempcachedirectory(runtimeserviceimpl.java:2038) @ coldfusion.tagext.io.imagetag.gettempimagefile(imagetag.java:637) @ coldfusion.tagext.io.imagetag.writeimagetobrowser(imagetag.java:571) @ coldfusion.tagext.io.imagetag.dostarttag(imagetag.java:459) @ cftest2ecfm1941538635.runpage(/var/www/vhosts/bigblock.ca/subdomains/propaganda/httpdocs/filetest/test.cfm:29) @ coldfusion.runtime.cfjsppage.invoke(cfjsppage.java:196) @ coldfusion.tagext.lang.includetag.dostarttag(includetag.java:483) @ coldfusion.filter.cfincludefilter.invoke(cfincludefilter.java:65) @ coldfusion.filter.applicationfilter.invoke(applicationfilter.java:288) @ coldfusion.filter.requestmonitorfilter.invoke(requestmonitorfilter.java:48) @ coldfusion.filter.monitoringfilter.invoke(monitoringfilter.java:40) @ coldfusion.filter.pathfilter.invoke(pathfilter.java:86) @ coldfusion.filter.exceptionfilter.invoke(exceptionfilter.java:70) @ coldfusion.filter.browserdebugfilter.invoke(browserdebugfilter.java:74) @ coldfusion.filter.clientscopepersistencefilter.invoke(clientscopepersistencefilter.java:28) @ coldfusion.filter.browserfilter.invoke(browserfilter.java:38) @ coldfusion.filter.nocachefilter.invoke(nocachefilter.java:46) @ coldfusion.filter.globalsfilter.invoke(globalsfilter.java:38) @ coldfusion.filter.datasourcefilter.invoke(datasourcefilter.java:22) @ coldfusion.cfmservlet.service(cfmservlet.java:198) @ coldfusion.bootstrap.bootstrapservlet.service(bootstrapservlet.java:89) @ jrun.servlet.filterchain.dofilter(filterchain.java:86) @ coldfusion.monitor.event.monitoringservletfilter.dofilter(monitoringservletfilter.java:42) @ coldfusion.bootstrap.bootstrapfilter.dofilter(bootstrapfilter.java:46) @ jrun.servlet.filterchain.dofilter(filterchain.java:94) @ jrun.servlet.filterchain.service(filterchain.java:101) @ jrun.servlet.servletinvoker.invoke(servletinvoker.java:106) @ jrun.servlet.jruninvokerchain.invokenext(jruninvokerchain.java:42) @ jrun.servlet.jrunrequestdispatcher.invoke(jrunrequestdispatcher.java:286) @ jrun.servlet.servletengineservice.dispatch(servletengineservice.java:543) @ jrun.servlet.jrpp.jrunproxyservice.invokerunnable(jrunproxyservice.java:203) @ jrunx.scheduler.threadpool$downstreammetrics.invokerunnable(threadpool.java:320) @ jrunx.scheduler.threadpool$threadthrottle.invokerunnable(threadpool.java:428) @ jrunx.scheduler.threadpool$upstreammetrics.invokerunnable(threadpool.java:266) @ jrunx.scheduler.workerthread.run(workerthread.java:66) javax.servlet.servletexception: root cause: java.security.accesscontrolexception: access denied (java.io.filepermission /opt/coldfusion8/tmpcache read) @ java.security.accesscontrolcontext.checkpermission(accesscontrolcontext.java:374) @ java.security.accesscontroller.checkpermission(accesscontroller.java:546) @ java.lang.securitymanager.checkpermission(securitymanager.java:532) @ java.lang.securitymanager.checkread(securitymanager.java:871) @ java.io.file.exists(file.java:731) @ coldfusion.runtime.runtimeserviceimpl.gettempcachedirectory(runtimeserviceimpl.java:2038) @ coldfusion.tagext.io.imagetag.gettempimagefile(imagetag.java:637) @ coldfusion.tagext.io.imagetag.writeimagetobrowser(imagetag.java:571) @ coldfusion.tagext.io.imagetag.dostarttag(imagetag.java:459) @ cftest2ecfm1941538635.runpage(/var/www/vhosts/bigblock.ca/subdomains/propaganda/httpdocs/filetest/test.cfm:29) @ coldfusion.runtime.cfjsppage.invoke(cfjsppage.java:196) @ coldfusion.tagext.lang.includetag.dostarttag(includetag.java:483) @ coldfusion.filter.cfincludefilter.invoke(cfincludefilter.java:65) @ coldfusion.filter.applicationfilter.invoke(applicationfilter.java:288) @ coldfusion.filter.requestmonitorfilter.invoke(requestmonitorfilter.java:48) @ coldfusion.filter.monitoringfilter.invoke(monitoringfilter.java:40) @ coldfusion.filter.pathfilter.invoke(pathfilter.java:86) @ coldfusion.filter.exceptionfilter.invoke(exceptionfilter.java:70) @ coldfusion.filter.browserdebugfilter.invoke(browserdebugfilter.java:74) @ coldfusion.filter.clientscopepersistencefilter.invoke(clientscopepersistencefilter.java:28) @ coldfusion.filter.browserfilter.invoke(browserfilter.java:38) @ coldfusion.filter.nocachefilter.invoke(nocachefilter.java:46) @ coldfusion.filter.globalsfilter.invoke(globalsfilter.java:38) @ coldfusion.filter.datasourcefilter.invoke(datasourcefilter.java:22) @ coldfusion.cfmservlet.service(cfmservlet.java:198) @ coldfusion.bootstrap.bootstrapservlet.service(bootstrapservlet.java:89) @ jrun.servlet.filterchain.dofilter(filterchain.java:86) @ coldfusion.monitor.event.monitoringservletfilter.dofilter(monitoringservletfilter.java:42) @ coldfusion.bootstrap.bootstrapfilter.dofilter(bootstrapfilter.java:46) @ jrun.servlet.filterchain.dofilter(filterchain.java:94) @ jrun.servlet.filterchain.service(filterchain.java:101) @ jrun.servlet.servletinvoker.invoke(servletinvoker.java:106) @ jrun.servlet.jruninvokerchain.invokenext(jruninvokerchain.java:42) @ jrun.servlet.jrunrequestdispatcher.invoke(jrunrequestdispatcher.java:286) @ jrun.servlet.servletengineservice.dispatch(servletengineservice.java:543) @ jrun.servlet.jrpp.jrunproxyservice.invokerunnable(jrunproxyservice.java:203) @ jrunx.scheduler.threadpool$downstreammetrics.invokerunnable(threadpool.java:320) @ jrunx.scheduler.threadpool$threadthrottle.invokerunnable(threadpool.java:428) @ jrunx.scheduler.threadpool$upstreammetrics.invokerunnable(threadpool.java:266) @ jrunx.scheduler.workerthread.run(workerthread.java:66) @ coldfusion.monitor.event.monitoringservletfilter.dofilter(monitoringservletfilter.java:70) @ coldfusion.bootstrap.bootstrapfilter.dofilter(bootstrapfilter.java:46) @ jrun.servlet.filterchain.dofilter(filterchain.java:94) @ jrun.servlet.filterchain.service(filterchain.java:101) @ jrun.servlet.servletinvoker.invoke(servletinvoker.java:106) @ jrun.servlet.jruninvokerchain.invokenext(jruninvokerchain.java:42) @ jrun.servlet.jrunrequestdispatcher.invoke(jrunrequestdispatcher.java:286) @ jrun.servlet.servletengineservice.dispatch(servletengineservice.java:543) @ jrun.servlet.jrpp.jrunproxyservice.invokerunnable(jrunproxyservice.java:203) @ jrunx.scheduler.threadpool$downstreammetrics.invokerunnable(threadpool.java:320) @ jrunx.scheduler.threadpool$threadthrottle.invokerunnable(threadpool.java:428) @ jrunx.scheduler.threadpool$upstreammetrics.invokerunnable(threadpool.java:266) @ jrunx.scheduler.workerthread.run(workerthread.java:66)
ok, see no 1 else couldn't i'll try give hint personal experience.
if have example, file i/o operation during page execution, e.g. file upload, , you're using java native classes file manipulation, , exception thrown before call file close() method, files locked , can't open/deleted without higher permissions and/or server restart. happened me dozens of times can assume happen problem.
cheers, z.
Comments
Post a Comment