Unable to create mutex ReportingServices

1

We have ReportViewer with a local report running in an asp.net site. Recently it was updated with extra data to be displayed.

After the update when we pull data it seems that the amount of data is too much for the Report viewer to handle and we get the following on the excel export.

If we request less data the report export works fine.

Here is the stack trace:

[IsolatedStorageException: Unable to create mutex. (Exception from HRESULT: 0x80131464)]
   System.IO.IsolatedStorage.IsolatedStorageFile.Open(String infoFile, String syncName) +0
   System.IO.IsolatedStorage.IsolatedStorageFile.Lock(Boolean& locked) +370
   System.IO.IsolatedStorage.IsolatedStorageFileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, IsolatedStorageFile isf) +468
   System.IO.IsolatedStorage.IsolatedStorageFileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, IsolatedStorageFile isf) +35
   MS.Internal.IO.Packaging.SafeIsolatedStorageFileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, ReliableIsolatedStorageFileFolder folder) +102
   MS.Internal.IO.Packaging.PackagingUtilities.CreateUserScopedIsolatedStorageFileStreamWithRandomName(Int32 retryCount, String& fileName) +276
   MS.Internal.IO.Packaging.SparseMemoryStream.EnsureIsolatedStoreStream() +31
   MS.Internal.IO.Packaging.SparseMemoryStream.SwitchModeIfNecessary() +400
   MS.Internal.IO.Zip.ZipIOFileItemStream.Write(Byte[] buffer, Int32 offset, Int32 count) +412
   System.IO.Compression.DeflateStream.WriteDeflaterOutput(Boolean isAsync) +8501319
   System.IO.Compression.DeflateStream.Write(Byte[] array, Int32 offset, Int32 count) +79
   MS.Internal.IO.Packaging.CompressStream.Write(Byte[] buffer, Int32 offset, Int32 count) +431
   MS.Internal.IO.Zip.ProgressiveCrcCalculatingStream.Write(Byte[] buffer, Int32 offset, Int32 count) +177
   MS.Internal.IO.Zip.ZipIOModeEnforcingStream.Write(Byte[] buffer, Int32 offset, Int32 count) +130
   Microsoft.ReportingServices.Rendering.ExcelOpenXmlRenderer.XMLModel.XMLStreamsheetModel.WriteStreamToStream(Stream from, Stream to) +125
   Microsoft.ReportingServices.Rendering.ExcelOpenXmlRenderer.XMLModel.XMLStreamsheetModel.Cleanup() +345
   Microsoft.ReportingServices.Rendering.ExcelOpenXmlRenderer.OpenXmlGenerator.FinalizeWorksheet() +1425
   Microsoft.ReportingServices.Rendering.ExcelOpenXmlRenderer.OpenXmlGenerator.SaveSpreadsheet(Stream outputStream, Stream backgroundImage, UInt16 backgroundImageWidth, UInt16 backgroundImageHeight) +22
   Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer.Render(Report report, NameValueCollection reportServerParameters, NameValueCollection deviceInfo, NameValueCollection clientCapabilities, Hashtable& renderProperties, CreateAndRegisterStream createAndRegisterStream) +557

[LocalProcessingException: An error occurred during local report processing.]
   Microsoft.Reporting.WebForms.LocalReport.InternalRender(String format, Boolean allowInternalRenderers, String deviceInfo, PageCountMode pageCountMode, CreateAndRegisterStream createStreamCallback, Warning[]& warnings) +623
   Microsoft.Reporting.WebForms.LocalModeSession.RenderReport(String format, Boolean allowInternalRenderers, String deviceInfo, NameValueCollection additionalParams, Boolean cacheSecondaryStreamsForHtml, String& mimeType, String& fileNameExtension) +274
   Microsoft.Reporting.WebForms.ExportOperation.PerformOperation(NameValueCollection urlQuery, HttpResponse response) +257
   Microsoft.Reporting.WebForms.HttpHandler.ProcessRequest(HttpContext context) +283
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +913
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +165
c#
asp.net
sql-server-2008
reporting-services
asked on Stack Overflow Jun 12, 2014 by Bart

1 Answer

1

This appears similar to several questions regarding Isolated Storage. Solution 1: OpenXml and Unable to create mutex

Change application pool Identity to higher level account with full control access in IIS. IIS> application pools>advanced setting>Identity (in process mode)>choose an account with higher access Behrooz

Solution 2: https://groups.google.com/forum/#!topic/cassette/sa7BblGgo7E Moskowitz

Specifying a cacheDirectory in the Cassette configurations solved the problem. web.configs should look like this:

<cassette rewriteHtml="false" cacheDirectory="/cassettecache/" />

Solution 1 worked for me ... have not approached solution two ... thought a couple of responses from the group may point you in the right direction.

answered on Stack Overflow Jul 23, 2014 by user1359009 • edited Sep 17, 2020 by Mark Schultheiss

User contributions licensed under CC BY-SA 3.0