Symptom
Unable to fully load Central Admin on a newly built SharePoint Farm. In this case, the issue only occurs when compression is enabled (which is on by default). After loading Central Admin, the top ribbon in service application section is grayed out.
When compression was enabled, the page would load and the request to ScriptResource.axd would return a 404, causing the minified javascript to fail.
When this occurs, the only way for Central Admin to function properly was to turn off compression via the following entry in the CA web.config.
Example:
<system.web.extensions> <scripting> scriptResourceHandler enableCompression="false" enableCaching="true" /> </scripting> </system.web.extensions>
Also, when after loading Central Admin, the following error is generated in the event viewer.
Event code: 3012 Event message: An error occurred processing a web or script resource request. The requested resource 'ZSystem.Web.Extensions,4.0.0.0,,31bf3856ad364e35|MicrosoftAjax.js|' does not exist or there was a problem loading it. Event ID: b43e0843d1e546e191e750cd6ecdd7d7 Event sequence: 9 Event occurrence: 1 Event detail code: 0 Application information: Application domain: /LM/W3SVC/765117769/ROOT-6-131345076446048178 Trust level: Full Application Virtual Path: / Application Path: C:inetpubwwwrootwssVirtualDirectories41280 Machine name: SHAREPOINTSERVER Process information: Process ID: 10316 Process name: w3wp.exe Account name: CONTOSOspservice Exception information: Exception type: ZLibException Exception message: The underlying compression routine could not be loaded correctly. at System.IO.Compression.DeflaterZLib.DeflateInit(CompressionLevel compressionLevel, Int32 windowBits, Int32 memLevel, CompressionStrategy strategy) at System.IO.Compression.DeflaterZLib..ctor(CompressionLevel compressionLevel) at System.IO.Compression.DeflateStream.CreateDeflater(Nullable`1 compressionLevel) at System.IO.Compression.DeflateStream..ctor(Stream stream, CompressionMode mode, Boolean leaveOpen) at System.IO.Compression.GZipStream..ctor(Stream stream, CompressionMode mode) at System.Web.Handlers.ScriptResourceHandler.ProcessRequestInternal(HttpResponseBase response, String decryptedString, VirtualFileReader fileReader) at System.Web.Handlers.ScriptResourceHandler.ProcessRequest(HttpContextBase context, VirtualFileReader fileReader, Action`2 logAction, Boolean validatePath) The type initializer for 'NativeZLibDLLStub' threw an exception. at System.IO.Compression.ZLibNative.ZLibStreamHandle.DeflateInit2_(CompressionLevel level, Int32 windowBits, Int32 memLevel, CompressionStrategy strategy) at System.IO.Compression.DeflaterZLib.DeflateInit(CompressionLevel compressionLevel, Int32 windowBits, Int32 memLevel, CompressionStrategy strategy) Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo) at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32 errorCode, IntPtr errorInfo) at System.IO.Compression.ZLibNative.ZLibStreamHandle.NativeZLibDLLStub.LoadZLibDLL() at System.IO.Compression.ZLibNative.ZLibStreamHandle.NativeZLibDLLStub..cctor() Request information: Request URL: http://sharepointserver:15225/ScriptResource.axd?d=SoSvYHi6vtROzPyGtlLn4uvE_48Ih9qbanGgiHN8gGZrqDOZbu1GQfH_u9B3AW_WlL3vrJ0YTgmneMRplt1-ZvArDdF8RSP5zDV7TQrzcbvDdJAynwanKpuJFP3zAr0RvyjwxYx5K6h8RGmmWqCPlf4m__4Msb14GnYV6PGSqfNC0MGZEBIoOWSfyh_WP4m20&t=2a48f442 Request path: /ScriptResource.axd User host address: ::1 User: Is authenticated: False Authentication Type: Thread account name: NT AUTHORITYIUSR Thread information: Thread ID: 301 Thread account name: NT AUTHORITYIUSR Is impersonating: False Stack trace: at System.IO.Compression.DeflaterZLib.DeflateInit(CompressionLevel compressionLevel, Int32 windowBits, Int32 memLevel, CompressionStrategy strategy) at System.IO.Compression.DeflaterZLib..ctor(CompressionLevel compressionLevel) at System.IO.Compression.DeflateStream.CreateDeflater(Nullable`1 compressionLevel) at System.IO.Compression.DeflateStream..ctor(Stream stream, CompressionMode mode, Boolean leaveOpen) at System.IO.Compression.GZipStream..ctor(Stream stream, CompressionMode mode) at System.Web.Handlers.ScriptResourceHandler.ProcessRequestInternal(HttpResponseBase response, String decryptedString, VirtualFileReader fileReader) at System.Web.Handlers.ScriptResourceHandler.ProcessRequest(HttpContextBase context, VirtualFileReader fileReader, Action`2 logAction, Boolean validatePath)
Cause
In this case, the actual problem was an access denied while attempting to load the GZip DLL.
Example:
Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo) at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32 errorCode, IntPtr errorInfo) at System.IO.Compression.ZLibNative.ZLibStreamHandle.NativeZLibDLLStub.LoadZLibDLL() at System.IO.Compression.ZLibNative.ZLibStreamHandle.NativeZLibDLLStub..cctor()
This access denied was caused by a missing required "Replace a process level token" policy.
Resolution
To resolve this issue the system GPO was modified to include the Application Pool Service Account inside the "Replace a process level token" policy.
More Information
Replace a process level token
https://technet.microsoft.com/en-us/library/cc957225.aspx