.NET client connection.stop() takes 30 secs to complete #2191

Closed
gustavo-armenta opened this Issue Jun 21, 2013 · 5 comments

Comments

Projects
None yet
4 participants
Contributor

gustavo-armenta commented Jun 21, 2013

It reproduces on every transport

await hubConnection.Start();
hubConnection.Stop();

WebSocket, SSE, LP

19:12:55.2533237 - null - ChangeState(Disconnected, Connecting)
19:12:55.4523505 - 21a550f9-23f7-4df1-97b3-c5904509206c - WS Connecting to: ws://localhost:40476/signalr/connect
19:12:55.4703526 - 21a550f9-23f7-4df1-97b3-c5904509206c - WS: OnMessage({"C":"d-B,5|L,0|D,5|M,2|N,1|O,0","M":[{"
19:12:55.4883550 - 21a550f9-23f7-4df1-97b3-c5904509206c - WS: OnMessage({"C":"d-B,5|L,0|D,5|M,2|N,1|O,0","M":[{"
19:12:55.4893550 - 21a550f9-23f7-4df1-97b3-c5904509206c - WS: OnMessage({"C":"d-B,5|L,0|D,5|M,2|N,1|O,0","M":[{"
19:12:55.4893550 - 21a550f9-23f7-4df1-97b3-c5904509206c - WS: OnMessage({"C":"d-B,5|L,0|D,5|M,2|N,1|O,0","M":[]}
19:12:55.4893550 - 21a550f9-23f7-4df1-97b3-c5904509206c - WS: OnMessage({"C":"d-B,5|L,0|D,5|M,2|N,1|O,0","S":1,"
19:12:55.4903558 - 21a550f9-23f7-4df1-97b3-c5904509206c - ChangeState(Connecting, Connected)
19:12:55.5063580 - 21a550f9-23f7-4df1-97b3-c5904509206c - Stop
19:13:25.5124206 - 21a550f9-23f7-4df1-97b3-c5904509206c - WS: Abort never fired
19:13:25.5124206 - 21a550f9-23f7-4df1-97b3-c5904509206c - Disconnected
19:13:25.5143666 - 21a550f9-23f7-4df1-97b3-c5904509206c - Closed

19:16:35.0776773 - null - ChangeState(Disconnected, Connecting)
19:16:35.2807041 - 6b511e84-a69f-4a4c-9bdc-6ef6de1bff2d - SSE: GET http://localhost:40476/signalr/connect
19:16:35.2917059 - 6b511e84-a69f-4a4c-9bdc-6ef6de1bff2d - SSE: OnMessage(Data: initialized)
19:16:35.2927060 - 6b511e84-a69f-4a4c-9bdc-6ef6de1bff2d - SSE: OnMessage(Data: {"C":"d-B,F|e,0|f,0|g,0","
19:16:35.3117432 - 6b511e84-a69f-4a4c-9bdc-6ef6de1bff2d - SSE: OnMessage(Data: {"C":"d-B,F|e,0|f,1|g,0","
19:16:35.3127105 - 6b511e84-a69f-4a4c-9bdc-6ef6de1bff2d - ChangeState(Connecting, Connected)
19:16:35.3277103 - 6b511e84-a69f-4a4c-9bdc-6ef6de1bff2d - Stop
19:17:05.3307202 - 6b511e84-a69f-4a4c-9bdc-6ef6de1bff2d - Abort never fired
19:17:05.3307202 - 6b511e84-a69f-4a4c-9bdc-6ef6de1bff2d - Disconnected
19:17:05.3347566 - 6b511e84-a69f-4a4c-9bdc-6ef6de1bff2d - Closed

19:17:46.2541825 - null - ChangeState(Disconnected, Connecting)
19:17:46.4602089 - 6f9ae92e-59c4-451c-be95-5fc69ecfdab1 - LP Connect: http://localhost:40476/signalr/connect
19:17:46.4742110 - 6f9ae92e-59c4-451c-be95-5fc69ecfdab1 - LP: OnMessage({"C":"d-B,13|k,0|l,0|m,0","M":[{"H":
19:17:46.4942145 - 6f9ae92e-59c4-451c-be95-5fc69ecfdab1 - LP Poll: http://localhost:40476/signalr/poll
19:17:46.4992149 - 6f9ae92e-59c4-451c-be95-5fc69ecfdab1 - LP: OnMessage({"C":"d-B,13|k,0|l,1|m,0","S":1,"M":
19:17:46.5002163 - 6f9ae92e-59c4-451c-be95-5fc69ecfdab1 - ChangeState(Connecting, Connected)
19:17:46.5162202 - 6f9ae92e-59c4-451c-be95-5fc69ecfdab1 - Stop
19:18:16.5182798 - 6f9ae92e-59c4-451c-be95-5fc69ecfdab1 - Abort never fired
19:18:16.5182798 - 6f9ae92e-59c4-451c-be95-5fc69ecfdab1 - Disconnected
19:18:16.5212256 - 6f9ae92e-59c4-451c-be95-5fc69ecfdab1 - Closed
Owner

davidfowl commented Jun 23, 2013

@gustavo-armenta Does it repro when you don't use await?

halter73 was assigned Jun 29, 2013

Owner

davidfowl commented Jun 29, 2013

@halter73 Since you started investigating this, take a look.

Contributor

gustavo-armenta commented Jul 31, 2013

@halter73 @davidfowl
Could we add tests checking connection.Stop() and connection.Abort() complete in less than 5 seconds?

Contributor

gustavo-armenta commented Jul 31, 2013

I can still repro

7/31/2013 12:58:02 PM
19:58:02.0413632 - 53235d0c-359e-4071-a704-fecc417a24dd - Stop
19:58:32.0447077 - 53235d0c-359e-4071-a704-fecc417a24dd - Abort never fired
19:58:32.0447077 - 53235d0c-359e-4071-a704-fecc417a24dd - Disconnected
19:58:32.0467376 - 53235d0c-359e-4071-a704-fecc417a24dd - Transport.Dispose(53235d0c-359e-4071-a704-fecc417a24dd)
19:58:32.0476224 - 53235d0c-359e-4071-a704-fecc417a24dd - Closed
7/31/2013 12:58:32 PM

halter73 was assigned Jul 31, 2013

@halter73 halter73 added a commit that referenced this issue Aug 1, 2013

@halter73 halter73 Prevent 30 second hang during Connection.Stop
Ex repro:
await hubConnection.Start();
hubConnection.Stop();

#2191
7886c47
Contributor

gustavo-armenta commented Aug 7, 2013

tested
await hubConnection.Start();
hubConnection.Stop();

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment