tracker issue : CF-4140483

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

Recusrive call in UDF fails in CFLOOP over query

| View in Tracker

Status/Resolution/Reason: Closed/Withdrawn/Duplicate

Reporter/Name(from Bugbase): Agamemnon Varonos / Agamemnon Varonos (Agamemnon Varonos)

Created: 04/15/2016

Components: Language, Tags

Versions: 2016

Failure Type: Incorrect w/Workaround

Found In Build/Fixed In Build: CF2016_Final /

Priority/Frequency: Major / All users will encounter

Locale/System: ALL / Mac 10.10 64 bit

Vote Count: 0

Duplicate ID:	CF-4126642

Problem Description:A recursive call in a UDF fails due to early exit of CFLOOP over a query. Apparently the CFLOOP query index is lost although the variable is scoped (local). The same coding is live for over 5 years.

Steps to Reproduce: Check the dynamic menu generation online www.olympias.ch (CF 10) and www.panorasis.com/Test_Site.cfm

Actual Result:The CFLOOP in a recursive UDF call exits early. The application doesn't continue from where the recursive call was done.

Expected Result: The CFLOOP over a query shouldn't exit in case of a recursive UDF call.

Any Workarounds:<CFLOOP index="LoopIndex" from = "1" to = "#objMenu.recordcount#"> The index loop solve the problem but makes coding semantics much more complex and difficult to read.

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

Watson Bug ID:	4140483

External Customer Info:
External Company:  
External Customer Name: Agamemnon Varonos
External Customer Email:  
External Test Config: My Hardware and Environment details: The bug was confirmed on the local development CF 2016 server running on a MAC 10.10 Yosemite as well as on the productive server of www.panorasis.com (CF 2016) WIN server.

Attachments:

Comments:

The CFM code including the workaround is at your disposal.
Comment by External U.
3073 | April 15, 2016 04:21:16 AM GMT
Hi Agamemnon, While waiting for the fix (coming in CF2016's Update 1), please use JVM argument: -Dcoldfusion.udf.reuseTagInstances=false That JVM argument is mentioned in CF2016's Release Notes as the fix for some issues. Not all of the issues it fixes are listed in the Release Notes. I have verified that JVM argument is the fix for all of the issues. Once CF2016's Update 1 is released/installed, then that JVM argument can be removed. Related URL: https://helpx.adobe.com/coldfusion/release-note/coldfusion-2016-release-notes.html Thanks!, -Aaron
Comment by External U.
3074 | April 28, 2016 02:28:57 AM GMT
This issue is fixed in ColdFusion 2016 Update 1. Please verify and if the issue is not resolved then comment on this bug to re-open this bug.
Comment by Nimit S.
3075 | May 16, 2016 06:58:09 AM GMT