tracker issue : CF-3956389

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

update 5 prelease 2 seems to lock cached version of jar files

| View in Tracker

Status/Resolution/Reason: Closed/Fixed/

Reporter/Name(from Bugbase): Peter Boughton / Peter Boughton (Peter Boughton)

Created: 03/19/2015

Components: Language, Java Integration

Versions: 11.0

Failure Type:

Found In Build/Fixed In Build: CF11_Final /

Priority/Frequency: Normal / Few users will encounter

Locale/System: ALL / Windows 7

Vote Count: 1

Listed in the version 2016.0.0.297996 Issues Fixed doc
Trying to start a second instance of an application (shared codebase, different database) was immediately giving the error:

> The process cannot access the file because it is being used by another process.

Referencing a copy of the JAR in C:\ColdFusion11\cfusion\tmpCache\appClasses\1157071449\[filename].jar

Where [filename] is any JAR referenced in Application.cfc This.JavaSettings loadPaths

Restarting CF had no effect - the first application came back fine, but the second one gives this error without even trying to start (it comes back immediately, meaning it's before Hibernate does its stuff).

Uninstalling the update 5 prerelease 2, returning to update 2, and the second application was able to start.

Not entirely sure what's going on - there are three directories in appClasses, not sure if these are supposed to map to applications or what, but one of them has a negative value (-753173500) which seems odd.

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

Watson Bug ID:	3956389

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

Attachments:

Comments:

[subscribe]
Comment by External U.
7990 | March 19, 2015 04:09:00 PM GMT
Got the error on the first instance of an application, after just restarting CF, so this suggests it's not a matter of multiple applications trying to use the file. Here's the stack trace... java.nio.file.FileSystemException: C:\ColdFusion11\cfusion\tmpCache\appClasses\1157071449\[filename].jar: The process cannot access the file because it is being used by another process. at sun.nio.fs.WindowsException.translateToIOException(Unknown Source) at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source) at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source) at sun.nio.fs.WindowsFileCopy.copy(Unknown Source) at sun.nio.fs.WindowsFileSystemProvider.copy(Unknown Source) at java.nio.file.Files.copy(Unknown Source) at coldfusion.tagext.io.FileUtils.nioCopy(FileUtils.java:1368) at coldfusion.tagext.io.FileUtils.copyFile(FileUtils.java:1361) at coldfusion.tagext.io.FileUtils.copyFile(FileUtils.java:1326) at coldfusion.tagext.io.FileUtils.copy(FileUtils.java:492) at coldfusion.runtime.AppClassLoaderHelper.handleDynamicLoading(AppClassLoaderHelper.java:380) at coldfusion.runtime.AppClassLoaderHelper.init(AppClassLoaderHelper.java:189) at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:325) at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:42) at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40) at coldfusion.filter.PathFilter.invoke(PathFilter.java:142) at coldfusion.filter.LicenseFilter.invoke(LicenseFilter.java:30) at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94) at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:78) at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28) at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38) at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:58) at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38) at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22) at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62) at coldfusion.CfmServlet.service(CfmServlet.java:219) at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42) at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at coldfusion.inspect.weinre.MobileDeviceDomInspectionFilter.doFilter(MobileDeviceDomInspectionFilter.java:121) at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:422) at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:199) [...continued...]
Comment by External U.
7991 | March 20, 2015 05:40:46 AM GMT
[...continued...] at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Unknown Source) I don't get the error on update 2, but I am getting blank pages with "400 Bad Request" returned. :/ Not sure if that's related or a separate issue.
Comment by External U.
7992 | March 20, 2015 05:40:53 AM GMT
The 400 Bad Request and blank page is caused by a bad isapi_redirect.dll file. Due to bug CF-3853535 I was using CF10's version of the file, and downgrading from u5 pr2 did not restore the file I had there before. The bad isapi_redirect.dll file is 392KB (401,408 bytes) and modified "10 ?February ?2015, ??15:57:44" I don't have time to re-install u5 pr2 to see if that supplies that file or if u2 did.
Comment by External U.
7993 | March 20, 2015 06:03:02 AM GMT
Given that bug CF-3776450 touched the same area, it's probable that the changes there introduced this bug - would be great to have whoever at Adobe knows most about CF's Java integration take another look at those changes with this issue in mind. https://bugbase.adobe.com/index.cfm?event=bug&id=CF-3776450
Comment by External U.
7994 | August 30, 2015 05:53:29 AM GMT
I have encountered this bug in Update 6
Vote by External U.
7996 | October 19, 2015 04:22:39 PM GMT
This has been marked as Closed/Fixed. Please confirm which version/update/build this is fixed for.
Comment by External U.
7995 | November 04, 2015 08:15:57 AM GMT