SignalR: `Error when dispatching '"OnDisconnectedAsync"' on hub` and `Failed disposing connection`
- Dominant language
- C#
- Stars
- 38.4k
- Forks
- 10.9k
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 276
Description
### Describe the bug
After migrating my application from ASP.NET Core 2.1 (net471) to ASP.NET Core 2.2 (netcoreapp2.2 and InProcess hosting model) I found some exceptions in our log system related to SignalR.
These exceptions are always happening after IIS shutting down the application.
And I have some errors logged in the Event Viewer at the same time.
### Additional context
```
09:12:07.250 ERR Error when dispatching '"OnDisconnectedAsync"' on hub.
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'IServiceProvider'.
at Microsoft.Extensions.DependencyInjection.ServiceLookup.ThrowHelper.ThrowObjectDisposedException()
at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.CreateScope()
at Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher`1.OnDisconnectedAsync(HubConnectionContext connection, Exception exception)
at Microsoft.AspNetCore.SignalR.HubConnectionHandler`1.HubOnDisconnectedAsync(HubConnectionContext connection, Exception exception)
```
```
09:12:07.939 ERR Error when dispatching '"OnDisconnectedAsync"' on hub.
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'IServiceProvider'.
at Microsoft.Extensions.DependencyInjection.ServiceLookup.ThrowHelper.ThrowObjectDisposedException()
at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.CreateScope()
at Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher`1.OnDisconnectedAsync(HubConnectionContext connection, Exception exception)
at Microsoft.AspNetCore.SignalR.HubConnectionHandler`1.HubOnDisconnectedAsync(HubConnectionContext connection, Exception exception)
```
```
09:12:08.114 ERR Failed disposing connection "hV2ao8YCcPSDKOtG6K0B4g".
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'IServiceProvider'.
at Microsoft.Extensions.DependencyInjection.ServiceLookup.ThrowHelper.ThrowObjectDisposedException()
at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.CreateScope()
at Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher`1.OnDisconnectedAsync(HubConnectionContext connection, Exception exception)
at Microsoft.AspNetCore.SignalR.HubConnectionHandler`1.HubOnDisconnectedAsync(HubConnectionContext connection, Exception exception)
at Microsoft.AspNetCore.SignalR.HubConnectionHandler`1.RunHubAsync(HubConnectionContext connection)
at Microsoft.AspNetCore.SignalR.HubConnectionHandler`1.OnConnectedAsync(ConnectionContext connection)
at Microsoft.AspNetCore.SignalR.HubConnectionHandler`1.OnConnectedAsync(ConnectionContext connection)
at Microsoft.AspNetCore.Http.Connections.Internal.HttpConnectionDispatcher.ExecuteApplication(ConnectionDelegate connectionDelegate, HttpConnectionContext connection)
at Microsoft.AspNetCore.Http.Connections.Internal.HttpConnectionContext.WaitOnTasks(Task applicationTask, Task transportTask, Boolean closeGracefully)
at Microsoft.AspNetCore.Http.Connections.Internal.HttpConnectionManager.DisposeAndRemoveAsync(HttpConnectionContext connection, Boolean closeGracefully)
at Microsoft.AspNetCore.Http.Connections.Internal.HttpConnectionContext.DisposeAsync(Boolean closeGracefully)
at Microsoft.AspNetCore.Http.Connections.Internal.HttpConnectionManager.DisposeAndRemoveAsync(HttpConnectionContext connection, Boolean closeGracefully)
```
### Event Viewer logs
```
Log Name: Application
Source: IIS AspNetCore Module V2
Date: 12/25/2018 9:12:06 AM
Event ID: 1033
Task Category: None
Level: Information
Keywords: Classic
User: N/A
Computer: THE_SERVER
Description:
Application 'MACHINE/WEBROOT/APPHOST/THE_APP' has shutdown.
Event Xml:
1033
4
0
0x80000000000000
1336018
Application
THE_SERVER
Application 'MACHINE/WEBROOT/APPHOST/THE_APP' has shutdown.
Process Id: 21132.
File Version: 12.2.18316.0. Description: IIS ASP.NET Core Module V2 Request Handler. Commit: ce8cf65589734f82b0536c543aba5bd60d0a5a98
```
```
Log Name: Application
Source: Application Error
Date: 12/25/2018 9:12:07 AM
Event ID: 1000
Task Category: (100)
Level: Error
Keywords: Classic
User: N/A
Computer: THE_SERVER
Description:
Faulting application name: w3wp.exe, version: 8.5.9600.16384, time stamp: 0x5215df96
Faulting module name: KERNELBASE.dll, version: 6.3.9600.18938, time stamp: 0x5a7ddf0a
Exception code: 0xe0455858
Fault offset: 0x0000000000008eac
Faulting process id: 0x528c
Faulting application start time: 0x01d49b68baf0ffe9
Faulting application path: c:\windows\system32\inetsrv\w3wp.exe
Faulting module path: C:\windows\system32\KERNELBASE.dll
Report Id: 0f5a2200-084f-11e9-80d8-ac1f6b222a7d
Faulting package full name:
Faulting package-relative application ID:
Event Xml:
1000
2
100
0x80000000000000
1336019
Application
THE_SERVER
w3wp.exe
8.5.9600.16384
5215df96
KERNELBASE.dll
6.3.9600.18938
5a7ddf0a
e0455858
0000000000008eac
528c
01d49b68baf0ffe9
c:\windows\system32\inetsrv\w3wp.exe
C:\windows\system32\KERNELBASE.dll
0f5a2200-084f-11e9-80d8-ac1f6b222a7d
```
```
Log Name: Application
Source: Windows Error Reporting
Date: 12/25/2018 9:12:07 AM
Event ID: 1001
Task Category: None
Level: Information
Keywords: Classic
User: N/A
Computer: THE_SERVER
Description:
Fault bucket , type 0
Event Name: APPCRASH
Response: Not available
Cab Id: 0
Problem signature:
P1: w3wp.exe
P2: 8.5.9600.16384
P3: 5215df96
P4: KERNELBASE.dll
P5: 6.3.9600.18938
P6: 5a7ddf0a
P7: e0455858
P8: 0000000000008eac
P9:
P10:
Attached files:
These files may be available here:
Analysis symbol:
Rechecking for solution: 0
Report Id: 0f5a2200-084f-11e9-80d8-ac1f6b222a7d
Report Status: 0
Hashed bucket:
Event Xml:
1001
4
0
0x80000000000000
1336020
Application
THE_SERVER
0
APPCRASH
Not available
0
w3wp.exe
8.5.9600.16384
5215df96
KERNELBASE.dll
6.3.9600.18938
5a7ddf0a
e0455858
0000000000008eac
0
0f5a2200-084f-11e9-80d8-ac1f6b222a7d
0
```
### dotnet --info
```
Host (useful for support):
Version: 2.2.0
Commit: 1249f08fed
.NET Core SDKs installed:
No SDKs were found.
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.0.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
```
Contributor guide
Assessment
This issue has not been assessed yet.