-
Couldn't load subscription status.
- Fork 316
Closed as not planned
Description
.NET Core 2.2
<PackageReference Include="Microsoft.Data.SqlClient" Version="1.1.0" />
<PackageReference Include="Microsoft.SqlServer.SqlManagementObjects" Version="160.1911221.0-preview" />
Repro: https://github.com/aaomidi/smo-test/blob/master/Program.cs
Repro of the issue:
- Create a connection to a SQL Server on MacOS
- Run a query using that connection.
- Disconnect from internet.
- Run a query again, wait for timeout.
- Connect to internet after the timeout.
- Using the same connection from the first step, run another query.
- Expected: Recreates the connection and returns the result.
- Actual: Fails with the following error:
Microsoft.SqlServer.Management.Smo.FailedOperationException: Execute with results failed for Database 'master'. ---> System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'System.Net.Sockets.Socket'.
at System.Net.Sockets.Socket.SetSocketOption(SocketOptionLevel optionLevel, SocketOptionName optionName, Int32 optionValue)
at System.Net.Sockets.Socket.set_ReceiveTimeout(Int32 value)
at Microsoft.Data.SqlClient.SNI.SNITCPHandle.Receive(SNIPacket& packet, Int32 timeoutInMilliseconds) in E:\agent1\_work\31\s\src\Microsoft.Data.SqlClient\netcore\src\Microsoft\Data\SqlClient\SNI\SNITcpHandle.cs:line 453
at Microsoft.Data.SqlClient.SNI.TdsParserStateObjectManaged.ReadSyncOverAsync(Int32 timeoutRemaining, UInt32& error) in E:\agent1\_work\31\s\src\Microsoft.Data.SqlClient\netcore\src\Microsoft\Data\SqlClient\TdsParserStateObjectManaged.cs:line 136
at Microsoft.Data.SqlClient.TdsParserStateObject.ReadSniSyncOverAsync() in E:\agent1\_work\31\s\src\Microsoft.Data.SqlClient\netcore\src\Microsoft\Data\SqlClient\TdsParserStateObject.cs:line 2178
at Microsoft.Data.SqlClient.TdsParserStateObject.TryReadNetworkPacket() in E:\agent1\_work\31\s\src\Microsoft.Data.SqlClient\netcore\src\Microsoft\Data\SqlClient\TdsParserStateObject.cs:line 2137
at Microsoft.Data.SqlClient.TdsParserStateObject.TryPrepareBuffer() in E:\agent1\_work\31\s\src\Microsoft.Data.SqlClient\netcore\src\Microsoft\Data\SqlClient\TdsParserStateObject.cs:line 1093
at Microsoft.Data.SqlClient.TdsParserStateObject.TryReadByte(Byte& value) in E:\agent1\_work\31\s\src\Microsoft.Data.SqlClient\netcore\src\Microsoft\Data\SqlClient\TdsParserStateObject.cs:line 1370
at Microsoft.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) in E:\agent1\_work\31\s\src\Microsoft.Data.SqlClient\netcore\src\Microsoft\Data\SqlClient\TdsParser.cs:line 1773
at Microsoft.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) in E:\agent1\_work\31\s\src\Microsoft.Data.SqlClient\netcore\src\Microsoft\Data\SqlClient\TdsParser.cs:line 1679
at Microsoft.Data.SqlClient.TdsParser.DrainData(TdsParserStateObject stateObj) in E:\agent1\_work\31\s\src\Microsoft.Data.SqlClient\netcore\src\Microsoft\Data\SqlClient\TdsParser.cs:line 4187
at Microsoft.Data.SqlClient.SqlInternalConnectionTds.ValidateConnectionForExecute(SqlCommand command) in E:\agent1\_work\31\s\src\Microsoft.Data.SqlClient\netcore\src\Microsoft\Data\SqlClient\SqlInternalConnectionTds.cs:line 706
at Microsoft.Data.SqlClient.SqlCommand.ValidateCommand(Boolean isAsync, String method) in E:\agent1\_work\31\s\src\Microsoft.Data.SqlClient\netcore\src\Microsoft\Data\SqlClient\SqlCommand.cs:line 4622
at Microsoft.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry, String method) in E:\agent1\_work\31\s\src\Microsoft.Data.SqlClient\netcore\src\Microsoft\Data\SqlClient\SqlCommand.cs:line 3934
at Microsoft.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior) in E:\agent1\_work\31\s\src\Microsoft.Data.SqlClient\netcore\src\Microsoft\Data\SqlClient\SqlCommand.cs:line 1759
at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
at Microsoft.SqlServer.Management.Common.ConnectionManager.ExecuteTSql(ExecuteTSqlAction action, Object execObject, DataSet fillDataSet, Boolean catchException) in d:\a\1\s\src\Microsoft\SqlServer\Management\ConnectionInfo\ConnectionManager.cs:line 742
at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteWithResults(String sqlCommand, Boolean retry) in d:\a\1\s\src\Microsoft\SqlServer\Management\ConnectionInfo\ServerConnection.cs:line 1325
at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteWithResults(StringCollection sqlCommands) in d:\a\1\s\src\Microsoft\SqlServer\Management\ConnectionInfo\ServerConnection.cs:line 1261
at Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteWithResults(StringCollection query) in d:\a\1\s\src\Microsoft\SqlServer\Management\Smo\ExecutionManager.cs:line 664
at Microsoft.SqlServer.Management.Smo.Database.ExecuteWithResults(StringCollection sqlCommands) in d:\a\1\s\src\Microsoft\SqlServer\Management\Smo\DatabaseBase.cs:line 2202
--- End of inner exception stack trace ---
at Microsoft.SqlServer.Management.Smo.Database.ExecuteWithResults(StringCollection sqlCommands) in d:\a\1\s\src\Microsoft\SqlServer\Management\Smo\DatabaseBase.cs:line 2217
at SmoTestPackage.Program.DoQuery(Database db) in /Users/amir/Projects/smo-test/Program.cs:line 45
at SmoTestPackage.Program.Main(String[] args) in /Users/amir/Projects/smo-test/Program.cs:line 33
I have confirmed that this issue does not exist in Windows.
I have not confirmed if this issue repros in Linux.
glebteterin, Waltervondehans, PashaPash and jinek
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Closed