Bug

In November 2016 we became aware that Adobe ColdFusion 2016 and earlier versions have issues with sending emails to IDN domains. Something that is possible for a very long time and becomes more and more common - at least in countries like Germany that have special chars. The CFMAIL errors with

The value of the attribute to, which is currently foo@bäüöß.com, is invalid.

coldfusion.tagext.InvalidTagAttributeException: Attribute validation error for tag CFMAIL. at coldfusion.tagext.net.MailTag.validate(MailTag.java:743) at coldfusion.tagext.net.MailTag.processAttributes(MailTag.java:846)
and compared to this failure the validation with isValid('email', local.email) says the email address is valid.

You may be in the situation that ColdFusion services are not starting up and a manual startup yields no useful information, too. It simply failed after it tries to startup the services for a very long time. If services are starting up it may takes an extreme long time to start.

Start-Service : Failed to start service 'ColdFusion 10 Application Server cfusion (ColdFusion 10 Application Server cfusion)'.
At line:1 char:1
+ Start-Service Cold*
+ ~~~~~~~~~~~~~~~~~~~
   + CategoryInfo  : OpenError: (System.ServiceProcess.ServiceController:ServiceController) [Start-Service],
  ServiceCommandException
   + FullyQualifiedErrorId : StartServiceFailed,Microsoft.PowerShell.Commands.StartServiceCommand

Background:

There are for sure more possible situation that may cause a ColdFusion startup failure, but if you have not changed anything and only rebooted/restarted your server/coldfusion after some OS updates and ColdFusion is now failing to start without having anything changed in ColdFusion you should check this issue very first. From my point of view this issue here is the most common issue that everyone will experience sooner or later.

We just installed Windows 2016 CORE. As recommened you typically should install all available Windows Updates before you move forward and install other software.

When we started to install Commvault File Agent and Virtual Server Agent setup failed with errors in eventlog and never completed. If you search Application event log you will find two errors logged:

Log Name: Application
Source: .NET Runtime
Date: 8/3/2017 3:59:44 PM
Event ID: 1026
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: HOST1.example.local
Description:
Application: setup.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.ComponentModel.Win32Exception

Windows 7 and later has a feature named FastUserSwitching. We all know about it, but ShoreTel do not understand it. The discussion about their setup bug goes back for more than one year now and they still do not listen after 4 case reopens. It is clear that ShoreTel development do not understand how thier own software and Windows works. So I decided to publish this information to help you running ShoreTel Communicator properly in your environment. This affect nearly every version for about 5 years or more, but has been fixed in Mitel MiVoice Connect R1803. If you may ask why FastUserSwitching need to be disabled - the answer is simple. ShoreTel Communicator's SoftPhone feature is not compatible with multiple users on the same computer. This VoIP EyeP driver under the hood does not allow more than one user on a computer.

FastUserSwitching is these neat featue you may like a lot at home. It allows users to login to a computer with several users at the same time without logging the other user out. A typical home users scenario.

Situation:

Over the course of several months we identified some date/time issues that also exist in CF10 and CF11. In CF10 and CF11 there are still more inconsistency issues like in CF2016. Some of the date/time formatter and parser issues have been fixed in CF2016 RTM, but it was still a mess and the functions are not behaving as expected in many cases. We are still in discussion about incorrect IsNumericDate() results not listed below. Please also see ColdFusion 2016: Upcoming new IsDateObject() function that was a result of the issues we faced with below bugs.

Notable changes are:

If you run a CFOUTPUT with attributecollection you will get an error cannot find encodefor key in structure error.

Fails:

<cfset result = queryNew("id,name","Integer,Varchar",[{id=1,name="One"},{id=2,name="Two"},{id=3,name="Three"}]) />
<cfset params={query:'result'} />
 
<!--- this works --->
<cfoutput query="#params.query#">
#id# - #name#
</cfoutput>
 
<!--- this don't work --->
<cfoutput attributecollection="#params#">
#id# - #name#
</cfoutput>

If you have some older code and you run ColdFusion 2016 and you use CFLOOP with a list and you have CFOUTPUT placed outside the loop than the code fails. I think this is very common.

Fails:

<cfoutput>
<cfloop list="test1,test2,test3,test4,test5" index="index" item="item">
	#invoke('mycomp', 'myFunction', {index=index,item=item})#<br />
</cfloop>
</cfoutput>

Workaround:

<cfloop list="test1,test2,test3,test4,test5" index="index" item="item">
	<cfoutput>#invoke('mycomp', 'myFunction', {index=index,item=item})#</cfoutput><br />
</cfloop>

Adobe has released ColdFusion 2016 Final some time ago. Well we took some time to give it a try and since 3 days we do not have so much fun.

The most heavy bug I can share is that CF 2016 is failing to execute SQL statements that has comments inside. This happens only with -- comments. I'm not sure if this is limited to Microsoft SQL. It has for sure nothing to do with the Microsoft JDBC driver you are using. See Adobe bugtracker ColdFusion 2016 - Bug 4126398: SQL comments inside CFQuery are not ignored.

Broken:

-- Using a comment after the code on a line.
USE Northwind
GO
UPDATE Products
SET UnitPrice = UnitPrice * .9 -- Try to build market share.
GO

Workaround:

USE Northwind
GO
SELECT * FROM Employees
/* The
GO in this comment causes it to be broken in half */
SELECT * FROM Products
GO

Solution: You can change all your code... (just kidding) or ask support. They have a hotfix with file name chf20160001.jar that works and will be integrated in Updater 1.

If you run ColdFusion 10 tag with an SSL URL and you receive an error message I/O Exception: hostname in certificate didn't match: != OR OR it may be possible that you have tried to connect to a SSL server that is using Server Name Indication (SNI). With SNI there can be several independend SSL certificates installed on the same ip address. If you cannot change the remote server to run one certificate on one IP you need to install the updater.

SNI is only supported in ColdFusion 10 from Updater 18 or later.

References:

You are using Simpana 10 Exchange Mailbox archiving (not the previous Exchange Mailbox Archiver) in CommVault and you may have seen that your OnePass-Stubs have broken recall links in Quick Look. This is only visible in Outlook Web Access or on mobile. If you click the Quick Look link inside an e-mail you are redirected to https://webconsole/webconsole/RestServlet/Recall. Let me note that this is excactly the link that your users will see. Your global Recall Service URL configued for the archiver host is ignored.

Symptom:

  • Recall Service is configured with hostname that contains "webconsole" in the hostname e.g. https://webconsole.example.com
  • All Quick Look links in e-mails contain URLs to https://webconsole/webconsole/RestServlet/Recall and your custom hostname is ignored.
  • Recalls fail as the hostname cannot resolved to a host.

Solution: