• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
1

NOW LIVE! Adobe ColdFusion 2023 and 2021 October 2024 updates

Adobe Employee ,
Oct 15, 2024 Oct 15, 2024

Copy link to clipboard

Copied

We are pleased to announce that we have released general updates to ColdFusion (2023 release) Update 11 and ColdFusion (2021 release) Update 17. 

 

The updates include bug fixes and enhancements in Administrator, Language, CFSetup, Database, and other areas. They also contain library upgrades, such as netty, ehcache, etc.

 

After applying the update, we recommend clearing the Felix cache as a workaround for installing the HTMLToPDF package and verifying the Oracle data source.

 

The updates also contain enhancements to whitespace management and client variable support in CFPM.

 

Where do I download the updates from

Download the updates from the following locations:

 

For more information, view the following tech notes:

 

Known issues in the update

  • The PDF Services page in ColdFusion Administrator does not load even with the HTMLToPDF package installed. As a workaround, follow the steps:
    • Uninstall the HTMLToPDF package.
    • Stop ColdFusion.
    • Clear the Felix cache (<cf_home>/cfusion/bin/felix-cache).
    • Restart ColdFusion.
    • Install the HTMLToPDF package.
  • After installing the latest update, the Oracle DataSource verification fails. To work around this, clear the Felix cache and restart ColdFusion.
  • An exception occurs when indexing Open Document Format files, such as those with a .odt extension.

 

Are the Docker images available

The images are available on the Docker hub and ECR.

 

Is CFFiddle updated with the changes

CFFiddle is updated with the changes.

 

Please update your ColdFusion versions and provide your valuable feedback.

Views

2.9K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 06, 2024 Nov 06, 2024

Copy link to clipboard

Copied

So, getting pretty weird now. cfdocument doesn't crash immediately, but functions like cfhtmltopdf before:

 

Sireex_0-1730893221076.png

 

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 06, 2024 Nov 06, 2024

Copy link to clipboard

Copied

Thanks for the update, @Sireex . It indeed looks like something's gone wrong in the PDF engine. 

Try my cfpm suggestion, and let's see how that goes.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 06, 2024 Nov 06, 2024

Copy link to clipboard

Copied

Okay, I managed to get it working on our second test server using cfpm.bat. 

I think out primary test server is beyond salvation atm, nothing seems to work there.

Thanks for the advice BKBK!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 06, 2024 Nov 06, 2024

Copy link to clipboard

Copied

I am glad to hear the news. 

You should give the "primary test server" one last try. In what follows, I am assuming that the server is on Update 17 of ColdFusion 2021.

 

Try the following variation of my cfpm.bat suggestion:

  1.  Stop the ColdFusion test server instance (Windows service). .
  2.  Open the directory {TEST_SERVER_INSTANCE_HOME}/bin/felix-cache. Use the keyboard keys CTRL-A to select everything in the directory. Press the DELETE key to delete everything from the directory.
  3.  Open the command prompt (CMD) as administrator.
  4.  Use the DOS command CD to navigate to {TEST_SERVER_INSTANCE_HOME}\bin.
  5.  Type cfpm.bat and press ENTER. That should bring up ColdFusion's Package Manager tool.
  6.   Type uninstall all and press ENTER.
    The Package Manager should then proceed to uninstall all the packages. Wait till this finishes.
  7.  Leaving the CMD window open, restart ColdFusion.
  8.  Now, type install all and press ENTER.
    The Package Manager should then proceed to install all the packages. Wait till this finishes.
  9.  Type quit and press ENTER.
  10.  Close the CMD window.
  11.  Restart the ColdFusion test server instance (Windows service). 
  12.  Repeat the cfhtmltopdf test

 

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 07, 2024 Nov 07, 2024

Copy link to clipboard

Copied

This happens on the problematic server when running install all:

zip package cannot be installed by the server. Please check the server logs and try installing again.

ajax package cannot be installed by the server. Please check the server logs and try installing again.

 

Other test server didn't produce any errors with install all

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 07, 2024 Nov 07, 2024

Copy link to clipboard

Copied

exception.log shows this when trying to generate PDF's:

"Error","ajp-nio-127.0.0.1-8020-exec-9","11/07/24","10:49:02","test_env","Connect to 127.0.0.1:8993 [/127.0.0.1] failed: Connection refused: connect http://127.0.0.1:8993/PDFgServlet/"
"Error","ajp-nio-127.0.0.1-8020-exec-9","11/07/24","10:49:03","test_env","Connect to 127.0.0.1:8993 [/127.0.0.1] failed: Connection refused: connect http://127.0.0.1:8993/PDFgServlet/"
"Error","ajp-nio-127.0.0.1-8020-exec-9","11/07/24","10:49:03","test_env","Error occurred while generating PDF.Reason: Error occurred while handling request.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 07, 2024 Nov 07, 2024

Copy link to clipboard

Copied

quote

exception.log shows this when trying to generate PDF's:

"Error","ajp-nio-127.0.0.1-8020-exec-9","11/07/24","10:49:02","test_env","Connect to 127.0.0.1:8993 [/127.0.0.1] failed: Connection refused: connect http://127.0.0.1:8993/PDFgServlet/"
"Error","ajp-nio-127.0.0.1-8020-exec-9","11/07/24","10:49:03","test_env","Connect to 127.0.0.1:8993 [/127.0.0.1] failed: Connection refused: connect http://127.0.0.1:8993/PDFgServlet/"
"Error","ajp-nio-127.0.0.1-8020-exec-9","11/07/24","10:49:03","test_env","Error occurred while generating PDF.Reason: Error occurred while handling request.


By @Sireex

The error shows we're now ready for the final sprint to the line. I say this because I think the cause of the error is that the port number 8993 is incorrect.

 

In a recent thread on PDF generation I showed a way to find the correct port programmatically. I shall repeat it here.

 

Save the following code as a CFM page and launch it:

<!--- Execution time of code = approximately 6 seconds on ColdFusion 2023 --->
<cfset pdfServicePort="">
<cfloop index="port" from="8985" to="9005">
	<!--- Domain of PDF Servive Manager is 127.0.0.1 --->
	<cfhttp url="http://127.0.0.1:#port#" method="get" result="cfhttpResult">
	<cfif not findNoCase("Connection Failure",cfhttpResult.fileContent)>
		<cfif structKeyExists(cfhttpResult.responseHeader, "server") and findNoCase("Jetty",cfhttpResult.responseHeader.server)>
			<cfset pdfServicePort=port>
			<cfbreak>
		</cfif>
	</cfif>	
</cfloop>
PDF Service port: <cfoutput>#pdfServicePort#</cfoutput>

When I run this code I get port 8996. Yours might be different.

Once you have the port number, implement it as follows:

  1.  Open the ColdFusion Administrator and go to Data & Services > PDF Service.
  2.  Click on the button to edit the PDF Service Manager.
    BKBK_0-1730989697613.png
  3.  An editing form appears. Enter the port number that you obtained from the code:
    BKBK_1-1730990074903.png 
  4.  Press the button Update PDF Service Manager, followed by the button Verify All Service Managers.
  5.  "OK" should appear as the Connection Status.
    BKBK_2-1730990436948.png

     

  6.  Now, run your cfhtmltopdf code.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 07, 2024 Nov 07, 2024

Copy link to clipboard

Copied

If I tun this, I get nothing as service port. Then I checked with cfdump var="#cfhttpResult.Errordetail#",

and I get: Connect Exception: Connect to 127.0.0.1:9005 [/127.0.0.1] failed: Connection refused: connect

 

Other test server is returning

PDF Service port: 8993, so all good there.
 
Then I noticed that the certificate on our primary test server has expired!
Could this explain all the fuss?
I'll order a new cert from our IT, and see if this changes anyting.
 
 

 

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 08, 2024 Nov 08, 2024

Copy link to clipboard

Copied

And lo and behold! When it try cfdocument in our wwwroot that doesn't use SSL, I get:

 

Sireex_0-1731053424057.png

 

Using cfhtmltopdf still produces a server error.

 

Also, running PDF port code here produces Connect Exception: Connect to 127.0.0.1:9005 [/127.0.0.1] failed: Connection refused: connect

 

I have to say that I've never had this much problems with a single update, and I've been using CF since MX 7.

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 08, 2024 Nov 08, 2024

Copy link to clipboard

Copied

quote

If I tun this, I get nothing as service port. Then I checked with cfdump var="#cfhttpResult.Errordetail#",

and I get: Connect Exception: Connect to 127.0.0.1:9005 [/127.0.0.1] failed: Connection refused: connect

 

 


By @Sireex

The Connection-Refused is not an issue. It is to be expected. The code should produce that when it cannot make a connection for any port in the range 8985 to 9005.

 

The relevant result is the fact that the code could not find any port. The question I now have is whether the PDF service was running at all. It does not normally require a certificate.

 

Let us rule something out: whether or not you can "verify" the PDF service.

 

Open the ColdFusion Administrator of the specific instance. Go to Data & Services > PDF Service.

 

From what you have said, you should see that the PDF Service Manager is registered with port 8993. Can you confirm this?

 

Next, press the button Verify All Service Managers. What happens? What is the Connection Status?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 08, 2024 Nov 08, 2024

Copy link to clipboard

Copied

It's not running, before it was. And it can't be started:


"Error","http-nio-8500-exec-8","11/08/24","14:15:21","cfadmin","Error enabling PDF Service Manager."
"Error","http-nio-8500-exec-8","11/08/24","14:15:21","cfadmin","coldfusion.document.webkit.PDFgErrorHandler$ConnectionVerificationFailedException: Connection verification failed."
"Error","http-nio-8500-exec-16","11/08/24","14:15:25","cfadmin","Connect to 127.0.0.1:8993 [/127.0.0.1] failed: Connection refused: connect http://127.0.0.1:8993/PDFgServlet/verify"

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 08, 2024 Nov 08, 2024

Copy link to clipboard

Copied

I said, press the button Verify All Service Managers. I asked: What happens? What is the Connection Status?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 08, 2024 Nov 08, 2024

Copy link to clipboard

Copied

Connection status is "Error", and manager can't be started.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 08, 2024 Nov 08, 2024

Copy link to clipboard

Copied

quote

Connection status is "Error", and manager can't be started.


By @Sireex

Thank you. That is important to know.

 

That is in fact the kind of feedback I am missing from you. Feedback such as "not working" and "I get an error" and "getting weird now" won't bring us closer to the solution. At this stage, what I consider the most important of my questions are those about the steps you do, and the result. 

 

  1.  Did you follow the steps I gave earlier to download and install the Add-On Service for ColdFusion 2021.?
    If so, what happened at every step?
  2.  Did you follow the 10 steps I gave about using cfpm.bat?  
    If so, what happened at every step?
  3.  Did you open the ColdFusion Administrator of the instance, go to the Package Manager page. and click on Available Packages?

    If so, were there any (available) packages there? If so, which packages?
    If there were packages there, what happened when you clicked on each, then on Install ?

 

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 08, 2024 Nov 08, 2024

Copy link to clipboard

Copied

I understand. It can be frustrating to solve problems via forums when you can't see the problem yourself.

But I assure you that I followed every suggestion to the letter.

 

I did install add-on services, no errors there. I choose to install with default values it suggested.

And it seems to be running ok, when looking at Services.

 

When using cfpm.bat, it unistalled all the packages without errors.

Restarted CF at this point, no problems.

 

The only errors I got were during install all:

zip package cannot be installed by the server. Please check the server logs and try installing again.

ajax package cannot be installed by the server. Please check the server logs and try installing again.

 

Restarted Cf again after this, no problems.

 

In Package Manager, it shows that there are no packages to install.

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 08, 2024 Nov 08, 2024

Copy link to clipboard

Copied

Sirex, I think your only remaining problem is that the pdf service reports it can't be started, right? If so, try this one last step (mentioned by bkbk  previously above, but the order of doing it is important).

 

On the pdf services page, edit your localhost service, but without any need of change, click the "update" button.  Then try starting it. Then test your pdf.

 

And if your ORIGINAL problem remains, that's a different matter. 


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 10, 2024 Nov 10, 2024

Copy link to clipboard

Copied

Ok, following that advice PDF service manager is now running and it's producing PDF pages, but the original problem still remains.

This is starting to feel like it is a cert problem. I can attach images and stylesheets from outside sources to our report, they work just fine. But as soon as I try to attach images and stylesheets from out faulty cert server, it won't show them.

 

I'll wait for a new cert and see if this fixes the problem.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 08, 2024 Nov 08, 2024

Copy link to clipboard

Copied

@Sireex , thanks for the feedback. Appreciated.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 08, 2024 Nov 08, 2024

Copy link to clipboard

Copied

@Sireex ,

In case you're still looking for a solution, here is a new line of enquiry for you. Follow these steps in order:

  1.  Is the Java that the instance uses of the same version as that of the problem-free instance? If not, change the Java version of the problem-instance to match. Then restart ColdFusion and see if that helps.
  2.  Open {INSTANCE_HOME}/bin/jvm.config in an editor. Make sure -Djdk.util.zip.disableZip64ExtraFieldValidation=true is one of the attributes in java.args. If you add the attribute, then you will have to restart ColdFusion. Then check if cfhtmltopdf works.
  3.  Open Windows Services. Right-click on ColdFusion 2023 Add-on Services.  Select to Start or Restart.
    Then run the following code as a CFM page and tell us what you get
    <cfscript>
    // CF Admin login
    adminObj = createObject("component","cfide.adminapi.administrator");
    adminObj.login("your_cf_admin_password");
    adminDocObj = createObject("component","cfide.adminapi.document");
    writedump(var=adminDocObj.getallservicemanager(), label="All PDF Service Managers");
    </cfscript>​

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 08, 2024 Nov 08, 2024

Copy link to clipboard

Copied

@Sireex , @Charlie Arehart 

Just to inform you that my last post crossed yours on the wire. 🙂

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 11, 2024 Nov 11, 2024

Copy link to clipboard

Copied

Hi @Sireex ,

Does the cfhtmltopdf code work now?

If not, could you please share the result of the Service Manager code.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 11, 2024 Nov 11, 2024

Copy link to clipboard

Copied

Yes, cfhtmltopdf  now works. After updating and starting it again in PDF service manager.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 11, 2024 Nov 11, 2024

Copy link to clipboard

Copied

I am glad to hear the good news. Thanks for the update.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 08, 2024 Nov 08, 2024

Copy link to clipboard

Copied

Talking about certificates, what URL did you use in the test code: 

 url="http://127.0.0.1:#port#"

or

 url="https://127.0.0.1:#port#"

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 07, 2024 Nov 07, 2024

Copy link to clipboard

Copied

quote

This happens on the problematic server when running install all:

zip package cannot be installed by the server. Please check the server logs and try installing again.

ajax package cannot be installed by the server. Please check the server logs and try installing again.

 

Other test server didn't produce any errors with install all


By @Sireex

 

This is not directly related to the cfhtmltopdf problem. Nevertheless, we're almost there.

 

Next, restart the ColdFusion instance.

 

Open the ColdFusion Administrator of the instance. Go to the Package Manager page. Click on Available Packages.

 

Do you see Ajax and Zip buttons there? If so, click on each, then on Install.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources
Documentation