Bug ID: 91485
Summary: OBEX does not wait for final packet to be sent to
OS: Linux (All)
I'm using SyncEvolution 1.5.1 with libsynthesis
libsynthesis_126.96.36.199+syncevolution-1-5-1 on a Gentoo machine, with OpenObex
I'm attempting to sync calendar+todo, contacts and memo with a Nokia 208
(Series 40) running their latest firmware.
Sync appears to work (SyncEvolution completes successfully), but the device
always requests a slow sync and gives a zero LastAnchor. In the on-device sync
log, it claims that the sync failed (with the helpful message "Status: Data
transfer not possible. Check data connection.")
Investigating with Wireshark shows that the last message (acknowledgement) from
SyncEvolution does not go over the OBEX link before the disconnection.
The following patch ensures the last packet goes out, and sync succeeds at the
device end; incremental syncing starts to work. I'm pretty sure this isn't the
correct way to handle this case, but I can't quite wrap my head around the
session state machine, sorry!
I can't sanitise the session log but am happy to provide it privately if
@@ -325,6 +325,7 @@ void ObexTransportAgent::send(const char *data, size_t len)
m_sock = sockObj;
m_channel = channel;
m_obexEvent = obexEventSource;
+ OBEX_HandleInput(m_handle, 1000);
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.