Opened 12 years ago

Closed 12 years ago

#180 closed defect (fixed)

suspend and re-connection issues

Reported by: Antoine Martin Owned by: Antoine Martin
Priority: major Milestone: 0.12
Component: Global Keywords:
Cc:

Description

0.12.8 fixed a number of bugs in this area however there can still be a case where we end up not being able to connect to a server. Either because of a race which makes us start two copies? Or something else?

Change History (5)

comment:1 Changed 12 years ago by Antoine Martin

Trying to reproduce here, and as I suspend the laptop, the client sees:

[EE] 2012/09/02 18:06:33 ProtocolHandler.check_response_received(('ping', 223)) no response received
  terminating connection with <bound method ExecLineChannel.stop of <winswitch.net.conch_channels.ExecLineChannel instance at 0x7ffcf00a1d88>>

It correctly terminates connection to the server on the laptop.
The laptop also did the same thing.

I'm not entirely sure why resuming the laptop did not automatically re-connect them (no new mDNS publish was seen?)

comment:2 Changed 12 years ago by Antoine Martin

also tried blocking the server port using firewall rules, long enough for the server to miss the clean disconnection, then I re-allow it and connect again:

[II] 2012/10/02 00:06:29 WinSwitchClientChannel.do_add_user(61718...,539b11...,User(Antoine Martin : b3b45c...)) found existing connection for uuid=b3b45c....
(...)
[II] 2012/10/02 00:06:35 WinSwitchClientChannel.check_alive() counter=1, new counter=1
[EE] 2012/10/02 00:06:35 WinSwitchClientChannel.check_alive() counter unchanged, dropping dead connection!

Server detects that the old connection is dead (sending an echo and waiting 5 seconds for the response) and then it drops it... still no luck in reproducing this bug. :(

comment:3 Changed 12 years ago by Antoine Martin

I was able to re-produce it once by toggling ssh on/off a few times and re-connecting each time.
I think the asynchronous nature of connection and factories makes us lose the reference to the link client which is still alive - fix coming.

comment:4 Changed 12 years ago by Antoine Martin

hopefully this is fixed in r4778

the code is a little messy still, but at least I can't seem to make it misbehave anymore and tcp/ssh/direct connections still work.

comment:5 Changed 12 years ago by Antoine Martin

Resolution: fixed
Status: newclosed

works-for-me, please re-open if needed

Note: See TracTickets for help on using tickets.