tracker issue : CF-3917793

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

Option Save class files causes CF to break applications if templates are modified.

| View in Tracker

Status/Resolution/Reason: Closed/Withdrawn/CannotReproduce

Reporter/Name(from Bugbase): Nando Breiter / Nando Breiter (Nando Breiter)

Created: 01/08/2015

Components: Administrator

Versions: 11.0

Failure Type:

Found In Build/Fixed In Build: CF11_Final /

Priority/Frequency: Major / All users will encounter

Locale/System: ALL / Linux

Vote Count: 1

Problem Description: When "Save class files" is enabled, updating templates can cause CF to throw a template not found error, breaking the [production] application, and leaving the developer no clue as to what the underlying cause is in the error mesaage. To my experience, it seems to be enabled by default on install, at least on CF11 (unless the Developer Edition is selected at install) . In addition, the text next to the checkbox gives the developer no clue at all what the consequences of enabling the feature actually are. In only says: 

"When you select this option, the class files generated by ColdFusion are saved to disk for reuse after the server restarts. Adobe recommends this for production systems. During development, Adobe recommends that you do not select this option."

The fact that class files are saved to disk does not equate to CF not being able to find templates. 

In my opinion, either this functionality should be improved so that it does not potentially break applications, or it should be removed. The risk that it will take a production application down for hours or perhaps days until a developer figures out why this occurred must be weighed against the slight performance increase when restarting CF that this option apparently provides.

And, unless and until the underlying functionality is fixed, this option should not be enabled by default if it has the potential to take down applications, and the message next to it should warn developers of the risk.

Steps to Reproduce:

Enable Save class files and modify templates until CF throws a template or component not found error. 

Expected Result:

I expect options for production systems to make CF more performant, stable or secure. Options that potentially take production applications down with no warning or apparent reason are neither expected nor welcome. As it stands, every time I need to make a minor change to a production server I have to remember to uncheck it, reboot the server, make my change, check it again, and perhaps reboot the server again. How does that improve the experience of my users? 

In the real world, production applications always require bug fixes and updates. It is therefore a very common use case, and we should expect CF to accommodate it without developers needing to know or follow obscure admin procedures to prevent their apps from failing for no apparent reason.

Any Workarounds:

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

Watson Bug ID:	3917793

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


  1. January 10, 2015 00:00:00: 1_settingsSummary.txt


The platform this was encountered on was CentOS 7. It wasn't in the dropdown so I selected Linux, but from what I've found online, it seems to happen on other platforms as well.
Comment by External U.
9031 | January 08, 2015 06:33:59 AM GMT
Hi Nando, I have been trying to repro this issue but unfortunately I am not experiencing this issue. Are you facing this issue with any CFM/CFC or is there any specific template/component ? Are you able to repro this issue consistently or is it intermittent? Share CF settings summary. Regards, Nimit
Comment by Nimit S.
9032 | January 09, 2015 10:52:53 AM GMT
Nimit, Here's some evidence that other users come across this: I have no idea where this poster found the suggestion to unselect the Save class files option and restart the server. There is no straightforward logical connection between the setting and templates not being found, so he must have come across it somewhere else. Our problem at the moment is that this occurred on a production server, so I can't easily re-enable this option and try and take the server down again. Once I found the thread linked above, and unchecked the Save class files option and restarted the server, the problem went away. I had been modifying files on this server for some time without this occurring, but once it began to occur, it affected both .cfm and .cfc templates. So it seems it was intermittent in the sense that it didn't happen immediately, in several weeks time the server was up and I was making changes, but then started consistently occurring. Once the production server was down, I changed very few files, to try and limit the damage that seemed to be occurring.
Comment by External U.
9033 | January 09, 2015 03:13:55 PM GMT
Nimit, Settings summary attached. Let me know if there is anything else I can do. Nando
Comment by External U.
9034 | January 09, 2015 03:17:17 PM GMT
+ ///////////////////////////////////////////////
Vote by External U.
9036 | January 09, 2015 10:48:17 PM GMT
We are unable to reproduce this issue. Hence, closing this bug.
Comment by Nimit S.
9035 | September 22, 2015 03:12:01 AM GMT
There seems to be new info to explain what had happened here, and why this was and is not a universal problem--and not the indictment to suggest "never use save class files" as some may infer from the above. In 2017, someone offered a plausible explanation for what had happened, as a comment on the forum thread that Nando had pointed to a couple years before here. I share this to help others who may find this. It shows that the save classes was not the CAUSE of the problem, just a unknowing participant in what was the real cause (a change of permissions on newly-saved class files, which itself seems to have been a bug--likely found and fixed long ago, as I have not heard of this problem in recent years): Hope that may help someone, or allow others to elaborate if they still somehow hit this.
Comment by Charlie A.
30411 | March 01, 2019 01:20:50 PM GMT