Status/Resolution/Reason: Closed/Withdrawn/Duplicate
Reporter/Name(from Bugbase): Aaron Neff / Aaron Neff (Aaron Neff)
Created: 02/20/2016
Components: Core Runtime
Versions: 2016
Failure Type:
Found In Build/Fixed In Build: CF11_Final /
Priority/Frequency: Major / Some users will encounter
Locale/System: English / Platforms All
Vote Count: 0
Duplicate ID: CF-4126642
Calling the following code creates a deadlock in CF2016 but doesn't in CF11:
<cfscript>
function getObjectFromCache(id) {
var result="";
lock name="lock#ARGUMENTS.id#" type="exclusive" timeout=10 {
result = ARGUMENTS.id is 2 ? getObject2() : getObject3();
}
return result;
}
function getObject2() {
var foo = getObjectFromCache(id=3);//causes deadlock after F5
return "object 2";
}
function getObject3() {return "object 3";}
writeOutput(getObjectFromCache(id=2));
</cfscript>
Steps to reproduce: Just run the above code twice.
Actual result: exception: "A timeout occurred while attempting to lock lock2."
Expected result: "object 2" displayed
Workaround: JVM arg -Dcoldfusion.udf.reuseTagInstances=false
Related ticket: 4044261
----------------------------- Additional Watson Details -----------------------------
Watson Bug ID: 4120119
External Customer Info:
External Company:
External Customer Name: Aaron Neff
External Customer Email:
Attachments:
Comments: