tracker issue : CF-3851961

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

[ANeff] Bug for: abort throws exception within iteration member function UDFs

| View in Tracker

Status/Resolution/Reason: Closed/Fixed/

Reporter/Name(from Bugbase): Aaron Neff / Aaron Neff (Aaron Neff)

Created: 11/14/2014

Components: Debugging

Versions: 11.0

Failure Type:

Found In Build/Fixed In Build: CF11_Final / CF11 Update5

Priority/Frequency: Major / Some users will encounter

Locale/System: English / Win All

Vote Count: 1

Listed in the version 11.0.05.293506 Issues Fixed doc
When UDF contains abort, it aborts properly when UDF is passed to built-in iteration functions but an exception is thrown when UDF is passed to iteration member functions

Repro (just uncomment each and run, to compare behavior between each BIF and member function pair):

<cfscript>
  function myFunction(){writeDump(ARGUMENTS); abort;}//abort triggers exception w/in all member functions but works fine in all built-in functions
  
  /*myList = "b||a||c";
  listEach(myList, myFunction, "|", true);*/
  /*myList = "b||a||c";
  myList.listEach(myFunction, "|", true);*/
  /*myList = "b||a||c";
  writeOutput(listMap(myList, myFunction, "|", true));*/
  /*myList = "b||a||c";
  writeOutput(myList.listMap(myFunction, "|", true));*/
  /*myList = "b||a||c";
  writeOutput(listReduce(myList, myFunction, 0, "|", true));*/
  /*myList = "b||a||c";
  writeOutput(myList.listReduce(myFunction, 0, "|", true));*/
  /*myList = "b||a||c";
  writeOutput(listFilter(myList, myFunction, "|", true));*/
  /*myList = "b||a||c";
  writeOutput(myList.listFilter(myFunction, "|", true));*/
  /*myArray = listToArray("b||a||c", "|", true);
  arrayEach(myArray, myFunction);*/
  /*myArray = listToArray("b||a||c", "|", true);
  myArray.each(myFunction);*/
  /*myArray = listToArray("b||a||c", "|", true);
  writeOutput(arrayMap(myArray, myFunction));*/
  /*myArray = listToArray("b||a||c", "|", true);
  writeOutput(myArray.map(myFunction));*/
  /*myArray = listToArray("b||a||c", "|", true);
  writeOutput(arrayReduce(myArray, myFunction, 0));*/
  /*myArray = listToArray("b||a||c", "|", true);
  writeOutput(myArray.reduce(myFunction, 0));*/
  /*myArray = listToArray("b||a||c", "|", true);
  writeOutput(arrayFilter(myArray, myFunction));
  /*myArray = listToArray("b||a||c", "|", true);
  writeOutput(myArray.filter(myFunction));
  /*myStruct = {one="b",two="a",three="c"};
  structEach(myStruct, myFunction);//bug: doesn't return struct*/
  /*myStruct = {one="b",two="a",three="c"};
  myStruct.each(myFunction);//bug: doesn't return struct*/
  /*myStruct = {one="b",two="a",three="c"};
  writeOutput(structMap(myStruct, myFunction));*/
  /*myStruct = {one="b",two="a",three="c"};
  writeOutput(myStruct.map(myFunction));*/
  /*myStruct = {one="b",two="a",three="c"};
  writeOutput(structReduce(myStruct, myFunction, 0));*/
  /*myStruct = {one="b",two="a",three="c"};
  writeOutput(myStruct.reduce(myFunction, 0));*/
  /*myStruct = {one="b",two="a",three="c"};
  writeOutput(structFilter(myStruct, myFunction));*/
  /*myStruct = {one="b",two="a",three="c"};
  writeOutput(myStruct.filter(myFunction));*/
</cfscript>

----------------------------- Additional Watson Details -----------------------------

Watson Bug ID:	3851961

External Customer Info:
External Company:  
External Customer Name: itisdesign
External Customer Email:

Attachments:

Comments:

+1 & subscribe //////////////////
Vote by External U.
10101 | November 14, 2014 06:21:00 AM GMT
Issue fixed, will be available in the upcoming coldfusion update.
Comment by S P.
10098 | February 03, 2015 01:16:51 AM GMT
The fix for this bug is available in the pre-release build of ColdFusion 11 Update 5
Comment by CFwatson U.
10099 | February 20, 2015 09:24:14 AM GMT
Verified this is fixed in CF11 Update 5 (build 11,0,05,293506). Thanks!, -Aaron
Comment by External U.
10100 | September 04, 2015 10:24:01 PM GMT