tracker issue : CF-4205251

select a category, or use search below
(searches all categories and all time range)
Title:

Weirdly specific/odd nested structure issue post CF2016 update 12 + java update

| View in Tracker

Status/Resolution/Reason: Closed/Fixed/Fixed

Reporter/Name(from Bugbase): Chris H. / ()

Created: 09/25/2019

Components: General Server

Versions: 2016,2018

Failure Type:

Found In Build/Fixed In Build: 2016.0.12.315717 / 2018,0,05,316137

Priority/Frequency: Major /

Locale/System: / Windows 10 64 bit

Vote Count: 5

Problem Description:

Nested implicit structures in an argument in an IF statement are throwing an error post CF 2016 update 12 & Java update.

Was on 2016 Update 11 with Java 1.8.0_191

This breaks on update to CF2016 Java 1.8.0_211 or 191

Steps to Reproduce:
{code:java}
 <cffunction name="getHello">
   <cfargument name="anArgument">
   <cfreturn "hello" >
 </cffunction>
 <!--- disclaimer - yes this is quite wonky code... lets not talk about that... --->
 <!--- DOES NOT WORK, But did before Updating to CF2016 Update 11 -> CF2016 Update 12 & Java 1.8.0_191 -> Java 1.8.0_211 --->
 <cfoutput>
  <cfset somethingElse = 1>
  <cfif 1 EQ 1>
   #getHello(
     anArgument = {
       key =
          { anotherKey = somethingElse }
     }
   )#
  <cfelse>
     something else
  </cfif>
 </cfoutput>{code}
 
{code:java}
 <!--- A fix, remove the variable and directly assign ---> 
 <cfoutput>
   <cfset somethingElse = 1> 
   <cfif 1 EQ 1>
     #getHello(
       anArgument = {
       key = { anotherKey = 1 }
       }
     )#
   <cfelse>
     something else
 </cfif>
 </cfoutput>
{code}
{code:java}
 <!--- A fix, remove the else case --->
 <cfoutput>
   <cfset somethingElse = 1> 
   <cfif 1 EQ 1>
      #getHello(
      anArgument = {
       key = { anotherKey = somethingElse }
     }
    )#
   </cfif>
 </cfoutput>{code}
Actual Result:

error

Expected Result:

hello hello hello

Any Workarounds:

remove the IF statement or assign the variable directly instead of referencing it

Attachments:

Comments:

Why does this indicate a reason code of "fixed", without a value for "fixed in build"? How is it "fixed", and/or how does one obtain the fix? (I can't imagine that the fact that there's an offered workaround in the report would be a reason to regard the problem as 'fixed".)
Comment by Charlie A.
31401 | September 26, 2019 05:26:22 PM GMT
Hi Charlie, This issue is fixed in the development branch as of now, but it is still in ToTest state. The fix will be available only after the testing is done.  -Nimit
Comment by Nimit S.
31416 | September 26, 2019 08:48:53 PM GMT
Hi All, This issue is fixed now. Please reach out to ColdFusion support @ [cfinstal@adobe.com|mailto:cfinstal@adobe.com] to get the patch. -Nimit
Comment by Nimit S.
31458 | September 29, 2019 05:31:47 PM GMT
Please note that the hotfix provided by support (hf201600-4205269) does not fix this issue. Chris H's original test case still fails.
Comment by Mike H.
31540 | October 03, 2019 07:08:34 PM GMT
I would add that we have just run into this same behavior being present in a CF 2018 environment running HF 5 along with the patch (hf201800-4205269) provided by support.
Comment by Paul T.
31555 | October 07, 2019 09:44:00 AM GMT
CF-4205347 is a better example of how bad this issue is.
Comment by Travis E.
31640 | October 17, 2019 02:03:18 PM GMT