From 109a8b5e9222ab6ac78b98870a967953dbe4a4d7 Mon Sep 17 00:00:00 2001 From: Emmett Deane Date: Thu, 1 Oct 2026 11:13:23 +0100 Subject: [PATCH 1/3] Add documentation for CF2023 Update 25 startup issue Document known issue with ColdFusion 2023 Update 25 preventing startup with FusionReactor on Windows, including symptoms, causes, and workarounds. --- .../CF2023-Update-25-Startup-Failure.md | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 docs/Troubleshooting/Known-Issues/CF2023-Update-25-Startup-Failure.md diff --git a/docs/Troubleshooting/Known-Issues/CF2023-Update-25-Startup-Failure.md b/docs/Troubleshooting/Known-Issues/CF2023-Update-25-Startup-Failure.md new file mode 100644 index 0000000..52c9df2 --- /dev/null +++ b/docs/Troubleshooting/Known-Issues/CF2023-Update-25-Startup-Failure.md @@ -0,0 +1,80 @@ +# ColdFusion 2023 Update 25 prevents startup with FusionReactor on Windows + +After applying ColdFusion 2023 Update 25 on Windows, ColdFusion may fail to start while the FusionReactor Java agent is configured in `jvm.config`. + +This is caused by a change in ColdFusion 2023 Update 25 and is not a defect in FusionReactor. Any product that loads the Java instrumentation library can trigger the same failure. We are working with Adobe towards a permanent fix. + +!!! info "Affected platforms" + Only Windows installations are known to be affected. Linux and container installations are not currently known to be affected. + +## Symptoms + +When ColdFusion is started as a Windows service, the service terminates and the System log in Event Viewer records: + +``` +The ColdFusion 2023 Application Server service terminated with the following service-specific error: +The system cannot find the file specified. +``` + +Neither the ColdFusion logs nor the Windows Event logs explain the cause. To see the underlying error, start ColdFusion from a command prompt using `cfstart.bat` in your ColdFusion `bin` folder, for example `\ColdFusion2023\cfusion\bin\cfstart`: + +``` +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. +``` + +Removing the `-javaagent` and `-agentpath` arguments from `jvm.config` allows ColdFusion to start. This confirms the diagnosis but is not a solution, as it leaves the server unmonitored. Use one of the workarounds below instead. + +## Cause + +At startup, ColdFusion appends several of its own directories to the Windows system PATH for its own internal use. One of these is the `bin` folder beneath the Java home configured for ColdFusion, which is where `instrument.dll` lives. + +As of Update 25 on Windows, that internally constructed PATH is truncated at around 254 characters. On machines where the system PATH is already long, the appended entries are cut off, including the Java `bin` folder. Windows is then unable to locate `instrument.dll` when the JVM starts with a Java agent, and startup fails before the agent loads. + +## Adobe workaround + +Adobe has issued the following workaround. Keep the FusionReactor `-javaagent` argument in `jvm.config` and place the Java `bin` directory at the very start of the system PATH. Adding it at the end has no effect, because the end of the PATH is the part that gets truncated. + +1. Note the `java.home` value in `jvm.config`, found in the same `bin` folder as `cfstart.bat`, for example `C:\Program Files\Java\jdk-17.0.6`. + +2. To test without changing the system, open a new Command Prompt as Administrator and run: + + ``` + set "PATH=\bin;%PATH%" + cd /d C:\ColdFusion2023\cfusion\bin + cfstart.bat + ``` + +3. To apply the change permanently, go to **System Properties > Environment Variables > System variables > Path > New**, add `\bin`, then use **Move Up** until it is the first entry in the list. + +4. Reboot the machine. The Windows service only picks up system PATH changes after a reboot. Then start the **ColdFusion 2023 Application Server** service. + +## Community workaround + +Charlie Arehart has published an alternative that changes the PATH for ColdFusion only and leaves the system PATH untouched. It sets the PATH that ColdFusion sees to a short placeholder string, so that ColdFusion's own appended directories fit within the limit. The value cannot be empty, as ColdFusion only appends its directories when it finds a non-empty PATH. + +**When starting ColdFusion from the command line:** + +1. In the command prompt, run `path=xx`. +2. Start ColdFusion with `cfstart.bat` from the ColdFusion `bin` folder. + +This applies only to that command prompt window. + +**When running ColdFusion as a Windows service:** + +1. Open `regedit` and go to `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ColdFusion 2023 Application Server`. +2. Create a new multi-string value (`REG_MULTI_SZ`) named `Environment`. +3. Set its value to `path=xx`, followed by an empty line. +4. Start the ColdFusion 2023 Application Server service. + +!!! note "Editing the registry" + Back up the registry key before making changes. + +Full background and root cause analysis are available in Charlie's post, [Solving a new problem as of CF2023 update 25 that can cause CF to not start](https://www.carehart.org/blog/2026/9/29/solving_new_cf2023_update_25_startup_problem). + +## Status + +A permanent fix needs to come from Adobe. The issue is tracked under [CF-4234454](https://tracker.adobe.com/#/view/CF-4234454), and this page will be updated as the position changes. + +If you are affected and neither workaround resolves the problem, contact [support@fusion-reactor.com](mailto:support@fusion-reactor.com) with your ColdFusion version and update level, your FusionReactor version, and the output of `cfstart.bat` run from a command prompt. From 2cc179246ec252b49b4986c4e01255740e92c103 Mon Sep 17 00:00:00 2001 From: Emmett Deane Date: Thu, 1 Oct 2026 11:18:41 +0100 Subject: [PATCH 2/3] Add nav entry for CF2023 Update 25 known issue --- mkdocs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/mkdocs.yml b/mkdocs.yml index 93f5198..9021f5d 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -133,6 +133,7 @@ nav: - Troubleshooting/Cloned-FusionReactor-Instances.md - Troubleshooting/Debugger-will-not-start-without-Glibc.md - Troubleshooting/Known-Issues/JVM-crash-JDK-11.md + - Troubleshooting/Known-Issues/CF2023-Update-25-Startup-Failure.md - Troubleshooting/Known-Issues/System-Metrics-unavailable-in-Locked-down-ColdFusion.md - Troubleshooting/Requests-from-Adobe-PMT-tracked-in-FusionReactor.md - Troubleshooting/Adding-FR-Error-Stack-Trace-On-CFCatch-CFOnError.md From a9abe1100048d2894ed7ff6340f473189d110d8b Mon Sep 17 00:00:00 2001 From: Emmett Deane Date: Thu, 1 Oct 2026 12:38:49 +0100 Subject: [PATCH 3/3] Revise CF2023 Update 25 startup failure documentation Updated troubleshooting documentation for ColdFusion 2023 Update 25 startup failure, including symptoms, causes, and workarounds. --- .../CF2023-Update-25-Startup-Failure.md | 65 +++++++++++++++---- 1 file changed, 53 insertions(+), 12 deletions(-) diff --git a/docs/Troubleshooting/Known-Issues/CF2023-Update-25-Startup-Failure.md b/docs/Troubleshooting/Known-Issues/CF2023-Update-25-Startup-Failure.md index 52c9df2..c078670 100644 --- a/docs/Troubleshooting/Known-Issues/CF2023-Update-25-Startup-Failure.md +++ b/docs/Troubleshooting/Known-Issues/CF2023-Update-25-Startup-Failure.md @@ -7,6 +7,9 @@ This is caused by a change in ColdFusion 2023 Update 25 and is not a defect in F !!! info "Affected platforms" Only Windows installations are known to be affected. Linux and container installations are not currently known to be affected. +!!! tip "If you have not yet applied Update 25" + Update 25 includes security-related library upgrades, so we would not recommend skipping it. Plan to apply one of the workarounds below alongside the update rather than deferring the update itself. + ## Symptoms When ColdFusion is started as a Windows service, the service terminates and the System log in Event Viewer records: @@ -16,7 +19,7 @@ The ColdFusion 2023 Application Server service terminated with the following ser The system cannot find the file specified. ``` -Neither the ColdFusion logs nor the Windows Event logs explain the cause. To see the underlying error, start ColdFusion from a command prompt using `cfstart.bat` in your ColdFusion `bin` folder, for example `\ColdFusion2023\cfusion\bin\cfstart`: +Neither the ColdFusion logs nor the Windows Event logs explain the cause. To see the underlying error, stop the ColdFusion service and start ColdFusion from a command prompt using `C:\ColdFusion2023\cfusion\bin\cfstart.bat`: ``` Error occurred during initialization of VM @@ -28,17 +31,30 @@ Removing the `-javaagent` and `-agentpath` arguments from `jvm.config` allows Co ## Cause -At startup, ColdFusion appends several of its own directories to the Windows system PATH for its own internal use. One of these is the `bin` folder beneath the Java home configured for ColdFusion, which is where `instrument.dll` lives. +At startup, ColdFusion builds a PATH for its own process. This is separate from the Windows system PATH and is used only by ColdFusion. It begins with the system PATH and then appends several ColdFusion directories, including the `bin` folder beneath the Java home that ColdFusion is configured to use. + +As of Update 25 on Windows, that process PATH is limited to 260 characters. On servers where the system PATH is already long, the appended entries are cut off before the end, so the Java `bin` folder is missing. The Java agent cannot then be loaded, and ColdFusion fails to start. + +## Workarounds + +Two workarounds are available. Either should work, so choose whichever suits your environment. + +!!! warning "Before you apply either workaround" + The system PATH change is tied to one specific Java folder and affects every application on the server. If you later change the Java version ColdFusion uses, the entry needs updating to match. + + The registry change is not visible in any ColdFusion configuration file, and it will break `cfexecute` calls that run programs by name rather than by full path. -As of Update 25 on Windows, that internally constructed PATH is truncated at around 254 characters. On machines where the system PATH is already long, the appended entries are cut off, including the Java `bin` folder. Windows is then unable to locate `instrument.dll` when the JVM starts with a Java agent, and startup fails before the agent loads. + Record which workaround you applied and on which servers, so it can be removed once Adobe ships a fix. -## Adobe workaround +### Workaround 1: place the Java bin directory first in the system PATH -Adobe has issued the following workaround. Keep the FusionReactor `-javaagent` argument in `jvm.config` and place the Java `bin` directory at the very start of the system PATH. Adding it at the end has no effect, because the end of the PATH is the part that gets truncated. +Adobe has advised placing the Java `bin` directory at the very start of the system PATH. Adding it at the end has no effect, because the end of the PATH is the part that gets truncated. + +Keep the FusionReactor `-javaagent` argument in `jvm.config`, then: 1. Note the `java.home` value in `jvm.config`, found in the same `bin` folder as `cfstart.bat`, for example `C:\Program Files\Java\jdk-17.0.6`. -2. To test without changing the system, open a new Command Prompt as Administrator and run: +2. To test without changing the system, stop the ColdFusion service, then open a new Command Prompt as Administrator and run: ``` set "PATH=\bin;%PATH%" @@ -50,29 +66,54 @@ Adobe has issued the following workaround. Keep the FusionReactor `-javaagent` a 4. Reboot the machine. The Windows service only picks up system PATH changes after a reboot. Then start the **ColdFusion 2023 Application Server** service. -## Community workaround +### Workaround 2: set the PATH for the ColdFusion service only Charlie Arehart has published an alternative that changes the PATH for ColdFusion only and leaves the system PATH untouched. It sets the PATH that ColdFusion sees to a short placeholder string, so that ColdFusion's own appended directories fit within the limit. The value cannot be empty, as ColdFusion only appends its directories when it finds a non-empty PATH. **When starting ColdFusion from the command line:** -1. In the command prompt, run `path=xx`. -2. Start ColdFusion with `cfstart.bat` from the ColdFusion `bin` folder. +1. Stop the ColdFusion service. +2. In the command prompt, run `path=xx`. +3. Start ColdFusion with `C:\ColdFusion2023\cfusion\bin\cfstart.bat`. This applies only to that command prompt window. **When running ColdFusion as a Windows service:** 1. Open `regedit` and go to `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ColdFusion 2023 Application Server`. -2. Create a new multi-string value (`REG_MULTI_SZ`) named `Environment`. -3. Set its value to `path=xx`, followed by an empty line. +2. Create a new multi-string value (`REG_MULTI_SZ`) named `Environment`. If an `Environment` value already exists, edit it and add `path=xx` as a new line rather than creating a second value. +3. Enter `path=xx` on a single line. If regedit warns about empty strings, click OK. 4. Start the ColdFusion 2023 Application Server service. +The same change can be made from an elevated command prompt: + +``` +reg add "HKLM\SYSTEM\CurrentControlSet\Services\ColdFusion 2023 Application Server" /v Environment /t REG_MULTI_SZ /d "path=xx" +``` + !!! note "Editing the registry" - Back up the registry key before making changes. + Back up the registry key before making changes. Note that the command above overwrites any existing `Environment` value, so check for one first. Full background and root cause analysis are available in Charlie's post, [Solving a new problem as of CF2023 update 25 that can cause CF to not start](https://www.carehart.org/blog/2026/9/29/solving_new_cf2023_update_25_startup_problem). +## Multiple ColdFusion instances + +Each ColdFusion instance runs as its own Windows service and needs the same change applied individually. To list the services on a server, run: + +``` +Get-Service *ColdFusion* +``` + +For Workaround 2, each service has its own registry key named after that service, so the `Environment` value must be added to each one. + +## Reverting the workaround + +Once Adobe releases a fix, remove whichever workaround you applied. + +**Workaround 1:** go to **System Properties > Environment Variables > System variables > Path**, select the `\bin` entry you added, and remove it. Reboot the machine, then start the ColdFusion service. + +**Workaround 2:** stop the ColdFusion service, open `regedit` and go to the service key, then delete the `Environment` value. If you added `path=xx` to an existing `Environment` value, remove only that line and leave the rest in place. Start the service again. + ## Status A permanent fix needs to come from Adobe. The issue is tracked under [CF-4234454](https://tracker.adobe.com/#/view/CF-4234454), and this page will be updated as the position changes.