Excessive recompilations causing performance problems

Found in

Release 6 R2

Created

Mar 10, 2014

Updated

Sep 21, 2015

Area

Falcon/CMS/Core

State

Closed, Fixed and Tested


Steps to reproduce

If the EPiServer.Web.Hosting.VirtualPathMappedProvider is in the list of virtualPathProviders, the website starts to perform slowly. Most frequently edit/admin mode accesses causes the performance to drop globally.

 

It can be observed that it frequently shells out to csc.exe and that the application often recycles because of "maxRecompilations reached".

 

The implementation of said VPP's GetFileHash(...) does not verify that it handles the requested path before returning a modified filehash (appending the current hash of web.config). When ASP.NET later compares the .compiled-file's stored filehash of the involved files to the current hash, one of these two hashes does NOT have the web.config-hash appended so it triggers a recompilation of the involved files.

 

Memory dump files are available on request.

 

(To be included in Patch 5 (Falcon\Platform Maintenance\Update 5))