tracker issue : CF-3036847

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

Bug 73814:mail

| View in Tracker

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:

if these are to be singletons this needs to be fixed... they're useless as services otherwise.
Vote by External U.
24635 | November 10, 2011 07:03:18 PM GMT