SyncMate 2 beta build 2.0.0.779 issues(Read 7289 times)
SyncMate 2 beta build 2.0.0.779 issues on: May 28, 2009, 03:13:03 AM
After installing this update to the previous beta build of SyncMate 2, I tested it with the results described below (consecutive runs, one immediately after the other).

Sync settings:
 - Contacts sync only with following parameters:
   Sync direction: Bi-directional
   Surname and name order: Don't change
   Sync only contacts with phone numbers: not ticked
   Sync only selected groups: (various groups ticked)


** 1st run, including USB WM6 driver update, error occurred on sync - log as follows:

(START LOG)
Build 2.0.0.779
BackService version: 0.4.2b25
USB driver version: 0.2.4b13
Device platform PocketPC
Device CpuType 2577
Device Version 1283916293
Device OS Version 5.2
Device ModelName MDA_compact_IV
Cant connect to Pocket (Bad Password)
Device platform PocketPC
Device CpuType 2577
Device Version 1283916293
Device OS Version 5.2
Device ModelName MDA_compact_IV
Driver found. Starting...
Pocket driver version: 1, 2, 0, 307
Installing driver on pocket...
Cant connect to Pocket (Connect error)
Device platform PocketPC
Device CpuType 2577
Device Version 1283916293
Device OS Version 5.2
Device ModelName MDA_compact_IV
Driver found. Starting...
Pocket driver version: 2, 0, 0, 313
Pocket driver version: 2, 0, 0, 313


BEGIN SYNCING...

Check connections.


Start sync service session.
Beginning a sync session for connection My Diamond (PocketConnection)

Push Prepare.

Starting push phase.
Direction - This Mac <-> My Diamond
Contacts in history - 795
Add 1 contacts from My Diamond
Change 34 contacts from My Diamond
Del 1 contacts from My Diamond

Starting pull phase.
NSInvalidArgumentException: Unable to obtain sql exclusive lock to commit transaction: 21 (library routine called out of sequence)
Unable to obtain sql exclusive lock to commit transaction: 21 (library routine called out of sequence)
Pull failed.
SyncServices assertion failure (_flushCount > 0) in [ISDClientState enableFlush], /SourceCache/SyncServices2/SyncServices2-389.17/SyncServices/ISDClientState.m:169 too many enableFlushes
[ISDClientState enableFlush]: too many enableFlushes

Start sync rest plugins

END SYNCING


(END LOG)

Result:
 - no changes were made to the device's contacts
 - no changes were made to the Mac's Address Book


** 2nd run, after resetting device and closing and re-opening SyncMate, error occurred when device connected - log as follows:

(START LOG)
Build 2.0.0.779
BackService version: 0.4.2b25
USB driver version: 0.2.4b13
Device platform PocketPC
Device CpuType 2577
Device Version 1283916293
Device OS Version 5.2
Device ModelName MDA_compact_IV
Cant connect to Pocket (Bad Password)
Device platform PocketPC
Device CpuType 2577
Device Version 1283916293
Device OS Version 5.2
Device ModelName MDA_compact_IV
Driver found. Starting...
Cant connect to Pocket (Socket: Connect failed: Operation now in progress)
(END LOG)


** 3rd run, did not reset device, but closed and re-opened SyncMate, error occurred when device connected - log as follows:

(START LOG)
Build 2.0.0.779
BackService version: 0.4.2b25
USB driver version: 0.2.4b13
Can't activate RAPI session.
(END LOG)


** 4th run, reset device, restarted Mac, connected and synced, error occurred on sync - log as follows (personal information removed):

(START LOG)
Build 2.0.0.779
BackService version: 0.4.2b25
USB driver version: 0.2.4b13
Device platform PocketPC
Device CpuType 2577
Device Version 1283916293
Device OS Version 5.2
Device ModelName MDA_compact_IV
Cant connect to Pocket (Bad Password)
Device platform PocketPC
Device CpuType 2577
Device Version 1283916293
Device OS Version 5.2
Device ModelName MDA_compact_IV
Driver found. Starting...
Pocket driver version: 2, 0, 0, 313
Pocket driver version: 2, 0, 0, 313


BEGIN SYNCING...

Check connections.


Start sync service session.
Beginning a sync session for connection My Diamond (PocketConnection)

Sync restarted.

Push Prepare.

Starting push phase.
Direction - This Mac <-> My Diamond
Contacts in history - 0
Add 798 contacts from My Diamond
Change 0 contacts from My Diamond
Del 0 contacts from My Diamond

Starting pull phase.
Del 0 contacts from MAC
Change 2 contacts from MAC
Add 28 contacts from MAC
Bad answer for message 10 received !
AS_ADD_CONTACT error. record={
    Body = "(personal information removed)";
    Categories = (personal information removed);
    Children = (personal information removed);
    CompanyName = "(personal information removed)";
    Email1Address = "(personal information removed)";
    FirstName = (personal information removed);
    HomeAddressCity = (personal information removed);
    HomeAddressCountry = "(personal information removed)";
    JobTitle = (personal information removed);
    LastName = (personal information removed);
    MobileTelephoneNumber = "(personal information removed)";
    Picture = <ISDDataReference[494042] 156B2AA1-5BF8-45C4-B80E-56361D792518.truth.data>;
}
Disconnect detected.
Session <ISyncConcreteSession: 0x176c1760> cancelled. Session cancelled by client

Start sync rest plugins

END SYNCING


(END LOG)

Result:
 - actual contacts synced: on device 1 added, 2 changed; on Mac 2 added, 1 changed
 - changes were made IN ERROR to two of the device's contacts based on Mac's contacts, the changes were last made on the device and the device's version should have updated the Mac side, therefore some new data on the device was lost! (VERY BAD, especially as a normal user would have no way of knowing that these changes had been made, let alone that the new data for the 2 contacts on the device had been lost)
 - an "<Unnamed>" contact was created on the device (probably due to the incomplete sync)
 - *some* Mac Address Book contacts correctly added from device
 - not all changes to other contacts were carried over from device to Mac (probably due to the incomplete sync)


Another issue that I found was that on disconnecting the device from the computer, there is a massive memory usage spike, consuming virtually ALL available Program Memory (it appears Windows Mobile memory manager then kicks in and does an emergency memory reclaim, which closes ActiveSync on the device and reclaims all the used memory back to normal levels)


Recommendations:
 1) We urgently need a facility to be able to review all changes about to be made, BEFORE the sync is authorised by the user, and ideally optionally be able to authorize each change.
 2) Fix the "Disconnected" issue (in my experience, it didn't happen under SyncMate 1.4)
 3) Clean up after an error during the sync (e.g. delete "<Unnamed>" contact created on the device), or at least provide a separate debug/system log detailing what changes were actually made (the current main log shows the data blocks if/where errors occur)
 4) Change the way the sync works - sync changes to be made on the device by sending a data bundle to the driver on the device, which will check its integrity and commit the changes.   The advantages of this method are a) that the data is transferred from Mac to device in 1 transaction, b) the device driver can check if the bundle arrived safely (e.g. no disconnection from computer), and c) it should be faster to sync, because of the reduced handshaking between Mac and device.
« Last Edit: May 28, 2009, 01:52:09 PM by belovedra »



Re: SyncMate 2 beta build 2.0.0.779 issues Reply #1 on: June 04, 2009, 04:45:01 PM
Thank you for your report.
Quote
We urgently need a facility to be able to review all changes about to be made, BEFORE the sync is authorised by the user, and ideally optionally be able to authorize each change.

You may enable representation of changes in iSync Preferences (enable "Show Data change alert")

Quote
Fix the "Disconnected" issue (in my experience, it didn't happen under SyncMate 1.4)

We've never experienced this problem. Could you please tell us the exact model of your Win mobile device? Do you have any software for memory use optimization installed on your mobile device?

Quote
Clean up after an error during the sync (e.g. delete "<Unnamed>" contact created on the device), or at least provide a separate debug/system log detailing what changes were actually made (the current main log shows the data blocks if/where errors occur)

How do you think SyncMate will identify whether the error occurred or not?

« Last Edit: June 04, 2009, 04:46:45 PM by Ann »



 

Sitemap 1 2 3 4 5