Title:
ColdFusion 11 IIS Connector Fails to Respond when Application Pool Returns from Idle
| View in TrackerStatus/Resolution/Reason: Closed/Fixed/
Reporter/Name(from Bugbase): Jake Hand / Jake Hand (Jake Hand)
Created: 08/25/2014
Components: Installation/Config, Connector
Versions: 11.0
Failure Type: Performance Issue
Found In Build/Fixed In Build: CF11_Final /
Priority/Frequency: Major / Most users will encounter
Locale/System: ALL / Win 2012 Server x64
Vote Count: 0
Problem Description:
When there are multiple sites in IIS that use a single CF-to-IIS connector (using the 'All Sites' option within wsconfig) apps that go into idle mode do not always come back online properly upon receiving activity. Requests to the site will just load indefinitely and never pass the request on to CF.
When checking one of the affected w3wp.exe processes in Process Explorer, it shows two mutexes for the connector - the first has the path to the connector's DLL in the mutex name, and the second has the name of the site in the mutex name. The mutex that has the path to the connector DLL in its name shows that it has multiple handles open, yet the other mutex only has one open handle.
On a CF 10 server, however, Process Explorer shows the w3wp.exe process only has one mutex for the connector and it is named after the site. That mutex only shows one handle to the file. A screenshot is attached showing these results.
It appears that the 1st mutex that exists for each site is causing syncronization problems for the w3wp.exe processes.
Steps to Reproduce:
1) On a Windows Server with ColdFusion, create multiple sites in IIS -- each with their own application pool. (For the sake of testing, try decreasing the idle timeout to 1 or 5 minutes.)
2) Add a simple CFM file to each test site, then access the file in each site.
3) Wait until the idle timeout passes, then try to access the sites again. When we've done this test in our environment the site fails to respond properly and requests just load indefinitely. Other sites on the server that have not gone idle will continue functioning though.
Actual Result: Site will not respond; the request is not forwarded to CF.
Expected Result: Site should respond and the connector should forward the request to CF.
Any Workarounds:
Killing the w3wp.exe process for the site will allow the application pool to come back online, and the site will start responding again.
Restarting IIS will also allow the site to begin responding.
Disabling the idle timeout would also help, but this is not a viable option in our environment.
----------------------------- Additional Watson Details -----------------------------
Watson Bug ID: 3811806
External Customer Info:
External Company:
External Customer Name: jakefusion
External Customer Email:
External Test Config: My Hardware and Environment details:
- ColdFusion 11 64-bit
- Windows Server 2012 (64-bit)
- IIS 8 running on same server as CF 11
Attachments:
- August 26, 2014 00:00:00: 1_cf-connector-mutexes.png
Comments: