[Looking for Charlie's main web site? or all posts?]

Solving a new problem as of CF2023 update 25 that can cause CF to not start

If you've suffered the problem of CF not starting since CF2023 update 25--because you're on Windows and have implemented FusionReactor or another monitor, in this post I offer first an explanation of the root cause problem (a bug, which Adobe will need to fix) and then an unobvious but effective workaround that will allow CF to run with FusionReactor (or another monitor), when otherwise CF would not start.

Background

I had blogged here last week about the new CF2023 update 25 that came out (an update only for CF2023, not CF2025). Since then, there have been a couple of issues that I have been tracking in the "updates" section of my post.

But this one in particular has been significant for some, where CF won't start. Again it's only if you have CF set to use FusionReactor (or any other monitor that relies on a certain java "instrument" library). It also ONLY happens on Windows (not Linux nor in containers/docker images--which complicated a bit my finding this root cause/bug and resolution).

Before explaining and solving the problem, note that if you run CF as a Windows service, when it fails to start (for this or similar reasons), there is nothing in the CF logs to explain it--nor in the Windows Event logs, despite what the error in the service startup pop warning says.

Instead, to see what's really happening, you can go to the Windows Command prompt, and run the cfstart.bat found within your CF installation folder, such as:

\ColdFusion2023\cfusion\bin\cfstart

If you have this problem, you should see it provide this error:

Error occurred during initialization of VM
Could not find agent library instrument on the library path, with error: Can't find dependent libraries
Module java.instrument may be missing from runtime image.

And FWIW, this problem HAS happened for some people even with CF2025...though it's not happened consistently, like this change in CF2023 update 25.

And back then or since last week some people have proposed various workarounds, which I found less than satisfactory because of factors that I will explain shortly.

The root cause bug: new truncation of a path cf sets

First, let me share what I have discovered to be the root cause (and a new CF bug, I would assert).

As of this CF2023 update 25, at least--and on Windows--CF can easily end up TRUNCATING a path environment variable which it sets internally.

The behavior of cf manipulating the path it sets for itself is not new, though few likely have ever noticed it. I'll show you here how cf (even before the update) appends some CF folders to whatever is set (at CF startup) as the Windows system "path". What's new is the possible truncation.

You can see this modified path for yourself (in a running CF instance) by outputting the CF variable:

server.system.environment.path

The issue is that if the windows path value is already long, then the new problem is that it gets truncated. Let me demonstrate (and you can do the same).

BEFORE Update 25

For example on one machine I had, the value of that server.system.environment.path for CF2023 update 24 was:
C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\CommandBox\;C:\Program Files (x86)\Microsoft SQL Server\170\Tools\Binn\;C:\Program Files\Microsoft SQL Server\170\Tools\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\180\Tools\Binn\;C:\Program Files\Microsoft SQL Server\170\DTS\Binn\;C:\Program Files\dotnet\;D:\Program Files\Git\cmd;D:\BoxLang\bin;C:\Program Files\Docker\Docker\resources\bin;C:\Program Files\GitHub CLI\;C:\Windows\system32\config\systemprofile\AppData\Local\Microsoft\WindowsApps;d:\ColdFusion2023\cfusion\lib;d:\ColdFusion2023\cfusion\jintegra\bin;d:\ColdFusion2023\cfusion\jintegra\bin\international;D:\ColdFusion2023\jdk-17.0.20\bin

Don't focus on the first dozen or more values. They are simply what I have in my Windows system path (due to various software I've installed).

Note instead the last few folder names:

d:\ColdFusion2023\cfusion\lib;d:\ColdFusion2023\cfusion\jintegra\bin;d:\ColdFusion2023\cfusion\jintegra\bin\international;D:\ColdFusion2023\jdk-17.0.20\bin

These are folders which CF has appended internally, for cf's use only, to be clear. They were not on the original path.

And notice especially that last folder, D:\ColdFusion2023\jdk-17.0.20\bin. That D:\ColdFusion2023\jdk-17.0.20 is the java home as set in my CF admin/jvm.config file. Yours may well be the coldfusion2023/jre folder. Either way, what matters is to notice CF had added a \bin to that, and stuck that folder there at the end of the path it's created, in addition to those other few it also added before it, for its internal use. Again, CF has been doing this for some time.

AFTER update 25

But HERE INSTEAD is the value of that server.system.environment.path if I dump it AFTER UPDATE 25:
Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\CommandBox\;C:\Program Files (x86)\Microsoft SQL Server\170\Tools\Binn\;C:\Program Files\Microsoft SQL Server\170\Tools\Bi

Notice how at the end it's clearly TRUNCATED! And the number of characters here is 254. So somehow, something in CF is newly truncating this modified path (that it's creating internally) at 255 chars, which can be exceeded easily if the Windows path that it starts out with has more than several folders already.

Most important, note that now-truncated path does NOT end with a pointer to that bin folder within the CF java home value. And THAT is why FR (or other java monitors looking for that instrument library) fail, because that's found in a file called instrument.dll which is located in that bin folder. How unfortunate, this new truncation, and SO tricky a challenge to have discerned!

Finally, one MORE subtlety about this appending is that I determined that CF appends its additional folders ONLY if the incoming path it finds is non-empty (and not null). Those two facts were complicating my attempts at various solutions and on different machines.

So, that's the background and root cause. How can we FIX this (to be able to run FR or things like it with CF2023 u25, until Adobe fixes the truncation problem)?

Workarounds that I DON'T recommend

I'll note first that some people (and now even Adobe, as an update since my original post) have proposed things like changing their Windows system path to hard-code prefixing of the path to name that bin folder for the CF java home (because they found that did "work").

That's not only not necessary (as I will show) but it can have unexpected ramifications. First, if you put the Java folder that CF uses on the front of the system-wide path this way, but then have some other program that relies on finding a DIFFERENT java version later in the path, that other app will now fail.

Also, if you later change the java version that you have set as CF's java home, then you would need to remember to change this...otherwise CF will now fail after you that Cf Java home location, though it will be a different error:

The procedure entry point jvm_isthreadalive could not be located in the dynamic link library

I'm documenting this error now, as Java is due to be updated again on Oct 20. So folks following that advice (to tweak the system path to first name the Java folder instead) could face this new problem, where "cf won't start"--but for this other reason, in days and weeks to come.

Finally another suggestion some others have made (to solve this instrument library problem) entails changing the user running CF (thus getting a different "path"), but doing that can have other undesirable ramifications if you're not careful (especially about security, permissions, etc.)

The workaround I recommend, for now

Again, until Adobe may resolve this seeming bug, here is what I propose folks can do, which seems safer than those above, and is pretty simple--though it will take some explaining, to benefit those who may not be too familiar with a couple of things.

To be clear, I am NOT proposing that you touch the Windows system path.

Instead, I offer two approaches to modify the path that is a) ONLY for CF and is b) something that will work regardless of subsequent changes you may make to the CF java home value. And I offer here both how to do it if you are starting CF at the command prompt (such as for testing) and if you are starting CF as a Windows service.

In either case, I'll propose you set the path that CF (alone) uses, to be some simple string. (It can't be the full path, because of the truncation problem. And it can't be null, because I explained above how CF doesn't even do the appending needed--to name that java home bin folder--if it finds the incoming path to be null/empty.)

Instead, it can literally be any string, like just xx (yes, literally that string, as I'll explain why). Ugly, yes, but it's a short-term hack we're implementing here.

Workaround a: if starting CF at the command line

While you may run CF as a service normally (which I cover below), you may only run CF from the command line--or perhaps you've been doing that as part of some other workaround to this problem. Here's mine. (Powershell folks should find all that I say to be easily translated if using that.)

So if you are starting CF from the command line, you could use:

path=xx
Again, yes, I'm literally suggesting that (for the sake of solving this problem only) you set the path (here at the command prompt) to this, alone. And then start CF from the command line, such as with the cfusion/bin/cfstart.bat. CF should start (like it would have before you took out the FR javaagent).

Now put the FR javaagent value back in place, and try starting CF again. This is they key test: does cf now come up?

Note that to stop CF (when you've started it this way at the command line), you could technically just close the command prompt window or logoff, but to keep the terminal window open just use ctrl-c (while your cursor focus is in that command prompt). In a moment (perhaps a few) you should see messages appear indicating that CF is shutting down. (If not, hit ctrl-c again a time or two.) Then you should see it ask finally if you want to terminate the batch file (cfstart.bat). Choose "y" for yes.

Let me know if somehow you find that CF does NOT start even after this change. (There are little mistakes one can make. I can't anticipate all of them here.)

Workaround b: when running CF as a service

But what if you're running CF as a service? Setting the path at the command prompt won't help--and again I am NOT recommending we change the system path--but I suspect people resorted to that as seemingly their only option. It's not.

Instead, it's possible to set the path value FOR THE CF SERVICE itself. You've likely never needed to do it, but it's a simple registry tweak--a single new entry defined for the registry key which holds the CF service definition, which by default would be found within:

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ColdFusion 2023 Application Server

Anyone familiar with regedit can find that (or you can find help online, or one can even use the command line "reg" tool to automate this). Note that we can define the "path" for that service (which can be a cool trick for other needs). We do that by defining it as an "Environment" variable for the service (again, not something one normally needs to fiddle with).

But it's really simple. We'd just want to create (for that service defintion) a new "multi-string value" (aka a "reg_multi_sz" value), with the name:

Environment

and the value:

path=xx

I know that looks weird, but trust me on this (I explained above why I'm using xx and not empty string/null). I show how to use the Windows "reg" command to automate this, in a moment.

(As an aside, while using the regedit UI to add this, note that if you don't put an empty line after that value, you'll get a pop up "warning" saying "Data of type REG_MULTI_SZ cannot contain empty strings. Registry editor will remove all empty strings found." Just click ok on that, and it will add an empty line to the value (which doesn't make sense for the warning message, but oh well.)

And that's it.

Now try to start the CF2023 service, even with the javaagent for FR (or any other affected monitor) in place. It's worked for me on multiple machines.

Of course, fiddling with the registry is risky. I'm going to assume readers here are comfortable with that. We're just adding one key, after all.

Reg command variant for that workaround b, tweaking the service definition in the registry

With that context above, I now offer the "reg" command approach for adding this reg name/value pair, for those who may prefer to automate that. You would run at an elevanted/admin command prompt.

Of course, this presumes your CF Windows service has this default service name, as I show affecting here:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ColdFusion 2023 Application Server" /v Environment /t REG_MULTI_SZ /d path=xx

I should add also that if you may have created additional "instances" in your CF2023 (which is a feature supported by CF Enterprise and Developer editions, but not Standard edition), then you would need to apply this reg tweak to the service definition for each instance (which would be sibling keys/sections under that HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ location, where all Windows services are defined.)

Finally, the reg command to REMOVE this reg key (which we're adding solely as a temporary workaround, until Adobe fixes the real root cause problem) is this (again, run at an elevated command prompt):

reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ColdFusion 2023 Application Server" /v Environment

And remember to repeat that for multiple CF2023 services if you created that new Environment key in more than one.

I'll leave powershell users to implement their required variant using this as a guide.

Hope this works: let me know if it does not

I was thrilled to finally find the root cause for this problem, and to be able to offer what seems a "simple" and safe workaround. I'd been working on it off and on (between client engagements, and even in evenings) for a few days. So glad to have first the clear ROOT CAUSE problem, and then to offer some workarounds.

Let me know if it works for you.

And of course if somehow this doesn't work, either add comments below or if necessary reach out to me for support via the contact info at carehart.org/consulting. We should be able to resolve any issue in less than 15 minutes (my minimum billable time). But I won't track the time as billable if we discern something wrong with what I have proposed here. I'm just trying to help everyone.

I will now go report this to Adobe (well, I will add a pointer back to this post on a tracker ticket someone opened today.)

Updates (since the original post)

I was exhausted after spending nearly all day the day of this post competing the research, testing, and documenting of this here. But with the light of day I've thought of some things to bolster the post. And as anyone may share feedback I will update it. If you may want to keep track of updates:

  • Sep 30: I can confirm that this problem does NOT happen when running a CommandBox implementation of CF2023 update 25, even on Windows. While the CF within that does also append something to the internal path the bin folder under what it deems to be the JVM used for the instance.

    But more interesting is that I confirmed that (on the same machine that had the long path discussed in the post above) CommandBox does NOT truncate the path it then set (which is indeed the entire detected Windows path plus that one jre bin folder). So again it's somehow unique to CF itself--though note that I'd shared above how it happens only on Windows.

    I have some other install variations I want to explore, as there may be still other situations where this error "does not occur even with CF2025 update 25 on Windows". I have confirmed it happens with either the full or zip install options for CF (on Windows).

  • Sep 30: I went ahead and added the reg command needed for automating the workaround involving addition of the new key/value pair to the Windows service definition for CF2023. I show both adding and removing it, for when Adobe (we hope) resolves the root cause bug.

  • Oct 6: Agh! Matt G kindly brought to my attention in a comment below a mistake I made in my offered "reg" lines (to add or remove the path set for use with the CF Windows service). He noticed I had a VERY unfortunate typo of "Envrionment" for "Environment". Yikes!

    Given that no one else raised it, I hope that just means no one else had used that reg approach (in which case the tweak wouldn't do what it was supposed to). To be clear, I really HAD tested it...so I don't know when or how that mistake got in there! But thanks, Matt. Now corrected.


For more content like this from Charlie Arehart: Need more help with problems?
  • If you may prefer direct help, rather than digging around here/elsewhere or via comments, he can help via his online consulting services
  • See that page for more on how he can help a) over the web, safely and securely, b) usually very quickly, c) teaching you along the way, and d) with satisfaction guaranteed
Comments
Hi Charlie, thanks for this post. Your short-PATH workaround does fix the initial Java instrumentation startup error on my server.

I’m running ColdFusion 2023 Enterprise on Windows Server 2022, using an AWS Marketplace AMI supplied by Coalesce Solutions, with Oracle Java 17.0.14 and FusionReactor 2026.1.3.

Unfortunately, after getting past the JVM startup failure, Update 25 still fails to initialize ColdFusion’s license service. The first error is:

```text
Unable to install License package:
java.lang.NoClassDefFoundError: com/adobe/asneu/AsnException
```

The crypto and security services then fail because `LicenseService` is null, and the ColdFusion Administrator returns HTTP 500. This happens both through the Windows service and when starting directly with `cfstart.bat` in PowerShell using the short PATH.

Update 24 works correctly, and rolling back Update 25 restores normal operation. The update installer reported success, but reinstalling U25 reproduces the failure.

We searched the installed JARs and found `AsnException.class` inside:

```text
C:\ColdFusion2023\bundles\repo\flex-messaging-data-req-4.0.jar
```

So the class exists on disk, although it apparently isn’t accessible during license-service initialization. The installer log also mentions operations involving both `cfusion-req.jar` and `cfusion-req-cloud.jar`.

Given the Marketplace origin of this installation, I wonder whether this second failure could involve the cloud-specific licensing implementation or class loading in the Coalesce AMI. That’s still a hypothesis.

Have you seen this additional failure on AWS Marketplace installations, particularly those supplied by Coalesce Solutions?
# Posted By Salvatore | 9/30/26 5:17 AM
Salvatore, glad to hear that the fix got you past your first hump. As for your second, I've not heard of others experiencing it, but it may well be unique to using that Adobe CF AMI. I've heard over the years of some situations unique to them. First, has neither coalesce nor Adobe helped?

That said, your issue may instead be caused by any of a couple problems that are generic and not about the AMI.

One can be about an error during the first startup of cf after the update, when cf updates the packages. Have you confirmed there were none, in the coldfusion-out.log, on that first startup after the update?

Next, have you also tried stopping cf and clearing the felix-cache? It doesn't matter that the update says it does that BEFORE the update starts. This is about doing it AFTER those package updates during the subsequent cf startup. CF doesn't do that.

(I'd discussed those two practices above in previous blog posts about the cf updates. I stopped including that as it is now about a dozen updates per year and it was wordy redundancy. I've been meaning to pull them out into a separate post, to at least then point to that in each subsequent update post.)

Finally, still another possibility stems from a possible choice made on your end: how did you do the cf update? If by the "manual offline update", involving downloading the packages zip, it's easy to get that wrong by taking a shortcut and just extracting that zip to cf's bundles folder. Do not do that. Again, I've been meaning to do a post on that, as I hear occasionally from people who've made that mistake.

As always if you'd rather try to get to resolution more expeditiously (perhaps just minutes) rather than via back and forth here, note that I offer remote screenshare consulting. My minimum billable interval is only 15 mins, and I solve most problems in less than an hour. Regardless, you won't pay for time you don't find valuable.

For more on my rates, approach, satisfaction guarantee, online calendar, email, phone, and more, see the consulting page at carehart.org.

Either way, let us know your thoughts in response to the above, as other readers may share your interest.
Hey Charlie,

I ended up installing CFU25 the day it came out, and ran into this -- and implemented the temporary solution of adding the path to the windows environment vars PATH var and it worked. I also had to do a quick workaround in our powershell scripts that are executed via CF, because the full path was not available to them either.

I hate editing the registry, especially on servers, if I don't have to. And certainly not for something that is ultimately (IMNSHO) a bug that should be fixed ASAP. So... do you think Adobe will treat this as the bug it is, and issue a patch or update for it, so that we can revert our temporary workarounds eventually?
# Posted By Franc Amour | 9/30/26 10:35 AM
Glad to hear that it helped, Franc. I'll say again (as i do in the post) that this is indeed a trivial reg tweak, also easily removed once Adobe fixes it.

But as for whether they WILL treat it as a bug and WILL fix it, I cannot say. As I concluded in the post, it's been filed as a bug. Now we wait. I have no further influence on that than does anyone else, honestly.
Charlie, thanks for this update! Not sure if I should be happy I found a bug or not, ha! We'll be looking into our options and deciding how we are going to proceed, and definitely look at your approach first.
# Posted By BrianM | 9/30/26 4:40 PM
I'm new to this role — stepping in as DBA/software updater after the previous person retired, so please bear with me if I'm missing something obvious.

I successfully applied CF2023 Update 25. CF would not start, so after much research I first removed the FusionReactor agent, .jar and .dll from CF jvm.config file and CF would start. After more research I put those back into the jvm.config, and I cleared the Felix cache, and I confirmed the correct user has permissions on the FusionReactor instance folder. CF would then start fine.

However, FusionReactor Instance still will not start. Is this what others are experiencing? Are they leaving it not running?

My question: with the workaround in your Sept 29 post, were you able to get FusionReactor Instance actually running again (not just CF starting with the agent lines removed)? I want to make sure I'm chasing the right fix before I spend more time on permissions tweaks.

Thanks for all the detail you've posted on this — it's been a huge help getting oriented quickly.
# Posted By ctobey | 10/1/26 11:06 AM
@ctobey, to be clear: yes, the whole point of this Sep 29 post (that you're commenting on) and its offered workarounds was to ALLOW you to put FR (or any other monitor causing the problem) back into the CF jvm configuration (typically a javaagent, yes).

In fact I mention that at the end of each workaround. But in case someone else somehow could misconstrue things I have just added a few more words to the end of the opening paragraph. :-)

I see the challenge for you is that you have a DIFFERENT problem. You say that you put the FR javaagent "back into the jvm.config...and CF would then start fine. However, FusionReactor Instance still will not start."

So first, since your CF is now starting (with FR in place) but you don't say you applied either of the workarounds I propose in this post, I'm wondering: is your CF on something other than Windows? Perhaps Linux or Mac, or a container image, or in CommandBox? None of those had the problem I describe here, nor did they need the workaround I propose here.

In either case, since your CF is running but you say "FusionReactor Instance still will not start", do you mean the FR UI for the CF instance, like the default at port 8088? Or might you mean the FRAM instance, at port 8087? I just want to be clear.

Assuming you do mean the FR UI for the CF instance (like 8088), that can fail to work (even though CF starts, and when you have put the javaagent back in place) for any of a few unusual reasons, but they have nothing to do at all with what I describe in this post.

I would recommend you look at the startup logs for CF (coldfusion-out.log, coldfusion-error.log, or as shown on your terminal if started there) to see if during the startup you find it reporting a problem in its attempt to start FusionReactor. To be clear, FR runs INSIDE of the JVM alongside of CF. It's not a separate process. So if it fails to start then it's something you'll typically find logged in the CF startup logs.

And when you see the error, before you may share it to ask for help, just google it. You may well be shown a solution for that, which is documented by the FR folks. (There's one particular scenario I've seen where you're told to delete a folder deep inside the FusionReactor directory for the CF instance.)

Or another situation could be that the user running CF doesn't have permissions to modify that directory for the CF instance, within the FusionReactor folder. But since you imply things were working BEFORE the CF update, we should presume that is NOT your issue.

Finally, if all this is too much to try to connect dots/understand here in the blog comments, I'll repeat that this is the kind of thing I could likely help solve in less than 15 mins together in a consulting session. I realize some may feel they "can't get permission for such assistance", but honestly we can usually solve things SO much more easily in looking together rather than "playing battleship" in comments. :-)

But that's not directed to you specifically, presuming what you may feel. I say it for the sake of others reading along. Regardless, I'm here: ready to make the next move here in the comments. Hopefully we can "sink that battleship". (I'll take "dated 70's board games for $200, Alex". :-)
It was just brought to my attention that Adobe has now acknowledged this problem (of CF not starting "when certain Java agents or libraries are configured") as a "known issue" in the CF2023 update 25 technote. That's "good" to see...though I have a couple of concerns.

First I lament that they propose one of the solutions that I contend (above) is brittle, of putting the CF java bin folder as first in the path--and especially proposing to put that in the Windows *system path*. I can see that leading to other trouble, as I discussed above. I suspect they didn't read my post before proposing that. (If they ignored the concerns, that's its own worry.)

And now the FR folks also have posted a blog entry about the issue also (https://docs.fusionreactor.io/Troubleshooting/Known-Issues/CF2023-Update-25-Startup-Failure/). That too is good to see, and they mention my post here--but their first workaround (currently) follows Adobe's lead.

Then they mention the service solution (and my proposal to use xx for the path), but it will be confusing to readers since their first workaround follows Adobe's lead. I hope they may improve it (I've shared feedback).

Sadly, that cf update technote is what most will see. I guess this chips will fall where they may.

The saddest thing in all this is that now that it's simply documented by them as a "known issue" in that technote, they will likely NOT be issuing any update to address it soon. And sometimes "known issues" like this are NOT fixed in the next CF update (because that's an urgent "security update"). And that could continue for a couple more updates, before they finally roll up some bug fixes.

I say that to suggest that this issue will likely plague us for some months to come. Bummer. Oh well, I do what I can do.
As someone who is running CF2023, on Windows as a service, with FusionReactor... it again pays to have put off an update from Adobe until after Charlie has issued his own Adobe-created-issue workarounds :D You likely have saved me a couple hours of headache when I get around to installing this update.
# Posted By Paul | 10/2/26 3:37 PM
Thx, Paul. :-)
Going back to Paul's' kind comment of Friday, I should have added (in my reply of thanks) that I hope what he said was a BIT tongue-in-cheek ("it again pays to have put off an update from Adobe until after Charlie has issued his own Adobe-created-issue workarounds").

As I've discussed in the past security updates, it's important these days to not wait "too long", as there are bad guys who "take apart" each update to determine "what was changed"...so that they can attempt to exploit the vuln against those who have NOT yet applied the update.

And while some "good guy"/white hat hackers might do the same to try to warn folks of what to beware, that's not true for every update--and they are often not very detailed in their reporting of how to effect the exploit. It's always a balancing act for them.

And it's one for us, as well.
I installed update 25 on my dev server and all my cfhtmltopdf tags stopped working :( Tried to uninstall it and it didn't work. Just noticed that my Add-on service is not running and I cannot turn it back on now too :( Sure glad I didn't install on my prod server!
# Posted By Marlon | 10/5/26 6:11 PM
Marlon, that's not some problem unique to u25. There can be many reasons the add on service won't run, of course. But specific to updates, some folks have found that their cfusion/jetty folder can be missing a lib subfolder after cf updates. That shouldn't happen, but it has (though never to me).

While I've helped others recover, beware of simply restoring that folder from the "backup/jetty/lib" found the cfusion/hf-updates folderfor your u25.

That may seem to "work", but it's incomplete: there are still other jetty files that need to be restored. It also loses security improvements intended by updates to the folder (again,you're restoring from a backup cf took BEFORE that update).

The BEST thing would be to copy things from a working cf2023 u25 folder. That can be attempted on another machine.

I'll say I can help via a remote consulting session, likely in less than a half hour--though I can't commit to that. For more on my rates, approach, satisfaction guarantee, online calendar, email, phone, and more, see the consulting page at carehart.org.
Hi Charlie- You have a typo in your add and delete commands: reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ColdFusion 2023 Application Server" /v Envrionment /t REG_MULTI_SZ /d path=xx

Envrionment is misspelled
# Posted By Matt G | 10/6/26 9:58 AM
Matt, thanks so much (and apologies everyone)!

Corrected--and noted also in the "updates" section of the post.
Hi Charlie, a follow-up to my September 30 comment: Adobe Support’s suggestions worked, and we have now successfully applied Update 25 and started ColdFusion without problems.

Your short-PATH workaround had already resolved the initial Java instrumentation startup error. The remaining failure was during license-service initialization:
java.lang.NoClassDefFoundError: com/adobe/asneu/AsnException

This was followed by null LicenseService errors and HTTP 500 from the Administrator.

For that remaining problem, Adobe provided the following procedure, with Update 25 installed:
1. Stop ColdFusion
2. Move C:\ColdFusion2023\cfusion\lib\cfusion-req.jar to a separate backup folder
3. Copy cfusion-req.jar from C:\ColdFusion2023\cfusion\hf-updates\hf-2023-00025-330977\backup\lib into C:\ColdFusion2023\cfusion\lib
4. Start ColdFusion

Separately, for the Java instrumentation/FusionReactor issue, Adobe advised checking java.home in C:\ColdFusion2023\cfusion\bin\jvm.config and placing that Java installation’s bin directory first in the Windows system Path. Your cautions about the impact on other Java applications and future JVM changes still apply.

This worked on our ColdFusion 2023 Enterprise installation on Windows Server 2022, using the Coalesce Solutions AWS Marketplace AMI. The underlying cause of the license-service failure has not been confirmed, so I’m sharing the procedure that worked for our installation.

With this approach, we did not need a service-specific Environment registry value containing a PATH=... override.

Thanks again for your help!
# Posted By Salvatore | 10/7/26 3:23 AM
Salvatore's comment here refers back to the very first one offered above. And he's now confirming that the problem he faced (one not solved by but also not CAUSED BY my workaround) was indeed unique to his running the cf AWS AMI (as I had anticipated in my reply to him that day)

So first, thanks for sharing what you had to do, recovering a jar from the update's backup folder. Before asserting that everyone (on the AMI) would need to do that, I'd asked if there were any errors in the update logs. Assuming there were none, then yes we can let this stand as something others on the AMI may face in applying the update.

Only time will tell if it's something folks may need to repeat on subsequent updates, if Adobe doesn't solve the root cause problem for that. But to be clear, readers, this other issue seems ENTIRELY unrelated to the matter in this post.

Finally, as for his ALSO suffering the FR/instrument library problem, he shares that he opted instead to follow Adobe's suggestion to modify the system path, rather than the service definition tweak I propose here. He acknowledges that has the potential negatives as I'd outlined, but it's true that on an AWS AMI that's used for nothing BUT running CF, the risks to other apps of modifying the system path that way are less of a concern.

Even so, the other risk remains: if you later modify the cf Java home to point to a different Java version (such as for the Java update that Oracle will release the week after next), then you will HAVE to modify that system path to replace that Java home location if it changes. Otherwise cf startup will again fail, but now for that other error I noted in the post.

Forewarned is forearmed. Or, "don't say I didn't warn you", folks. :-)
Copyright ©2026 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
xByte cloud Hosting