I got a feedback crash log from my user, there is no clue for it, can you help me how to fix this kind of problem?
Crash time: 2014-02-10,20:17:01:589
-----: --------------------------------------- ----------------
App version: 1.2.5129.43070
OS Version: 8.0.10211.0
Device Name: A620e
Device Manufacturer: HTC
Device Firmware Version: 1325.00.10702.1402
Device Hardware Version: 1325.00.10702.1402
Power Source: External
Network: Unavailable
-----: --------------------------------------- ----------------
Exception message: Invalid cross-thread access.
-----: --------------------------------------- ----------------
Stack trace: at MS.Internal.XcpImports.CheckThread()
at System.Windows.Application.get_Host()
at System.Windows.Application.Application_Exiting(Object sender, EventArgs
e)
at MS.Internal.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex,
Delegate handlerDelegate, Object sender, Object args)
at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr
unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String
eventName)
Related
I get this error when I publish the website on windows server 2003.
.Net framework version is 3.5. MySQL connector is 6.7.9.
I tried to add System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Ssl3
to the global file in application_start
System.IO.IOException: Received an unexpected EOF or 0 bytes from the transport stream. at System.Net.FixedSizeReader.ReadPacket(Byte[] buffer, Int32 offset, Int32 count) at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult) at MySql.Data.MySqlClient.NativeDriver.StartSSL() at MySql.Data.MySqlClient.NativeDriver.Open() at MySql.Data.MySqlClient.Driver.Open() at MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings) at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection() at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver() at MySql.Data.MySqlClient.MySqlPool.GetConnection() at MySql.Data.MySqlClient.MySqlConnection.Open() at pcounter.report.Page_Load(Object sender, EventArgs e) in C:\Users\aisied\Documents\Github\pcounter\pcounter\report.aspx.vb:line 20
Adding sslmode=none to connection string solved the problem.
I got this error massage in MySQL, it was not blocked by firewall/anti-virus software. It happened when some task which is resource-intensive was launched.
Someone mention that it may cause by process priority issue
https://bugs.mysql.com/bug.php?id=76597
How can I do?
Error Msg:
MySql.Data.MySqlClient.MySqlException (0x80004005): Authentication to host 'localhost' for user 'xxx' using method 'mysql_native_password' failed with message: Reading from the stream has failed.
---> MySql.Data.MySqlClient.MySqlException (0x80004005): Reading from the stream has failed.
---> System.IO.IOException: Unable to read data from the transport connection: An established connection was aborted by the software in your host machine.
---> System.Net.Sockets.SocketException: An established connection was aborted by the software in your host machine
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
--- End of inner exception stack trace ---
at MySql.Data.Common.MyNetworkStream.HandleOrRethrowException(Exception e)
at MySql.Data.Common.MyNetworkStream.Read(Byte[] buffer, Int32 offset, Int32 count)
at MySql.Data.MySqlClient.TimedStream.Read(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.BufferedStream.Read(Byte[] array, Int32 offset, Int32 count)
at MySql.Data.MySqlClient.MySqlStream.ReadFully(Stream stream, Byte[] buffer, Int32 offset, Int32 count)
at MySql.Data.MySqlClient.MySqlStream.LoadPacket()
at MySql.Data.MySqlClient.MySqlStream.LoadPacket()
at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.ReadPacket()
at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.AuthenticationFailed(Exception ex)
at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.ReadPacket()
at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.Authenticate(Boolean reset)
at MySql.Data.MySqlClient.NativeDriver.Open()
at MySql.Data.MySqlClient.Driver.Open()
at MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)
at MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection()
at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()
at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()
at MySql.Data.MySqlClient.MySqlPool.GetConnection()
at MySql.Data.MySqlClient.MySqlConnection.Open()
at SecureDockDataAccess.DBAccess.Execute(String sql)
We often see this kind of errors in SSRS log file. This seems like internal error happening inside SSRS engine. How can we debug this ? We are not getting any other relevant information when report fails.
library!ReportServer_0-1!2864!09/09/2016-00:28:15:: w WARN:
Microsoft.ReportingServices.ReportProcessing.ReportProcessingException:
An unexpected error occurred in Report Processing. --->
System.Threading.ThreadAbortException: Thread was being aborted. at
Microsoft.Win32.Win32Native.SetFilePointerWin32(SafeFileHandle handle,
Int32 lo, Int32* hi, Int32 origin) at
Microsoft.Win32.Win32Native.SetFilePointer(SafeFileHandle handle,
Int64 offset, SeekOrigin origin, Int32& hr) at
System.IO.FileStream.SeekCore(Int64 offset, SeekOrigin origin) at
System.IO.FileStream.Seek(Int64 offset, SeekOrigin origin) at
Microsoft.ReportingServices.Library.PartitionFileStream.Seek(Int64
offset, SeekOrigin origin) at
Microsoft.ReportingServices.Library.MemoryUntilThresholdStream.Seek(Int64
offset, SeekOrigin origin) at
Microsoft.ReportingServices.Library.RSStream.Seek(Int64 offset,
SeekOrigin origin) at System.IO.BufferedStream.Seek(Int64 offset,
SeekOrigin origin) at
Microsoft.ReportingServices.Rendering.RPLProcessing.RPLReader.ReadElementProps(Int64
startOffset, RPLContext context, Byte& elementType) at
Microsoft.ReportingServices.Rendering.ExcelRenderer.Layout.LayoutEngine.RenderNewItem(IRowItemStruct
item, Int32 top, Int32 topRow, IExcelGenerator excel, String
pageContentKey, Dictionary2 sharedBorderCache, Dictionary2
sharedImageCache, Boolean& autosizableGrow, Boolean&
autosizableShrink) at
Microsoft.ReportingServices.Rendering.ExcelRenderer.Layout.LayoutEngine.RenderPageToExcel(IExcelGenerator
excel, String key, Dictionary2 sharedBorderCache, Dictionary2
sharedImageCache) at
Microsoft.ReportingServices.Rendering.ExcelRenderer.MainEngine.RenderRPLPage(RPLReport
report, Boolean headerInBody, Boolean suppressOutlines) at
Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer.Render(Report
report, NameValueCollection reportServerParameters,
NameValueCollection deviceInfo, NameValueCollection
clientCapabilities, Hashtable& renderProperties,
CreateAndRegisterStream createAndRegisterStream) at
Microsoft.ReportingServices.ReportProcessing.Execution.RenderReport.InvokeRenderer(IRenderingExtension
renderer, Report report, NameValueCollection reportServerParameters,
NameValueCollection deviceInfo, NameValueCollection
clientCapabilities, Hashtable& renderProperties,
CreateAndRegisterStream createAndRegisterStream) at
Microsoft.ReportingServices.ReportProcessing.Execution.RenderReport.Execute(IRenderingExtension
newRenderer) --- End of inner exception stack trace --- at
Microsoft.ReportingServices.ReportProcessing.Execution.RenderReport.Execute(IRenderingExtension
newRenderer) at
Microsoft.ReportingServices.ReportProcessing.ReportProcessing.RenderReport(DateTime
executionTimeStamp, ProcessingContext pc, RenderingContext rc,
IChunkFactory yukonCompiledDefinition) at
Microsoft.ReportingServices.Library.RenderLive.CallProcessingAndRendering(ProcessingContext
pc, RenderingContext rc, OnDemandProcessingResult& result) at
Microsoft.ReportingService
webserver!ReportServer_0-1!2864!09/09/2016-00:28:16:: e ERROR:
Throwing
Microsoft.ReportingServices.Diagnostics.Utilities.UnhandledHttpApplicationException:
,
Microsoft.ReportingServices.Diagnostics.Utilities.UnhandledHttpApplicationException:
The report server encountered an unhandled exception in
HttpApplication. ---> System.Web.HttpException: Request timed out.
--- End of inner exception stack trace ---;
--------- UPDATE ----------
I see new error in log as
library!WindowsService_0!e88!09/09/2016-17:09:45:: e ERROR: Throwing
Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerStorageException:
, An error occurred within the report server database. This may be
due to a connection failure, timeout or low disk condition within the
database.; dbcleanup!WindowsService_0!e88!09/09/2016-17:09:45:: e
ERROR: Error in CleanOrphanedSnapshots:
Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerStorageException:
An error occurred within the report server database. This may be due
to a connection failure, timeout or low disk condition within the
database. ---> System.Data.SqlClient.SqlException: Timeout expired.
The timeout period elapsed prior to completion of the operation or the
server is not responding.
library!WindowsService_0!e88!09/09/2016-17:09:45:: i INFO: Cleaned 0
batch records, 0 policies, 0 sessions, 0 cache entries, 0 snapshots, 0
chunks, 4 running jobs, 0 persisted streams, 0 segments, 0 segment
mappings, 0 edit sessions.
--------- UPDATE ----------
After updating all the timeout to 12hr and Put DO NOT TIMEOUT setting on SSRS site setting, we see diff error now.
So far we have checked execution log and it shows no error. Below error is found inside ssrs log file. Server has 32gb memory and we run on 64bit OS. This report sometimes is generated fine and its 200MB in size.
httpruntime!ReportServer_0-2!58dc!09/12/2016-23:26:45:: 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!58dc!09/12/2016-23:26:45:: 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_REPCENTER_0-2-131182052998828671.
---> 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 ---;
Finally we have answer to this. Its the recyletime element inside "rsreportserver.config" file. By default this element value is set to 720 min (12 hr). This means from the time you start the SSRS service, it will recycle every 12 hr. Our service was started during mid night release this means it kept recycling everyday at noon. We have since update this value to 24 hr.
<RecycleTime>1440</RecycleTime>
<MaxAppDomainUnloadTime>60</MaxAppDomainUnloadTime>
I'm trying to put exception handling into my working orchestration and cannot get the exception caught. It keeps suspending the message instead of executing my exception block to handle it more gracefully.
Any suggestions?
Here are the event log messages I'm getting:
A message sent to adapter "WCF-Custom" on send port "InsertOracleMasterPort" with URI "oracledb://svd0odbd01:1529/ebsdev/Dedicated" is suspended.
Error details: Microsoft.ServiceModel.Channels.Common.ConnectionException: ORA-1017: invalid username/password; logon denied ---> Oracle.DataAccess.Client.OracleException: ORA-1017: invalid username/password; logon denied
at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, Object src)
at Oracle.DataAccess.Client.OracleConnection.Open()
at Microsoft.Adapters.OracleCommon.OracleCommonConnectionWrapper..ctor(String connectionString, OracleCommonExecutionHelper executionHelper)
at Microsoft.Adapters.OracleDB.OracleDBConnection.Microsoft.ServiceModel.Channels.Common.IConnection.Open(TimeSpan timeout)
--- End of inner exception stack trace ---
Server stack trace:
at Microsoft.Adapters.OracleDB.OracleDBConnection.Microsoft.ServiceModel.Channels.Common.IConnection.Open(TimeSpan timeout)
at Microsoft.ServiceModel.Channels.Common.Design.ConnectionPool.GetConnection(Guid clientId, TimeSpan timeout)
at Microsoft.ServiceModel.Channels.Common.Design.ConnectionPool.GetConnectionHandler[TConnectionHandler](Guid clientId, TimeSpan timeout, MetadataLookup metadataLookup, String& connectionId)
at Microsoft.ServiceModel.Channels.Common.Channels.AdapterRequestChannel.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open()
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at System.ServiceModel.ICommunicationObject.Open()
at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.GetChannel[TChannel](IBaseMessage bizTalkMessage, ChannelFactory`1& cachedFactory)
at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.SendMessage(IBaseMessage bizTalkMessage)
MessageId: {1CC95FB3-E543-4011-9BDD-EABB50B75BC2}
InstanceID: {EF352982-D16C-421E-806C-58E432049951}
Second message:
xlang/s engine event log entry: Uncaught exception (see the 'inner exception' below) has suspended an instance of service 'Orchestrations.OracleInvoice(868ee765-7874-ec30-0cc7-f81ae5ebfb2b)'.
The service instance will remain suspended until administratively resumed or terminated.
If resumed the instance will continue from its last persisted state and may re-throw the same unexpected exception.
InstanceId: 7eefaf7e-0e9c-4ee6-be6e-7030ece2058b
Shape name:
ShapeId:
Exception thrown from: segment -1, progress -1
Inner exception: An error occurred while processing the message, refer to the details section for more information
Message ID: {1CC95FB3-E543-4011-9BDD-EABB50B75BC2}
Instance ID: {EF352982-D16C-421E-806C-58E432049951}
Error Description: Microsoft.ServiceModel.Channels.Common.ConnectionException: ORA-1017: invalid username/password; logon denied ---> Oracle.DataAccess.Client.OracleException: ORA-1017: invalid username/password; logon denied
at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, Object src)
at Oracle.DataAccess.Client.OracleConnection.Open()
at Microsoft.Adapters.OracleCommon.OracleCommonConnectionWrapper..ctor(String connectionString, OracleCommonExecutionHelper executionHelper)
at Microsoft.Adapters.OracleDB.OracleDBConnection.Microsoft.ServiceModel.Channels.Common.IConnection.Open(TimeSpan timeout)
--- End of inner exception stack trace ---
Server stack trace:
at Microsoft.Adapters.OracleDB.OracleDBConnection.Microsoft.ServiceModel.Channels.Common.IConnection.Open(TimeSpan timeout)
at Microsoft.ServiceModel.Channels.Common.Design.ConnectionPool.GetConnection(Guid clientId, TimeSpan timeout)
at Microsoft.ServiceModel.Channels.Common.Design.ConnectionPool.GetConnectionHandler[TConnectionHandler](Guid clientId, TimeSpan timeout, MetadataLookup metadataLookup, String& connectionId)
at Microsoft.ServiceModel.Channels.Common.Channels.AdapterRequestChannel.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open()
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at System.ServiceModel.ICommunicationObject.Open()
at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.GetChannel[TChannel](IBaseMessage bizTalkMessage, ChannelFactory`1& cachedFactory)
at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.SendMessage(IBaseMessage bizTalkMessage)
Exception type: XlangSoapException
Source: Microsoft.XLANGs.BizTalk.Engine
Target Site: Void VerifyTransport(Microsoft.XLANGs.Core.Envelope, Int32, Microsoft.XLANGs.Core.Context)
The following is a stack trace that identifies the location where the exception occured
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXPortBase.VerifyTransport(Envelope env, Int32 operationId, Context ctx)
at Microsoft.XLANGs.Core.Subscription.Receive(Segment s, Context ctx, Envelope& env, Boolean topOnly)
at Microsoft.XLANGs.Core.PortBase.GetMessageId(Subscription subscription, Segment currentSegment, Context cxt, Envelope& env, CachedObject location)
at Orchestrations.OracleInvoice.segment2(StopConditions stopOn)
at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)
Here's the orchestration:
The catch blocks use these types of error objects:
System.Web.Services.Protocols.SoapException
Microsoft.XLANGs.Core.XlangSoapException
Microsoft.XLANGs.BaseTypes.XLANGsException
General Exception
System.Exception
I thought the exception handling would bubble up and be caught in the system.exception or general handlers but that doesn't happen.
based on those posts it look like you need to create and catch wcf fault exeption
example 1
example 2
I am doing a regular update table scan
Using connect1 As New MySqlConnection(ConnectLocalhost.serverString)
connect1.Open()
Dim cmd = New MySqlCommand("set net_write_timeout=99999; set net_read_timeout=99999", connect1) ' // Setting tiimeout on mysqlServer
cmd.ExecuteNonQuery()
Dim BusinessReader = selectSomeQuery("Select * from tablebusiness limit 800,10000000", connect1)
Do While BusinessReader.Read 'random exception here
Sometimes I got this error
MySql.Data.MySqlClient.MySqlException was unhandled
ErrorCode=-2147467259
Message=Fatal error encountered during data read.
Number=0
Source=MySql.Data
StackTrace:
at MySql.Data.MySqlClient.MySqlDataReader.Read()
at dreamhost.Business.InsertLocalhost() in \\work\c\business\fromwork\currentprojects\program\library\vb.net\badger.vb:line 1849
at dreamhost.Business.surFoursquare() in \\work\c\business\fromwork\currentprojects\program\library\vb.net\badger.vb:line 1939
at dreamhost.traverseweb._Lambda$__92() in \\work\c\business\fromwork\currentprojects\program\library\vb.net\traverseweb.vb:line 77
at dreamhost.buttonClicking.startAndStopClickingButton(Object sender, Action SomeSub) in \\work\c\business\fromwork\currentprojects\program\library\vb.net\buttonclicking.vb:line 45
at dreamhost.traverseweb.foursquare_Click(Object sender, EventArgs e) in \\work\c\business\fromwork\currentprojects\program\library\vb.net\traverseweb.vb:line 77
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(ApplicationContext context)
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
at dreamhost.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:line 81
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException: MySql.Data.MySqlClient.MySqlException
ErrorCode=-2147467259
Message=Reading from the stream has failed.
Number=0
Source=MySql.Data
StackTrace:
at MySql.Data.MySqlClient.MySqlStream.LoadPacket()
at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
at MySql.Data.MySqlClient.NativeDriver.FetchDataRow(Int32 statementId, Int32 columns)
at MySql.Data.MySqlClient.Driver.FetchDataRow(Int32 statementId, Int32 columns)
at MySql.Data.MySqlClient.ResultSet.GetNextRow()
at MySql.Data.MySqlClient.ResultSet.NextRow(CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlDataReader.Read()
InnerException: System.IO.IOException
Message=Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
Source=MySql.Data
StackTrace:
at MyNetworkStream.HandleOrRethrowException(Exception e)
at MyNetworkStream.Read(Byte[] buffer, Int32 offset, Int32 count)
at MySql.Data.MySqlClient.TimedStream.Read(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.BufferedStream.Read(Byte[] array, Int32 offset, Int32 count)
at MySql.Data.MySqlClient.MySqlStream.ReadFully(Stream stream, Byte[] buffer, Int32 offset, Int32 count)
at MySql.Data.MySqlClient.MySqlStream.LoadPacket()
InnerException: System.Net.Sockets.SocketException
ErrorCode=10054
Message=An existing connection was forcibly closed by the remote host
NativeErrorCode=10054
Source=System
StackTrace:
at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
InnerException:
All I want is for the program to just "continue" when this thing happen. But that seems to be impossible. So I guess I need a way to make sure this bug doesn't happen. It happens randomly eery 800 entries or so.
Looks to me the connection is forcibly closed by remote host. In that case, I simply want to go where things left on and restart again.
There may be a lot of reasons why the connection drops (server load, network problem, etc). That your program is crashing suggests that your database code is not protected by a try statement. If you do something like this :
try
Using connect1 As New MySqlConnection(ConnectLocalhost.serverString)
connect1.Open()
Dim cmd = New MySqlCommand("set net_write_timeout=99999; _
set net_read_timeout=99999", connect1)
cmd.ExecuteNonQuery()
Dim BusinessReader = selectSomeQuery("Select *...", connect1)
Do While BusinessReader.Read
'random exception here'
'...more code'
Loop
End Using
Catch ex As Exception
' code breaks here on exception - recover from this point '
End Try
I won't go into a protracted dissertation on exception handling but there are a lot of resources out there if you have a look. How you deal with it will depend on your specific situation - whether to log the exception, record what the last successful operation was, whether to try to resume from where you were or whether to try to do the whole thing over again, notify the user, etc.
MSDN - Try/Catch/Finally