tracker issue : CF-4203999

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

[ANeff] Bug for: java.lang.VerifyError if ternary operandIfTrue is CFDouble

| View in Tracker

Status/Resolution/Reason: Closed/Withdrawn/Duplicate

Reporter/Name(from Bugbase): Aaron N. / ()

Created: 02/02/2019

Components: Language, Datastructure

Versions: 2018

Failure Type: Crash

Found In Build/Fixed In Build: 2018.0.0.310739 /

Priority/Frequency: Normal / Few users will encounter

Locale/System: / Windows 10 64 bit

Vote Count: 1

Issue: `condition?operandIfTrue:operandIfFalse` throws "Unable to pop operand off an empty stack" java.lang.VerifyError if operandIfTrue is coldfusion.runtime.CFDouble

Repro:
-----------
<cfscript>
  myDouble = 1.1;
  writeOutput(myDouble.getClass().getName());//coldfusion.runtime.CFDouble (in CF2018+)
  
  myCondition = true;
  myResult = myCondition ? 1 : 1.1;
  writeOutput(myResult);//1 (good)
  
  myCondition = false;
  myResult = myCondition ? 1 : 1.1;
  writeOutput(myResult);//1.1 (good)
  
  condition = true;
  result = condition ? 1.1 : 1;
  writeOutput(result);//class error "Unable to pop operand off an empty stack" (bad; should return 1.1)
  
  condition = false;
  result = condition ? 1.1 : 1;
  writeOutput(result);//class error "Unable to pop operand off an empty stack" (bad; should return 1)
  
  condition = true;
  result = condition ?: 1.1;
  writeOutput(result);//true (good)
  
  condition = false;
  result = condition ?: 1.1;
  writeOutput(result);//1.1 (good)
  
  //Note: Pre-CF2018's myDouble is java.lang.Double, and all the above return correctly.
</cfscript>
-----------

See coldfusion-error.log, coldfusion-out.log and exception.log.

Attachments:

Comments:

Related ticket: CF-4203996 However, CF-4203999 is broader. Thanks!, -Aaron
Comment by Aaron N.
30176 | February 02, 2019 04:48:57 AM GMT
Hi Aaron ,   The fix for this bug & CF-4203996 will be same . We had identified this case and when we fix the bug  CF-4203996 it would fix this as well . Hence closing this bug. Thanks, Suchika    
Comment by Suchika S.
30228 | February 12, 2019 07:09:14 AM GMT
Hi Suchika, Just FYI: The reason I filed this ticket is b/c of the future "Issues Fixed" list. What will it say? It will say the title of the ticket that was fixed, right? So that won't be clear.. The other ticket's title is "Error when using terniary conditional inside of <cfdocumentsection>". If someone in the future is looking at the "Issues Fixed" list for the update containing the fix, they will see that ticket title and think there was a cfdocumentsection fix. But, of course, the issue isn't cfdocumentsection-specific. I believe the title of this ticket, here, more closely summarizes the issue. Thank you very much for identifying this case. But do you see what I mean? I hope Adobe will choose a title that summarizes the issue. Thanks!, -Aaron
Comment by Aaron N.
30229 | February 12, 2019 09:35:03 AM GMT
Hi Aaron, Thanks for pointing this. I will make sure that the Issues fixed document clearly states the problem rather than the specific case in CF- 4203996. Regards, Suchika
Comment by Suchika S.
30240 | February 13, 2019 11:20:33 AM GMT
Where is the fix for this issue? It's 8 months since a bug was filed against a basic language construct. It is absurd that this has remained open for this long. Remind me again why we are paying for support contracts?
Comment by Roland C.
31277 | September 04, 2019 02:46:59 PM GMT