Are you finding problems after applying a CF update? The explanation may be someplace you’re not even looking: the update’s “install log”. And the resolution may be just minutes away!
Originally published: Mar 6, 2019; updated Aug 1, 2021
I hear this often: you just applied (or tried to apply) a CF update, and now there’s a problem. Perhaps CF won’t even start, or the admin is failing somehow. “The update is broken!”, you may think, or “CF has a bug in that update!” you may say as you go to open a bug report. You may even be thinking you need to re-install CF. Wait!
There’s a far more common explanation and a possible simple solution:
- There may have simply been an error during your execution of the update, and you may not even realize it!
- And here’s good news: there is an “install” log for the update, which will tell you if there were indeed errors. It’s just not obvious where to look.
- Better still, there’s an easy way to resolve the problem–and, no, you don’t need to reinstall CF. You may not even need to “uninstall” the broken update, you may just need to apply the update again, taking a couple of precautionary steps, perhaps installing it from the command line if necessary. I’ll show you how.
While most problems related to update failures would present themselves pretty quickly (as in issues in the Admin or issues with CF starting), there is the possibility that some problems may present in how your code or some feature is “suddenly failing”. Of course, some problems of that sort are in fact related to something in the update (or any updates you may have skipped) that really DID change how CF works–whether intentionally or unintentionally.
To be clear, I am not referring here to THOSE kind of problems. My focus here is SOLELY on problems and solutions that are related SPECIFICALLY to applying CF updates themselves. As such, my post here would apply to ANY CF update, and indeed to all releases back to CF10, when the automated update process was introduced.
And someone may want to chime in with how “this wouldn’t be an issue if you just used Commandbox” or the CF Docker images from Ortus or Adobe, because with those you “just point to a CF implementation that IS already updated to a given version”. But the fact is that there are reasons people may not use those and do install CF “normally” and do therefore need to update it.
Background
I help people with this problem pretty much daily, whether on CF help forums, in social media, or in my troubleshooting consulting. After writing at various levels of detail in reply to folks each time, I thought I’d offer it here.
And this is an abbreviated version of a post I did on my site some years ago, which I’d long pointed to. More on that below.
What may easily confuse you
There are a couple of reasons why people may not notice that the update even had an error, leading them to presume that some problem “must be a bug” in CF or the update.
For one thing, the update mechanism may seem to work, so you could presume all’s well initially. Or you may miss an indication in the installer pop up that there was a error. Or you may find that pop-up never reports that the update finished, so you refresh the admin page and login and may move on.
Worse, when the update does finish–and assuming you CAN get to the CF Admin–the page about the “installed updates” points people to the hotffix_filelist.log
, file which isn’t the “install” log, and doesn’t tell you if there WAS a problem! (Adobe, could you please change that on the “installed updates” page?)
Finding the update install log, and the count of errors
So what you REALLY want to look for is the “install log” for the update. After the update is finished–whether it worked or not–do the following 5 easy steps:
- Go to CF’s “hf-updates” folder
- For most people, that would be in CF’s
cfusion/hf-updates
folder - If you have CF Enterprise or Developer edition and are using multiple instances, and you applied the update to a particular instance, you may need to look in CF’s
[instancename]/hf-updates
folder instead. Otherwise, if you applied the update at the cfusion level and to all the instances, again see the cfusion/hf-updates folder.
- For most people, that would be in CF’s
- Then go into the specific folder for the update you just applied
- For instance, in CF2018 update 3, that would be a folder named
hf-2018-00003-314033
- For instance, in CF2018 update 3, that would be a folder named
- In that folder, look for the “install log” file
- This will be a file with the date and time that you ran the update, such as
Adobe_ColdFusion_2018_Update_3_Install_03_03_2019_18_57_42.log
- And note that you may have more than one install log, for each time if you installed or uninstalled the update. In that case, be sure to look at the one whose date and time is the most recent
- This will be a file with the date and time that you ran the update, such as
- Open that log file in a text editor
- Now, look to see if there were errors.
- But do not go to the bottom of the log. Just page down once or twice
- Look for the table reporting “successes” and “errors”. Here’s an example:
Summary
-------Installation: Successful.
3120 Successes
0 Warnings
0 NonFatalErrors
0 FatalErrors
And of course you want to see all successes, without any errors (of either type, nor warnings, really). What if there are errors? See the next section.
And I would note that whether the update “seems to work” or not, you should always just make it a practice to look at the install log to confirm there were no errors.
What if there ARE errors? How to recover
So, what if there ARE some fatal or nonfatal errors reported? Well, there is much more I could say about that, and I have indeed written more elsewhere, discussed below.
I will say briefly here that in nearly all cases, the problem causing errors in the install log is simply that something was running (related to CF) which kept the update from being able to update or delete files it wanted to process.
Now you have two choices, as I outline below.
Note: If you are running CF as a Windows service and may find in Services that the CF service is running as a user other than “local system”, you should skip to the second suggestion below. The problem is that the user doesn’t have permission to stop the service–and when you run the update, it actually starts a java process that tries to do the update by first stopping the CF services, and it cannot. As such, there’s no reason to try re-running the update.
First, try re-running the update in the Admin
Assuming you can get to the CF Admin, you could try simply running the update again (you may not even need to run its available uninstaller).
Before proceeding you may want to:
- Stop CF’s related services, if any (add-on, .net, odbc. On Windows see them listed next to the CF service itself in Services panel. On Linux, use the equivalent way you’d manage services/processes. )
- Then you may want to restart CF once, for good measure (and just kill the coldfusion process if the service won’t stop)
- Stop your web server also (for good measure, as it could lock files in CF. If you access the CF admin using that web server, as is available in cf10 and 11 but not 2016 and above by default, skip this step)
- Then try to run the update installer again
- Check CF, your web app, and the update install log
If that works, great! It has for many.
Second, try running the update from the command line
But if you still see the errors (in CF or in the update install log), then you may need to move on to the next approach:
- Stop CF AND its related services
- Stop your web server
- Then try running the update installer manually from the command line (running it as admin if on Windows)
- Check CF, your web app, and the update install log
As for HOW to do such a manual update, the release notes for each CF update to offer some basic info for doing it, but I share much more on the process (including solving problems with that manual update) in my other blog post, discussed below.
This post here was really more about finding out IF indeed your update DID have any errors, since so many just never even notice or don’t know where to look in the first place, and how it may be that simply stopping related services and restarting CF once may well allow you to proceed.
Want to learn still more about dealing with update problems?
Again, I did a more elaborated blog post with still more detail, focused on solving common problems with applying CF updates. And though it’s from 2014, it applies whether you are CF10, 11, 2016, 2018–or beyond, if you may be reading this in the future!
How to solve common problems with applying ColdFusion updates (in 10 and above)
And on a related matter, in case you may also try updating the JVM that CF uses (whether along with an update or separately), I have another elaborated post on solving common problems that can happen with that:
CF911: ‘Help! I’ve updated the JVM which ColdFusion uses, and now it won’t start!’
Bottom line: problems with updating CF and the JVM can seem/be disastrous if you don’t know what’s going on or how to quickly recover. These resources should help you if it happens to you!
But at least with this post you now know where to look to see if your update did indeed have errors or not. If it did, then you need to deal with those before trying to understand why some feature in CF seems to have “suddenly stopped working” after an update.
And if you may think you DO have a problem that is specific to a given update, you can ask about that in any of various online CF help resources (CF forums, slack, Facebook groups, and more), as I list at https://cf411.com/cfhelp. (Or I can help you directly, like I help others daily with all sort of CF challenges.)
For more blog content from Charlie Arehart, see his posts here as well as his posts at carehart.org. And follow him on Twitter and other social media as carehart.
Hello Charlie, I hope you are doing great.
I got to this post because the company I work for, the IT person ran Update 11 for ColdFusion 2018, it failed and now we can’t even go to the admin page (although services are running).
You mentioned something here about having to run the update from the command line but can’t find how to do it. Could you help me please?
I appreciate it very much.
Hi,
Just one more guy having one more problem… sorry to bother..
I went to the update, and for some odd reason, it would not update. that is, the buttons on the update page would not work. you could click them, but they acted as if disabled. So i downloaded the latest update, and did a manual update. in a way hoping things would fix themselves. this seemed to go fine. the log issues no errors and the server came up.
2016 Successes
0 Warnings
0 NonFatalErrors
0 FatalErrors
However, now when you go to the admin update page, its blank… it says “Server Update > Updates ”
and the rest of the page is blank
Looking at the XML for the page, and the update was not written to it…
how do i get this back so that i can update things automatically, or at least know i need an update?
eventually this will be moot as i uninstall and reinstall 2018 express…
thanks
Rumments, I have a guess at the cause of your problem, and the good news is that there are a couple of solutions to an unfortunate situation.
I suspect the issue is that you or someone else changed your cf admin “settings” page value for the “default scriptsrc directory”.
To prove if this is the problem, take note of the current value, and change it back to the default, which is /cf_scripts/scripts, as of cf2016. Does the cf update page work then? If so, use it to do your update, then you could set the value back to what you copied and move on. (See below for a better long-term solution.)
The admin setting you just changed is a “security” feature that allows one to specify a “non-standard” name that will ALLOW you to then change your external web server (iis or apache) to use that name as a virtual directory or alias. The thinking is that then bad guys can’t easily know your chosen name, and try to leverage those scripts for ill. It’s security by obscurity, which is weak security.
Anyway, the problem is that that admin change does NOT also change CF’s *built-in* web server (which is what the cf admin uses by default since cf2016) to have IT use that changed path, and so cf code used in creating the cf admin pages like that cf update page (which leverages javascript for the tabs shown) now fail to load properly.
FWIW, other have opened bug reports on this, and sadly Adobe has closed them offering not the solution but workarounds for how WE can MANUALLY change the built-in/tomcat web server to use the changed scriptsrc ourselves We should not have to.
Anyway, comments in the bug reports address the workarounds either for the version of tomcat in cf11 or 10 (https://tracker.adobe.com/#/view/CF-3955573) or for cf2016 and up (https://tracker.adobe.com/#/view/CF-4203348) .
But if you can’t or don’t want to do that change, again I proposed you could just change the admin value back to its default, do the update, and then set it back to the value you found it set to.
Let us know if this solves things for you.
Well, there is no someone but me here… (this is my development server at home)
and so, its still “/cf_scripts/scripts/”
So we will have to now assume that this is not it..
However I am very impressed with the speed you answered.
I tend to keep most if not all settings quite the same in my at home system
It Doesn’t have access to the outside world (for that i migrate my app to a hosting server)
This issue is small but annoying like a gnat…
Ok, my next guess would be that if you really mean the page is “blank”, that instead you may be having an outofmemory metaspace error. For more how to KNOW and how to fix it, see my post at https://www.carehart.org/blog/client/index.cfm/2020/2/24/solving_metaspace_errors.
BTW, it has nothing to do with what’s happening on that page, nor even with the recent update you did. It just would randomly affect some pages. But the solution will work for all pages.
Let us know if that’s it, or not.
Sure, Jim. Again, the title was what to check first. 🙂 I find too many people run to slack or the portal or the bug tracker to claim “bug, bug” when it turns out it was indeed just an error in the applying of the update.
But I could have added a PS saying, “what if you have problems but no errors in log?”
I will consider that, but since editing a post takes it offline until moderated (vs just leaving the old version in place–grr), I’d not do that for at least a couple of days.
Until then, these comments can help people. Thx.
You must be logged in to post a comment.