The problem is identified in the following lines:

2009-11-24 16:03:54,641 - ubuntuone.SyncDaemon.EQ - DEBUG - push_event: 
SYS_HANDSHAKE_TIMEOUT, args:(), kw:{}
2009-11-24 16:03:54,641 - ubuntuone.SyncDaemon.ActionQueue - DEBUG - 
disconnected
2009-11-24 16:03:54,641 - ubuntuone.SyncDaemon.State - DEBUG - 
START_AUTHENTICATING_WITH_BOTHQ --[SYS_HANDSHAKE_TIMEOUT]--> 
START_STANDOFF_WAITING_WITH_NETWORK_WITH_BOTHQ
2009-11-24 16:03:54,642 - ubuntuone.SyncDaemon.EQ - DEBUG - push_event: 
SYS_STATE_CHANGED, args:(), kw:{'state': <SyncDaemonState 
START_STANDOFF_WAITING_WITH_NETWORK_WITH_BOTHQ>}
2009-11-24 16:03:54,642 - ubuntuone.SyncDaemon.ActionQueue - WARNING - 
connection lost: Connection was closed cleanly.
2009-11-24 16:04:49,087 - ubuntuone.SyncDaemon.Main - NOTE - ---- MARK (state: 
START_STANDOFF_WAITING_WITH_NETWORK_WITH_BOTHQ; queues: metadata: 13490; 
content: 6065; hash: 0, fsm-cache: hit=489656 miss=73594) ----

There's a timeout, a disconnection is triggered, but then the client
gets into STANDOFF state, and it should reconnect after the "connection
lost" was received.

The problem is easily identified in the code:

- AQ.disconnect() is called on timeout, it calls
self.client.disconnect() (which does a transport.loseConnection) and
puts self.client in None.

- After a while, the AQProtocol.connectionLost() is called, which does
AQ.connectionLost(), but this check if self.client is None, and does
*not* generates the SYS_CONNECTION_LOST, so the SD gets stuck in
STANDOFF.


** Tags added: chicharra-lucid-problems

-- 
UbuntuOne does not sync properly and sometimes not at all
https://bugs.launchpad.net/bugs/487257
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to