[Looking for Charlie's main web site?]

How to solve common problems with applying ColdFusion updates (in 10 and above)

Note: This blog post is from 2016. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
While ColdFusion 10 and later releases add a new automated update installation mechanism, what do you do if the update doesn't work? The answer may be simple on the surface, but not obvious to most. (And you'll likely be in panic mode.)

Many find after applying a ColdFusion update that either CF won't start at all, or they can't access the ColdFusion Admin, or some part of CF or their app doesn't work. The problem may be simply that there was an error in the update process CF did, and it may be rather easily confirmed and resolved.

In this post, I share several tips and observations to help resolve this, based on my years of providing remote CF troubleshooting support.

The TLDR version:
  • Check the ColdFusion update log--not logs in the normal CF "logs" folder, but the update's "install" log, and a specific table of successes and errors there. More detail below.
  • And if there ARE errors, try stopping CF (and its related services) yourself, and then try the update again. Again, more below.
  • Finally, if that still fails, then manually apply the update from the command line. I share more on that below also.

If that's enough to get you going, great--especially if you ARE in panic mode! (If the "problem" you need to solve, instead, is that you can't get CF to show you updates because you're behind a firewall preventing outbound internet access, I help with that also, toward the end.)

For most people, though, even those "simple things to do" can prove challenging (and understandably so). And you may find different resources on the web offering perhaps truncated discussions of the topics, which is why I elaborate on things in this post.

And even if you're in a panic, it may take only about 10 minutes to read this whole post. (You can also hire me to help instead, of course. See the links above or below.) Hope the info to follow is helpful for you.

[....Continue Reading....]

Comments
The training part where you explain whilst connected via remote desktop is an absolute winner!
# Posted By Ken | 10/6/16 1:41 AM
I didn't know about the update log, thanks Charlie.

It wasn't hard to search through the log file for the 1 warning that I had showing up: ag -i "Status: [^S]" hf-11-00012.log

Just look for a "Status:" message that doesn't start for "S" (as in SUCCESSFUL)

The Warning was trying to copy or move the entire cf root folder - I can't see why the installer would want to do this? Does the updater back up the entire cf directory as it updates?

Move Folder: Destination: /opt/coldfusion11/cfusion
Status: WARNING
Additional Notes: WARNING - There was a problem copying /opt/coldfusion11/cfusion
# Posted By Peter Williamson | 11/2/17 9:32 AM
Hi, Peter. No, the updater does not try to "back up the entire cf directory". :-) I suspect what you're seeing in that message is just an overly simplistic warning. The updater DOES indeed backup files, but only the individual ones that are to be updated.

But as I said in the blog post, the most common reason that it can't do THAT (or whatever it wants to do, especially modifying files) is that the CF instance (and processes or services related to CF) did not come down when the update told them to. (Or if you stopped CF yourself, and tried to apply the update manually, you did not bring down all the processes/services related to CF.)

So as I discuss in the post, you have 2 choices: try the automated update again, or try a manual update.

And if you are going to try the automated update process, I recommend you first restart CF (in case doing that would make it restart faster when the updater would do it), and then before trying the automated installer again, go ahead and stop the related CF processes/services yourself. Then the updater need not bother (but of course you can't stop CF itself, as the automated updater runs from the Admin!)

Or again, finally, you can just go ahead and stop CF and all the related processes/services, and do the CF installer manually, from the command line, as I discuss above.

For anyone reading what I'm writing here and feeling a bit lost, please reread the post above.

And Peter, if with that explanation (and your own rereading of the post) you are somehow still doubting what I say (that CF is NOT trying to "backup the entire cf directory"), please do write back.
# Posted By Charlie Arehart | 11/6/17 12:37 PM
First off, thank you Charlie for all of your great blogs! They are extremely helpful!

I have a question regarding manually installing the update. Would I use the java.exe file that is located within the Coldfusion directory, or would it be the java.exe file that is located within the JRE version that Coldfusion is currently running on? For example, if Coldfusion 11 is running on Java 8, should I be using that java.exe to execute the .jar file?

The reason I ask is because I tried to run the updater via CFADMIN, and it failed. Looking through the update logs, I see ALOT of the following error:

Jump To: Next Validate_CF_Directory -- Prev: NO JUMP
Status: ERROR
Additional Notes: ERROR - java.lang.StackOverflowError


I also got a few:

com.adobe.ia.customrule.DocRootValidate
Status: ERROR
Additional Notes: ERROR - Unexpected Fatal Error in Class: com.adobe.ia.customrule.DocRootValidate.install()

Thanks!
# Posted By Robert | 6/18/18 6:57 PM
Robert, first, thanks for the kind regards. Next, as for your challenge, well, you do indeed have choices.

As you may have noticed, I left the details of the discussion of running Java to that Adobe blog post I pointed to, and perhaps you saw that it has you point to the Java that is implemented inside of CF (in CF's JRE folder). (The blog post has an error where slashes are missing, but most should be able to see past that.)

One problem with their proposing you do that is that technically I would argue you should be using the same version of Java that CF is itself using. And as you note, you could have changed CF to use a DIFFERENT java version than the one in the CF JRE folder (as set in the CF Admin Java & JVM page, mirrored as the java.home in the jvm.config file).

So I would propose that you should point to THAT one (wherever it is) as the path for the java command. (And as their blog post notes, do be sure to run that command line "as admin" if on Windows.)

As for your errors, those are indeed odd. To be clear, I would expect if you ran the update from the CF Admin that CF WOULD itself be using the JVM that it points to (in the CF Admin "java & jvm" page).

So I would be curious if you would somehow NOT experience those same errors if you ran it yourself.

Definitely an odd one. Perhaps there's more to your errors than meets the eye. For instance, perhaps there are errors in the log that precede those you refer to, and they could point to some other problem. Or as I hint at above, if you were to restart CF and THEN try the update from the Admin, might that work without error? WOrth a shot before trying it from the cmd line.

Anyway, will love to hear how things sort out for you. And of course if you may prefer direct help, I can offer that. See the consulting page for my approach, rates, satisfaction guarantee, and more. Either way, I hope you'll update folks here on how things go.
# Posted By Charlie Arehart | 6/20/18 12:43 PM
Thank you Charlie.

The log file starts off with a bunch of "custom action" that are all successful. When it gets to "install action", that is where the errors start. Nothing very clear from the messages.

I tried installing from the CF Admin twice (CF11 Update 14). When the first attempt failed, I rebooted the server to start with a clean version, and it failed again. What is odd, is that I have Coldfusion installed on my E:/ drive, and Java on my C:/. I noticed that a new "Coldfusion11" folder was added to my C:/ drive when I ran the install, and that is where all the update information has been stored. I have never had this happen. The only change I have made recently was updating the Java to version 8. Perhaps something is wonky between CF and the fact that the Java is on another drive.

I will try the manual update next week and will get back on how that went.
# Posted By Robert | 6/20/18 12:59 PM
Well, until you get to try that, I have a couple of thoughts:

- So had you run the command line "as admin", as I mentioned? You don't confirm it (which is ok), but since you say that a cf11 folder was unexpectedly created on the C drive, I thought I'd ask. I've seen that happen in the past but never pursued when/why it had.

- Since that is referring to your running the update with the Java on C, what happens if you try it with the Java within CF (on your E drive)? Your first message referred only to the errors as being from when you ran the update via the CF Admin. I'll be curious to hear what happens if you try the update using the java within CF. I suppose that's what you'll be trying next week?

- If that does work, it could be interesting then if you may install Java onto your E drive (along with CF) and if you run the update again using THAT. (You could technically uninstall the update, but you don't need to. The second running of the update would just basically "do it again" with no harm for being a duplicate, at least in my experience.)

We'll see how things go for you. :-)
# Posted By Charlie Arehart | 6/20/18 2:22 PM
Thanks Charlie. Apologies if I was not clear. I have only tried to apply the update via the CF Admin. I have not yet tried doing it manually via command line. As I got errors the 2 times I tried, I decided to hold off before doing anything else. I cannot risk any downtime this week with something going wrong, so will try next week and will let you know. I appreciate all your suggestions/thoughts... ;)
# Posted By Robert | 6/20/18 2:41 PM
I am experiencing the same issue after applying ColdFusion 11 Update 15 were the ColdFusion 11 ODBC Server no longer starts. I'm running on Windows Server 2012 R2.
# Posted By Carlton Ramsey | 9/18/18 7:27 AM
Carlton, there are indeed some others reporting the same (on Windows Server), though I had no problem with the update (on Windows 10). Here's good news and better news. First, see the Adobe CF forum thread here, where the issue's discussed in detail:

https://forums.adobe...

And see the comments today and yesterday, where I identified some issues regarding certain file processing in the update.

If you look in your ColdFusion11\cfusion\db\slserver54\bin\, is there any file of the pattern msvcr*.dll? If not, then it's looking like a workaround (until Adobe perhaps issues a new update) may be to copy the file of that pattern from the update back folder ( \ColdFusion11\cfusion\hf-updates\hf-11-00015\backup\db\sqlserver54\bin) to that folder above. Then try to start the CF ODBC services.

Let me know if that works for you.
# Posted By charlie arehart | 9/19/18 8:19 AM
Charlie, it has been a while, but I wanted to update you on my issue.

Running the manual installer worked for me. These were the instructions that I received from Adobe.

Please stop the ColdFusion services.

1) Download the hotfix from: https://cfdownload.a...
2) Install JDK 7u80 or JDK 8u121 or higher. Change the JVM path in jvm.config file to point it to Java(For example: java.home= C:\Program Files\Java\jre1.8.0_121)
3) Copy the above hotfix to the java folder- C:\Program files\Java\jre1.8.0_121\bin
3) Launch the command prompt as Run as administrator & navigate to this location C:\Program files\Java\jre1.8.0_121\bin
4) Use command "java -jar hotfix_014.jar" & follow the on screen instructions. Restart the CF service and check.
# Posted By Robert | 9/25/18 1:31 PM
Hi, Robert. Yep, those are indeed the sort of steps one could/would follow to manually apply the update, as I discussed above in the comments and blog post.

Glad it got you going.
# Posted By Charlie Arehart | 9/25/18 5:08 PM
I had the issue of ODBC Server not wanting to start after running CF2016 hotfix 8 and thought I'd share what worked for me (btw, I followed the manual install advice here and the install log said everything was successful).

The windows application error stated "Faulting module path: MSVCR100.dll" so I searched the entire server and no file by that name existed. I found the file on a development machine (in Windows\system32) and copied it over to the windows system 32 folder on the other server, and … presto! CF ODBC Server started right up.

Hope this helps someone! I've received a lot of good advice from Charlie and the others here.
# Posted By Scott | 2/14/19 12:03 PM
Thanks, Scott. This is indeed a problem some are experiencing, and though the solution had been posted on various Adobe blog posts and discussion threads, I had not thought to add it as a comment here. I appreciate your doing it.

I would hope Adobe will fix it, and/or we find out what may be unique to cause some to experience it and not others.
# Posted By charlie arehart | 2/14/19 7:24 PM
Thanks Charlie for such a valuable resource for the CF community.

"Another gotcha to beware, when CF is started by the manual installer" covered my last two update issues.

The manual updater for my installation runs in a CMD window, and when it is done, it restarts CF as a process as the same user I launched the updater with. In my case, the administrator!

The CF add-on service starts up, but the CF Application service does not--and if I try, it complains.

As you pointed out--I just looked for the Coldfusion process in the task manager. I stopped the task. I then manually could restart the CF Application service.
# Posted By Frank Williams | 3/9/19 9:56 AM
Thanks, Frank. And yep, that's quite a doozy for the unsuspecting. So easy to read it as being "cf can't start", when indeed it has. :-( I can only hope that folks might see my post before reinstalling CF in panic.

And I hope someday Adobe can fix that.
# Posted By Charlie Arehart | 3/9/19 12:00 PM
Back to Scott's comment about the issue with CF's ODBC services (after recent CF updates), I will add that a few days later I posted a new blog post addressing that, on the CF portal:

https://coldfusion.a...
# Posted By charlie arehart | 3/29/19 1:54 PM
I should add here that last month I created a related post on the Adobe CF portal, which focuses on the key point here of looking in the CF update log, when you have trouble after applying CF updates:

https://coldfusion.a...

Hope it may help readers, here as well as there.
# Posted By charlie arehart | 4/17/19 6:29 PM
Hi Charlie -- I'd be grateful if you might want to comment on this?

https://stackoverflo...

Here or on SO, I'll take whatever I can get! :) Thanks.
# Posted By Sung | 8/5/19 8:40 PM
Sung, have you seen my reply there?
# Posted By Charlie Arehart | 8/7/19 1:26 PM
Is it safe to remove the contents of the hf-updates folder, if all hotfixes/updates have been applied successfully? On CF2016 this folder has grown to over 3GB in size, and it would be nice to reclaim that space. I hate it when software companies and devs have zero respect for our finite and sometimes expensive resources... real pet peeve. If CF could just keep track of what updates we've applied and then give the option to remove the update resources, that would be a real nice-to-have.
# Posted By Franc Amour | 12/18/19 1:11 PM
Well, no. I would not think it "safe" (or wise) to remove the folder entirely. But I can offer thoughts on how to decide what WITHIN the folder may be safe to remove/move (on a per-completed-update basis), and when.

While I appreciate your concern that it seems disrespectful for them to just let them pile up there and "not remove them for you", I can see why they'd think that risky to do for you. The files in there are useful for a variety of things, and even the update folder for "a couple of updates ago" may prove valuable, as I will elaborate.

And I realize you're saying that "all updates have been applied successfully", but even so I'll share a few reasons why that may not be as clear as it seems.

First, I have helped many people who found out days or weeks after applying an update that there WAS in fact an error in the update. They didn't know, because CF came up, and they could run their app and the CF Admin, but down the road something showed up as failing, and we traced it to an error in the update. If they had simply deleted the whole hf-updates (or even that for a past "successful update"), we could not have looked at the log (the install log in the folder for each update) to know that this a missed failure in the update was the real problem.

Second, as you may know there was a recent problem in the Sept updates where the update proved over time to have problems. It wasn't immediately obvious, as it affected only certain situations. If one had deleted the update folder for the previous "successful" update/s, they would not have been able to do the uninstall back to that. (The uninstall uses that.)

So that at least argues for keeping the LAST update folder in place.

If you have more than one past update, and you decide after some period of time (I'd think months) that updates prior to that are no longer needed, you could delete those folders. (Or again perhaps better, move them to some archive location. You could move them back in if you needed to do an uninstall.)

As for the .jar file for each update, it's used to run that update (which one may choose to do after an uninstall), and it grows and grows with each update, as they are cumulative. But that can be downloaded from Adobe, so it's perhaps the safest thing of all to "remove". (The updates.xml file gets updates also when an update is downloaded.)

There is also a .properties file for each update applied, but it's tiny.

Still, if you wanted to, you could consider all three for each update as a group: the update folder, the .jar file, and .properties file. And once you really no longer "need" it, you could remove them as a group (or I'd argue, move them, to be safe).

(One might propose that you could compress those 3 as a group, but I found that the space savings on compression was only about a 20% reduction. This was the same if compressing just the update folder, and/or also the .jar file.)

So there you have it: again I'd say don't remove the entire hf-updates folder (as you proposed), but you could consider carefully which of the other items within it can be removed, and I'd recommend you do it as a group (per update).

And all that said, I could see value in Adobe at least adding an interface offering folks the ability to delete or move the group of related files/folders for a given update beyond the last one. You could make a feature request for that at tracker.adobe.com, pointing to your comment here, so interested folks can see the subsequent discussion. The link to your comment is https://www.carehart... (I added this paragraph as an update to my comment just after initially posting it, as I forgot I had meant to mention it.)

I'd look forward to your thoughts, or those of anyone else. This would make a good blog post, which I hope to turn this into.
# Posted By charlie arehart | 12/18/19 1:52 PM
Yes, I specifically meant (and wrote) that I was interested in removal of the contents of the folder. Relocation would be included in that, instead of outright deletion, if desired.

From what you wrote, it sounds like those files/directories can be safely deleted or relocated without breaking anything currently running in production (including reboot survival), with the recommendation being to relocate those contents in the event that a rollback is required.
# Posted By Franc Amour | 12/20/19 8:50 AM
OK. You said "remove", and I went with it. I sometimes reading between the lines of what's said (or not said), and answer based on my past experience helping people with such challenges. I thought the additional elaboration may benefit some readers, but I realize some prefer brevity.

Indeed, if you had asked originally whether removing the contents would affect currently running production/restarts, I would have said no (though to be clear I would have still offered the rest also, for the sake of others).

So to your bottom line conclusion, I do concur.
# Posted By charlie arehart | 12/20/19 2:30 PM
Just wanted to clarify (further, probably beating a dead horse, lol) that "remove contents" was my intention, not to remove the folder itself which i would never propose as it's obviously a part of how CF server itself does things. And by "remove", I had "delete or migrate elsewhere", which wasn't as clear.

And by all means, the full exploration you ventured is as much appreciated as the "short version" as I know it will help others!! =)

Thanks for your ongoing attention to detail and accuracy and for your continued contributions to the CF community. It feels like an ever-shrinking island out here sometimes.
# Posted By Franc Amour | 12/20/19 2:35 PM
Understood on the clarification, and thanks for the kind regards. It's sincerely appreciated (because quite often people do "take" without expressing any gratitude).

As for the CF community seeming a shrinking island, I realize it can feel that way--especially listening to what some say.

FWIW, there are many different places where you will find vibrant CF communities, from the CFML Slack group, to the Facebook CF Programmers group, to the CF Portal (coldfusion.adobe.com), to the CF forums (community.adobe.com), to of course the community surrounding Ortus products (which I realize has a mix of CF and Lucee folks), to name just a few. More at my category of such help resources, http://www.cf411.com...

To stretch the analogy, while some may well get the sense from their perspective that CF is an island, I'd say it's more like an archipelago (a group of islands), like Hawaii or the Florida Keys, each with a different vibe. Definitely bigger and more varied than a visit to any one island would suggest. :-)

But I will say that we're getting off-topic (my doing here), and also such discussion can bring out the vigor in some who would be otherwise silent. :-) So let's leave it at that, and wish everyone happy holidays.
# Posted By charlie arehart | 12/20/19 3:00 PM
Copyright ©2020 Charlie Arehart
Carehart Logo
BlogCFC was created by Raymond Camden. This blog is running version 5.005.
(Want to validate the html in this page?)

Managed Hosting Services provided by
Managed Dedicated Hosting