Issue
CFImage and the image functions can leave an image file locked after an initial write to disk in Adobe ColdFusion 8.0.1. This can cause subsequent operations on the image to fail with an error similar to the following:
“An exception occurred while trying to write the image. Ensure that the destination directory exists and that ColdFusion has permission to write to the given path or file. Cause: java.io.FileNotFoundException: /pathToImage/portrait.jpg”
The CFimage function may also write the image to the directory ColdFusion is running from instead of the proper directory.
Solution
Both ColdFusion 8.0.1 cumulative and individual hot fixes are installed in the ColdFusion Administrator. The installation process is the same for all platforms and installation choices.
Install the ColdFusion 8.0.1 hot fix.
1. Download the hot fix, hf801-71557.zip (110k).
2. Extract hf801-71557.jar and metadata-extractor-2.3.1.jar from the hf801-71557.zip file.
3. Open the ColdFusion Administrator and select the System Information page. Next to the Update File field, do one of the following:
* Type in the file path to hf801-71557.jar, and then click Submit.
*
Click Browse, and then browse to the hf801-71557.jar. Select the file, and then click Submit.
4.
Stop the ColdFusion server.
5.
Rename metadata-extractor-2.3.1.jar in cf_root\lib to metadata-extractor-2.3.1.jar.bak. Copy metadata-extractor-2.3.1.jar extracted from the hotfix zip to this location.
6.
Restart the ColdFusion server.
Note: The hot fix, hf801-71557.jar was updated with a file dated August 12, 2008 1:43 AM and size 36,169 bytes. An updated metadata-extractor-2.3.1.jar was added to the zip also (86.6k August 12, 2008 1:51).
The ColdFusion 8.0.1 hot fix JAR file does not need to be retained after installing it with the ColdFusion Administrator. The file has been copied into the correct location. ColdFusion hot fix jars may be uninstalled by deleting the respective hot fix jar from cf_root/lib/updates after stopping the ColdFusion application server.
none
On extremely slow or very heavily loaded Windows systems, the main ColdFusion MX Application Server service might not automatically start on system restart using the default service startup timeout values. Instead, the following error will be seen:
The ColdFusion MX Application Server service terminated with
service-specific error 2.
This behavior can occur on slower systems or systems with a large number of services that need to initialize at the same time, causing the ColdFusion MX Application Server service to timeout.
Beginning with ColdFusion MX 6.1, the -starttimeout switch is added to the command line executable, allowing the startup timeout value to be permanently modified.
If the ColdFusion Application Server Service does not start on system reboot, the following workaround can be used to modify the time allowed for service startup:
- Shut down the ColdFusion MX Application Server service.
- Open a DOS command window.
- Run the following command to change directories:
cd cf_rootruntimebin
- Run the following command to change the timeout value:
jrunsvc.exe -starttimeout 900"ColdFusion MX Application Server"
where 900 is equal to the number of seconds allowable before the ColdFusion service startup will timeout.
This value can be adjusted according to the specific needs of the system on which ColdFusion is installed. To change it, simply run the command in step 4 again with a different value. You can replace “ColdFusion MX Application Server” accordingly depaending on the CF instance. For example if it is CF8, you would run jrunsvc.exe -starttimeout 900“ColdFusion 8 Application Server”.
none
To disable ColdFusion Remote Development Services on ColdFusion MX and higher:
In earlier versions of ColdFusion, RDS ran as a separate service or process. In ColdFusion MX, RDS is seamlessly integrated into the main service or process. To disable it, you must disable the RDSServlet mapping, as described in the following procedure.
To disable the RDSServlet mapping:
- Back up the web.xml file.
This file is in the cf_root\wwwroot\WEB-INF directory on Windows
and in the cf_root/wwwroot/WEB-INF directory on UNIX. In the J2EE configuration, this file is undercf_root/WEB-INF.
- Open the original web.xml file for editing.
- Comment out the RDSServlet mapping, as shown in the following example:
<!--
<servlet-mapping id="coldfusion_mapping_9">
<servlet-name>RDSServlet</servlet-name>
<url-pattern>/CFIDE/main/ide.cfm</url-pattern>
</servlet-mapping>
-->
Save the File and restart Coldfusion.
If you want to enable RDS, you simply do the reverse.
- Back up the web.xml file.
This file is in the cf_root\wwwroot\WEB-INF directory on Windows
and in the cf_root/wwwroot/WEB-INF directory on UNIX. In the J2EE configuration, this file is undercf_root/WEB-INF.
- Open the original web.xml file for editing.
- Comment out the RDSServlet mapping, as shown in the following example:
<!--
<servlet-mapping id="coldfusion_mapping_9">
<servlet-name>RDSServlet</servlet-name>
<url-pattern>/CFIDE/main/ide.cfm</url-pattern>
</servlet-mapping>
-->
Save the File and restart ColdFusion.
For both, make sure the RDSServlet definittion is enabled as well;
<servlet id="coldfusion_servlet_8789">
<servlet-name>RDSServlet</servlet-name>
<display-name>RDS Servlet</display-name>
<servlet-class>coldfusion.bootstrap.BootstrapServlet</servlet-class>
<init-param id="InitParam_103401311065856789">
<param-name>servlet.class</param-name>
<param-value>coldfusion.rds.RdsFrontEndServlet</param-value>
</init-param>
</servlet>
none