Skip to content

/start requests deadlock when the PreSendRequestHeaders event is set #3116

@halter73

Description

@halter73

Functional impact

  • Clients are unable to establish SignalR connections when someone attaches to the PreSendRequestHeaders event.

Minimal repro steps

  • Install SignalR 2.1.0
  • Attach to the PreSendRequestHeaders event.
  • Create a PersistentConnection or Hub.
  • Try to connect to the PersistentConnection or Hub with the JS or .NET client.

Expected result

  • The /start request should complete immediately after OnConnected completes, and the SignalR client should move into the connected state.

Actual result

  • 2.1.0 client: No transport can be initialized successfully, because all the transports time out waiting on the start request. After all the transports time out, the client moves to the disconnected state.
  • Client after PR Initiate /start request after a transport is selected in the JS client #3105 is applied: The SignalR client hangs in the connecting state indefinitely waiting on the /start request to complete.

This issue was originally reported on the ASP.NET forums.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions