mur*_*zat 5 deadlock windbg sqldatareader
我有一个奇怪的问题。在 GetValue() 函数上使用 System.Data.SqlClient.SqlDataReader 读取数据时,进程被冻结/卡住。我正在使用 WinDbg 分析进程转储。我用SOS命令一样!dlk,!SyncBlk,!analyze -v -hang等,但他们没有表示任何死锁。
调用堆栈上的最后一次调用是
000000001a98e8a8 0000000076febd7a [InlinedCallFrame: 000000001a98e8a8] .**SNIReadSyncOverAsync**(SNI_ConnWrapper*, SNI_Packet**, Int32)
000000001a98e8a8 000007fee9e8bca1 [InlinedCallFrame: 000000001a98e8a8] .SNIReadSyncOverAsync(SNI_ConnWrapper*, SNI_Packet**, Int32)
000000001a98e880 000007fee9e8bca1 DomainBoundILStubClass.IL_STUB_PInvoke(SNI_ConnWrapper*, SNI_Packet**, Int32)
000000001a98e950 000007fee9e7254f SNINativeMethodWrapper.SNIReadSyncOverAsync(System.Runtime.InteropServices.SafeHandle, IntPtr ByRef, Int32)
000000001a98e9c0 000007fee9e7226e System.Data.SqlClient.TdsParserStateObject.ReadSniSyncOverAsync()
000000001a98ea70 000007fee9e72180 System.Data.SqlClient.TdsParserStateObject.TryReadNetworkPacket()
000000001a98eab0 000007fee9e72950 System.Data.SqlClient.TdsParserStateObject.TryPrepareBuffer()
000000001a98eae0 000007fee9e728d8 System.Data.SqlClient.TdsParserStateObject.TryReadByteArray(Byte[], Int32, Int32, Int32 ByRef)
000000001a98eb50 000007feea4c0adc System.Data.SqlClient.TdsParser.TryReadSqlValue(System.Data.SqlClient.SqlBuffer, System.Data.SqlClient.SqlMetaDataPriv, Int32, System.Data.SqlClient.TdsParserStateObject)
000000001a98ec10 000007fee9e85cb5 System.Data.SqlClient.SqlDataReader.TryReadColumnInternal(Int32, Boolean)
000000001a98ecb0 000007fee9e85af0 System.Data.SqlClient.SqlDataReader.TryReadColumn(Int32, Boolean, Boolean)
000000001a98ed20 000007fee9e85a0b System.Data.SqlClient.SqlDataReader.GetValueInternal(Int32)
000000001a98ed60 000007fee9e859b7 System.Data.SqlClient.SqlDataReader.GetValue(Int32)
Run Code Online (Sandbox Code Playgroud)
在这里进一步调试的其他途径是什么?有人在使用 SqlDataReader 时遇到过同样的问题吗?
我最近发现这种堆栈跟踪的时候,总是像这样在转储中出现Win32错误。
0:009> !gle LastErrorValue: (Win32) 0x3e5 (997) - 重叠 I/O 操作正在进行中。 LastStatusValue: (NTSTATUS) 0xc0000034 - 未找到对象名称。
这是否意味着由于某些底层 IO 操作而被阻止?
| 归档时间: |
|
| 查看次数: |
500 次 |
| 最近记录: |