Home Dashboard Directory Help
Search

SSRS 2012 Failed with win32 error 0x03E3 by elfriedman


Status: 

Active


4
0
Sign in
to vote
Type: Bug
ID: 782155
Opened: 3/26/2013 10:05:46 AM
Access Restriction: Public
0
Workaround(s)
view
3
User(s) can reproduce this bug

Description


I saw that this error was fixed in SP 1 for SQL 2008 R2 -- so I'm curious as to why I'm getting this error in SQL 2012. This is affecting a handful but not all reports in SSRS:

rshost!rshost!2374!03/26/2013-11:53:12:: e ERROR: WriteCallback(): failed to write in write callback.
rshost!rshost!2374!03/26/2013-11:53:12:: e ERROR: Failed with win32 error 0x03E3, pipeline=0x00000024796243B0.
rshost!rshost!19ac!03/26/2013-11:53:12:: e ERROR: HttpPipelineCallback::SendResponse(): failed async writing response.
rshost!rshost!19ac!03/26/2013-11:53:12:: e ERROR: Failed with win32 error 0x03E3, pipeline=0x00000024796243B0.
httpruntime!ReportServer_0-2!19ac!03/26/2013-11:53:12:: e ERROR: Failed in BaseWorkerRequest::SendHttpResponse(bool), exception=System.Runtime.InteropServices.COMException (0x800703E3): The I/O operation has been aborted because of either a thread exit or an application request. (Exception from HRESULT: 0x800703E3)
at Microsoft.ReportingServices.HostingInterfaces.IRsHttpPipeline.SendResponse(Void* response, Boolean finalWrite, Boolean closeConn)
at ReportingServicesHttpRuntime.BaseWorkerRequest.SendHttpResponse(Boolean finalFlush)
library!ReportServer_0-2!19ac!03/26/2013-11:53:12:: e ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerHttpRuntimeInternalException: RsWorkerRequest::FlushResponse., Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerHttpRuntimeInternalException: An internal or system error occurred in the HTTP Runtime object for application domain ReportServer_MSSQLSERVER_0-2-130087843597240510. ---> System.Runtime.InteropServices.COMException (0x800703E3): The I/O operation has been aborted because of either a thread exit or an application request. (Exception from HRESULT: 0x800703E3)
at ReportingServicesHttpRuntime.BaseWorkerRequest.SendHttpResponse(Boolean finalFlush)
at ReportingServicesHttpRuntime.RsWorkerRequest.FlushResponse(Boolean finalFlush)
--- End of inner exception stack trace ---;
rshost!rshost!2374!03/26/2013-11:53:15:: e ERROR: WriteCallback(): failed to write in write callback.
rshost!rshost!2374!03/26/2013-11:53:15:: e ERROR: Failed with win32 error 0x03E3, pipeline=0x00000024796243B0.
rshost!rshost!2594!03/26/2013-11:53:15:: e ERROR: HttpPipelineCallback::SendResponse(): failed async writing response.
rshost!rshost!2594!03/26/2013-11:53:15:: e ERROR: Failed with win32 error 0x03E3, pipeline=0x00000024796243B0.
httpruntime!ReportServer_0-2!2594!03/26/2013-11:53:15:: e ERROR: Failed in BaseWorkerRequest::SendHttpResponse(bool), exception=System.Runtime.InteropServices.COMException (0x800703E3): The I/O operation has been aborted because of either a thread exit or an application request. (Exception from HRESULT: 0x800703E3)
at Microsoft.ReportingServices.HostingInterfaces.IRsHttpPipeline.SendResponse(Void* response, Boolean finalWrite, Boolean closeConn)
at ReportingServicesHttpRuntime.BaseWorkerRequest.SendHttpResponse(Boolean finalFlush)
library!ReportServer_0-2!2594!03/26/2013-11:53:15:: e ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerHttpRuntimeInternalException: RsWorkerRequest::FlushResponse., Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerHttpRuntimeInternalException: An internal or system error occurred in the HTTP Runtime object for application domain ReportServer_MSSQLSERVER_0-2-130087843597240510. ---> System.Runtime.InteropServices.COMException (0x800703E3): The I/O operation has been aborted because of either a thread exit or an application request. (Exception from HRESULT: 0x800703E3)
at ReportingServicesHttpRuntime.BaseWorkerRequest.SendHttpResponse(Boolean finalFlush)
at ReportingServicesHttpRuntime.RsWorkerRequest.FlushResponse(Boolean finalFlush)
--- End of inner exception stack trace ---;
processing!ReportServer_0-2!27d8!03/26/2013-11:53:27:: e ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: , Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: There is no data for the field at position 9.;
processing!ReportServer_0-2!27d8!03/26/2013-11:53:27:: e ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: , Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: There is no data for the field at position 10.;
Details
Sign in to post a comment.
Posted by Microsoft on 5/13/2014 at 4:51 PM
Hello,

Thank you for submitting this feedback. We are investigating the issue and will update you when we have more information.

Matt Jones
SSRS Tiger Dev Team
Posted by WoodsBG on 10/2/2013 at 9:05 AM
I have a report that takes a little time and resources and at one point the server got into a state where just initially pulling up the report which only runs a simple query initially to populate the pulldown boxes took forever to open. Once open, the longer running part ran fine. The query that was causing the hang up does pull data from a linked server.

Found this error in the logs, appears the same as others are seeing:

13-09:34:06:: e ERROR: WriteCallback(): failed to write in write callback.
rshost!rshost!117c!09/26/2013-09:34:06:: e ERROR: Failed with win32 error 0x03E3, pipeline=0x00000040683B7D10.
rshost!rshost!1a94!09/26/2013-09:34:06:: e ERROR: HttpPipelineCallback::SendResponse(): failed async writing response.
rshost!rshost!1a94!09/26/2013-09:34:06:: e ERROR: Failed with win32 error 0x03E3, pipeline=0x00000040683B7D10.
httpruntime!ReportManager_0-4!1a94!09/26/2013-09:34:06:: e ERROR: Failed in BaseWorkerRequest::SendHttpResponse(bool), exception=System.Runtime.InteropServices.COMException (0x800703E3): The I/O operation has been aborted because of either a thread exit or an application request. (Exception from HRESULT: 0x800703E3)
at Microsoft.ReportingServices.HostingInterfaces.IRsHttpPipeline.SendResponse(Void* response, Boolean finalWrite, Boolean closeConn)
at ReportingServicesHttpRuntime.BaseWorkerRequest.SendHttpResponse(Boolean finalFlush)
library!ReportManager_0-4!1a94!09/26/2013-09:34:06:: e ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerHttpRuntimeInternalException: RsWorkerRequest::FlushResponse., Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerHttpRuntimeInternalException: An internal or system error occurred in the HTTP Runtime object for application domain ReportManager_MSSQLSERVER_0-4-130246794347777076. ---> System.Runtime.InteropServices.COMException (0x800703E3): The I/O operation has been aborted because of either a thread exit or an application request. (Exception from HRESULT: 0x800703E3)
at ReportingServicesHttpRuntime.BaseWorkerRequest.SendHttpResponse(Boolean finalFlush)
at ReportingServicesHttpRuntime.RsWorkerRequest.FlushResponse(Boolean finalFlush)
Posted by GrangerATS on 7/12/2013 at 11:55 AM
Using another Win7 Pro (x64) machine which still has IE9 on it (9.0.8112.16421; update v9.0.5), I did not get the "12002" error. The report ran just fine, just like in Firefox.

After this month's round of Microsoft patches, running IE10 (10.0.9200.16635; update v10.0.7) I can confirm that the issue is not resolved.
Posted by GrangerATS on 7/10/2013 at 3:02 PM
Using the "Network" tab of the debugger in IE10 to capture network activity, I've further confirmed that it's a client-side issue. The Microsoft Javascript framework incorrectly reports the "12002" error as a server-side error, when it is, in fact, client-side. The "Result" column on the "Network" tab shows "(Aborted)" for the 2 requests that are initiated when the "View Report" button is clicked; all of the rest show HTTP status codes of either 200 or 304. And the "Initiator" column is useless as it reads "(Pending...)".

Next up: Playing in the piles and piles of spaghetti code to discover where this magic timeout is being set so I can get it changed.
Posted by GrangerATS on 7/10/2013 at 1:11 PM
I have made progress. At this point, I believe the actual problem lies in Microsoft's Javascript. As to the problem server-side, I feel there is nothing else to deal with; it truly is a problem where the report finishes rendering, but the client has already disconnected (due to Javascript bugs). SSRS is just logging it as an ERROR instead of as INFO. I've been able to watch the errors appear client-side, but not have the server log an error until significantly later.



To give you context: On the ReportManager site, when going to view a report in the browser, the page is using the the Javascript code in MicrosoftAjaxWebForms.js as returned by ScriptResource.axd. The web.config has this in <httpHandlers>:
------------------------------------------------------------------
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />
------------------------------------------------------------------
I tried switching to "...Version=4.0.0.0...", but that just caused IE10 to complain about a MIME-type mismatch. The axd reports "text/html", but the ReportManager code says the script type is "text/javascript". I may revisit this later, but there are reports that the SSRS 2012 service is still a .Net 2.0/3.5 AppDomain, so I'm reluctant to pursue that until I have to.



Anyhow, my current test is running a report that completes perfectly fine in about 2.5 minutes in Firefox 17. Firebug logs zero errors, and there's nothing logged server-side. However, in IE10, I get the following error on the page after about 10 seconds (and about 2 minutes later, the server logs the "win32 error 0x03E3" and all that comes along for the ride):
------------------------------------------------------------------
Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 0
------------------------------------------------------------------

Note that this is running IE10 in Browser Mode "IE10" and Document Mode "Standards". Also, the debugger logs this Javascript error in the console:
------------------------------------------------------------------
SCRIPT7002: XMLHttpRequest: Network Error 0x2ee2, Could not complete the operation due to error 00002ee2.
------------------------------------------------------------------

If I repeat the attempt after switching IE10 to use Document Mode "IE5 quirks" (which is the default), the error displayed on the page (again, ~10 sec) is:
------------------------------------------------------------------
Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 12002
------------------------------------------------------------------

There are no other errors logged to the console. And I find it interesting that 12002 = 0x2ee2; the same error reported in a different manner.



So there has to be a timeout that is being used by the Microsoft Ajax library, and the bug isn't cross-browser because it doesn't fail in Firefox. Does anyone know how to fix this? ReportManager's code is in a .dll, so I can't change settings in a server-side tag. Hopefully, there's other settings for System.Web.Extensions' stuff, or else I've got yet another client-side Javascript fix to invent.



And on a related note, I have found one more "timeout" setting for SSRS; this one is undocumented officially (but I found notes here: http://blogs.msdn.com/b/jgalla/archive/2006/10/11/session-timeout-during-execution.aspx ). I have confirmed that this affects the behavior of SSRS 2012, and that its default value is 10 minutes. Before I set "SessionAccessTimeout" to "3600", about 10 minutes into running a report, Firebug would log that the server returned an HTTP 500 error for the "/reports/Reserved.ReportViewerWebControl.axd?OpType=SessionKeepAlive..." request which parallels the main "view report" request.
Posted by GrangerATS on 6/25/2013 at 12:21 PM
I am having a similar problem on SSRS 2012 SP1. When attempting to view a long-running report via Report Manager, the web UI will show the following message after about 15 minutes:
----------------------------------------------------------------------
Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 12019
----------------------------------------------------------------------


The error in the Report Server service log is like so:
----------------------------------------------------------------------
rshost!rshost!e54!06/25/2013-12:32:15:: e ERROR: WriteCallback(): failed to write in write callback.
rshost!rshost!e54!06/25/2013-12:32:15:: e ERROR: Failed with win32 error 0x03E3, pipeline=0x00000001FEC9F440.
rshost!rshost!7d8!06/25/2013-12:32:15:: e ERROR: HttpPipelineCallback::SendResponse(): failed async writing response.
rshost!rshost!7d8!06/25/2013-12:32:15:: e ERROR: Failed with win32 error 0x03E3, pipeline=0x00000001FEC9F440.
httpruntime!ReportServer_0-36!7d8!06/25/2013-12:32:15:: e ERROR: Failed in BaseWorkerRequest::SendHttpResponse(bool), exception=System.Runtime.InteropServices.COMException (0x800703E3): The I/O operation has been aborted because of either a thread exit or an application request. (Exception from HRESULT: 0x800703E3)
at Microsoft.ReportingServices.HostingInterfaces.IRsHttpPipeline.SendResponse(Void* response, Boolean finalWrite, Boolean closeConn)
at ReportingServicesHttpRuntime.BaseWorkerRequest.SendHttpResponse(Boolean finalFlush)
library!ReportServer_0-36!7d8!06/25/2013-12:32:15:: e ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerHttpRuntimeInternalException: RsWorkerRequest::FlushResponse., Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerHttpRuntimeInternalException: An internal or system error occurred in the HTTP Runtime object for application domain ReportServer_SQL2012_0-36-130166568006695651. ---> System.Runtime.InteropServices.COMException (0x800703E3): The I/O operation has been aborted because of either a thread exit or an application request. (Exception from HRESULT: 0x800703E3)
at ReportingServicesHttpRuntime.BaseWorkerRequest.SendHttpResponse(Boolean finalFlush)
at ReportingServicesHttpRuntime.RsWorkerRequest.FlushResponse(Boolean finalFlush)
--- End of inner exception stack trace ---;
----------------------------------------------------------------------


If the same report is run via a subscription (same user, parameters, data source, etc.), it completes after about 17 minutes or so; no errors. The final size of the output xlsx file is about 20kB.

As to the various timeout settings scattered around SSRS, please be aware that both the server and manager web.config files have the following:
----------------------------------------------------------------------
<httpRuntime executionTimeout="9000" maxRequestLength="1048576" />
----------------------------------------------------------------------


Additionally, the RSReportServer.config file has this (though I believe this setting is irrelevant, since I read somewhere that it's supposed to be a connection timeout, not actually a query-execution timeout):
----------------------------------------------------------------------
<Add Key="DatabaseQueryTimeout" Value="50000"/>
----------------------------------------------------------------------


Finally, the SSRS database catalog has the following settings in the ConfigurationInfo table:

SystemReportTimeout = -1 (This corresponds to the setting you can change on the ReportManager site. The report does NOT override this setting.)
SessionTimeout = 600


So, the question is: Is there yet another timeout setting that the public should know about? It's really frustrating for people to have to wait 15 minutes before they can tell if they can use the web UI to run a report.
Sign in to post a workaround.