[sync] syncing delete of already deleted msg blocks sync
Jens-U. Mozdzen
jmozdzen at nde.ag
Mon Dec 16 10:43:19 UTC 2013
Hi,
as I cannot currently reach bugs.horde.org (I'm assuming it's because
of the announced server maintenance), I'm posting this bug report here:
From time to time my mobile device (Android) "looses sync" with the
Horde server, but resetting the device in the user's Horde ActiveSync
settings immediately re-establishes full functionality. Today I was
able to track down at least one probable cause.
I had been working with the web UI of Horde, where I deleted messages
from my inbox, which seems not to have been synced to the mobile
device (i.e. because the phone went offline for whatever reason before
catching the delete operation per ActiveSync). I then had to work via
the mobile device and noticed that these messages were still displayed
in the inbox, so I "swiped them away" within the mobile's mail
application.
Noticing (some hours) later that new messages didn't make it to the
mobile device, I had a look at the Apache log, the ActiveSync log and
the regular Horde log:
- the mobile device is issuing ActiveSync calls as expected
- the ActiveSync log displays an IMAP error:
--- cut here ---
[...]
2013-12-16T10:57:47+01:00 INFO: [24668] Obtaining collection class of
Email for collection id 4fcfa220
2013-12-16T10:57:47+01:00 INFO: [24668] Initializing state for
collection: INBOX, synckey: {528f17e2-809c-43a6-b9bb-************}619
2013-12-16T10:57:47+01:00 INFO: [24668] Loading state for synckey
{528f17e2-809c-43a6-b9bb-************}619
2013-12-16T10:57:47+01:00 DEBUG: [24668] I <Remove>
2013-12-16T10:57:47+01:00 DEBUG: [24668] I <ServerEntryId>
2013-12-16T10:57:47+01:00 DEBUG: [24668] I IGNORESMS_SMS_1386841131191
2013-12-16T10:57:47+01:00 DEBUG: [24668] I </ServerEntryId>
2013-12-16T10:57:47+01:00 DEBUG: [24668] I </Remove>
2013-12-16T10:57:47+01:00 DEBUG: [24668] I <Remove>
2013-12-16T10:57:47+01:00 DEBUG: [24668] I <ServerEntryId>
2013-12-16T10:57:47+01:00 DEBUG: [24668] I 37740
2013-12-16T10:57:47+01:00 DEBUG: [24668] I </ServerEntryId>
2013-12-16T10:57:47+01:00 DEBUG: [24668] I </Remove>
2013-12-16T10:57:47+01:00 DEBUG: [24668] I <Remove>
2013-12-16T10:57:47+01:00 DEBUG: [24668] I <ServerEntryId>
2013-12-16T10:57:47+01:00 DEBUG: [24668] I 37732
2013-12-16T10:57:47+01:00 DEBUG: [24668] I </ServerEntryId>
2013-12-16T10:57:47+01:00 DEBUG: [24668] I </Remove>
2013-12-16T10:57:47+01:00 DEBUG: [24668] I <Modify>
2013-12-16T10:57:47+01:00 DEBUG: [24668] I <ServerEntryId>
2013-12-16T10:57:47+01:00 DEBUG: [24668] I 37741
2013-12-16T10:57:47+01:00 DEBUG: [24668] I </ServerEntryId>
2013-12-16T10:57:47+01:00 DEBUG: [24668] I <Data>
2013-12-16T10:57:47+01:00 DEBUG: [24668] I <POOMMAIL:Read>
2013-12-16T10:57:47+01:00 DEBUG: [24668] I 1
2013-12-16T10:57:47+01:00 DEBUG: [24668] I </POOMMAIL:Read>
2013-12-16T10:57:47+01:00 DEBUG: [24668] I </Data>
2013-12-16T10:57:47+01:00 INFO: [24668]
Horde_Core_ActiveSync_Driver::_smartStatMessage(INBOX, 37741)
2013-12-16T10:57:47+01:00 INFO: [24668]
Horde_Core_ActiveSync_Driver::changeMessage(INBOX, 37741 ...)
2013-12-16T10:57:48+01:00 INFO: [24668] Updating state during flags
2013-12-16T10:57:48+01:00 DEBUG: [24668] I </Modify>
2013-12-16T10:57:48+01:00 DEBUG: [24668] I <Modify>
2013-12-16T10:57:48+01:00 DEBUG: [24668] I <ServerEntryId>
2013-12-16T10:57:48+01:00 DEBUG: [24668] I 37733
2013-12-16T10:57:48+01:00 DEBUG: [24668] I </ServerEntryId>
2013-12-16T10:57:48+01:00 DEBUG: [24668] I <Data>
2013-12-16T10:57:48+01:00 DEBUG: [24668] I <POOMMAIL:Read>
2013-12-16T10:57:48+01:00 DEBUG: [24668] I 1
2013-12-16T10:57:48+01:00 DEBUG: [24668] I </POOMMAIL:Read>
2013-12-16T10:57:48+01:00 DEBUG: [24668] I </Data>
2013-12-16T10:57:48+01:00 INFO: [24668]
Horde_Core_ActiveSync_Driver::_smartStatMessage(INBOX, 37733)
2013-12-16T10:57:48+01:00 INFO: [24668]
Horde_Core_ActiveSync_Driver::changeMessage(INBOX, 37733 ...)
2013-12-16T10:57:48+01:00 INFO: [24668] Updating state during flags
2013-12-16T10:57:48+01:00 DEBUG: [24668] I </Modify>
2013-12-16T10:57:48+01:00 DEBUG: [24668] I </Commands>
2013-12-16T10:57:48+01:00 INFO: [24668] Polling
Horde_Core_ActiveSync_Driver::_getMailFolders()
2013-12-16T10:57:49+01:00 INFO: [24668]
Horde_Core_ActiveSync_Driver::moveMessage(INBOX,
[IGNORESMS_SMS_1386841131191,37740,37732], INBOX/Trash)
2013-12-16T10:57:49+01:00 ERR: Der E-Mail-Server hat einen IMAP-Fehler
gemeldet.
--- cut here ---
- the Horde log shows that it is an error when moving a file to the
Trahs folder:
--- cut here ---
2013-12-16T10:57:49+01:00 ERR: HORDE [horde] #0
/usr/share/php5/PEAR/Horde/Imap/Client/Socket.php(3941):
Horde_Imap_Client_Socket->_getLine(Object(Horde_Imap_Client_Interaction_Pipeline))
#1 /usr/share/php5/PEAR/Horde/Imap/Client/Socket.php(3871):
Horde_Imap_Client_Socket->_sendCmdChunk(Object(Horde_Imap_Client_Interaction_Pipeline),
Array)
#2 /usr/share/php5/PEAR/Horde/Imap/Client/Socket.php(2231):
Horde_Imap_Client_Socket->_sendCmd(Object(Horde_Imap_Client_Interaction_Pipeline))
#3 /usr/share/php5/PEAR/Horde/Imap/Client/Base.php(2370):
Horde_Imap_Client_Socket->_search(Object(Horde_Imap_Client_Search_Query),
Array)
#4 /usr/share/php5/PEAR/Horde/ActiveSync/Imap/Adapter.php(566):
Horde_Imap_Client_Base->search(Object(Horde_Imap_Client_Mailbox),
Object(Horde_Imap_Client_Search_Query))
#5 /usr/share/php5/PEAR/Horde/Core/ActiveSync/Driver.php(1170):
Horde_ActiveSync_Imap_Adapter->moveMessage('INBOX', Array,
'INBOX/Trash')
#6 /usr/share/php5/PEAR/Horde/ActiveSync/Connector/Importer.php(274):
Horde_Core_ActiveSync_Driver->moveMessage('INBOX', Array, 'INBOX/Trash')
#7 /usr/share/php5/PEAR/Horde/ActiveSync/Request/Sync.php(1031):
Horde_ActiveSync_Connector_Importer->importMessageMove(Array,
'3f55f1d7')
#8 /usr/share/php5/PEAR/Horde/ActiveSync/Request/Sync.php(794):
Horde_ActiveSync_Request_Sync->_parseSyncCommands(Array)
#9 /usr/share/php5/PEAR/Horde/ActiveSync/Request/Sync.php(208):
Horde_ActiveSync_Request_Sync->_parseSyncFolders()
#10 /usr/share/php5/PEAR/Horde/ActiveSync/Request/Base.php(249):
Horde_ActiveSync_Request_Sync->_handle()
#11 /usr/share/php5/PEAR/Horde/ActiveSync.php(894):
Horde_ActiveSync_Request_Base->handle()
#12 /usr/share/php5/PEAR/Horde/Rpc/ActiveSync.php(143):
Horde_ActiveSync->handleRequest('Sync', 'SEC********7FB1...')
#13 /srv/www/htdocs.www.nde.ag.ssl/horde/rpc.php(156):
Horde_Rpc_ActiveSync->getResponse(NULL)
#14 {main} [pid 24668 on line 162 of
"/usr/share/php5/PEAR/Horde/Rpc/ActiveSync.php"]
2013-12-16T10:57:49+01:00 ERR: HORDE [horde] Buffer contents: [pid
24668 on line 162 of "/usr/share/php5/PEAR/Horde/Rpc/ActiveSync.php"]
--- cut here ---
It seems the ActiveSync code tries to move a message to Trash, that
has already been moved ("deleted") via the web UI, hence the error.
From then on, the operation is retried at every sync, obviously fails
each time and no other sync actions are performed, practically
"detaching" the mobile device.
Once the device is reset in Horde's ActiveSync settings, causing a
full resync, everything is back in order.
The proper reaction to the situation would IMO be to check if the
error is reported because the message does not exist in the IMAP store
plus the target folder is the trash folder and if so, to *ignore* the
error.
Regards,
Jens
More information about the sync
mailing list