Status/Resolution/Reason: Closed/Fixed/
Reporter/Name(from Bugbase): Sean Corfield / Sean Corfield (Sean Corfield)
Created: 11/27/2008
Components: Language
Versions: 9.0
Failure Type: Unspecified
Found In Build/Fixed In Build: 9,0,0,216113 / 222937
Priority/Frequency: Major / Most users will encounter
Locale/System: English / Platforms All
Vote Count: 1
Problem:
mail.cfc (and other script tags) are not thread safe.
Expected usage is to create an instance of these CFCs and store default values there. The send() / execute() methods state that additional arguments provided are used just for that invocation and then discarded. Based on the code, that is not true. send() / execute() simply overwrite the VARIABLES scope data in the CFC so any such arguments persist across future calls.
This is contrary to documented behavior - and also contrary to the idea that these CFCs could be used as services and stored in APPLICATION scope with default attributes.
Method:
Create new mail() and set some default attributes. Store the instance in APPLICATION scope. Now call send() with some overriding attributes set. Call it again with different attributes - the initial call affects the second call, contrary to the documentation.
Result:
No error per se. Anticipated usage will lead to unpredictable behavior due to lack of thread safety.
----------------------------- Additional Watson Details -----------------------------
Watson Bug ID: 3036847
External Customer Info:
External Company:
External Customer Name: Sean Corfield
External Customer Email: 479B4EDC43F3A88B992016B6
External Test Config: 11/27/2008
Attachments:
Comments: