Thursday, November 03, 2005

Treo 650 HotSync bug that reports "Both versions of this record were copied to the Palm Desktop and the handheld" and a fix

Ok, I've found an odd bug and an easy workaround with HotSyncing my Treo 650.

I've been using Palm devices for years, and have always been very happy with their HotSync technology. I tend to edit data on both my computer and my palm so the fact that it could automatically tell which records were the most recent and copy them to the other device has saved me a lot of effort. Occasionally when I edited the same item on both the computer and the Palm device, it would warn me when I HotSynced and put both copies on both devices and let me choose which one to delete. Great!

Unfortunately, when I upgraded my Palm phone from the beautiful Samsung SPH-i500 to the large and clunky, but more powerful Treo 650, I was dismayed to find, that if I edited a record on my computer, when I synced it I always got a message stating:
The following record was modified on both the Palm Desktop and the handheld:
“some record name”
Both versions of this record were copied to the Palm Desktop and the handheld. Delete the unwanted record and perform a HotSync operation again.

Then, of course, I had to manually delete the duplicate record on the Treo 650 even though I had NOT edited the record on my Treo 650 as it was stating. Deleting the duplicate record on my computer didn't remove it either, as the next time I did a HotSync it would do the same thing again and once again I had two copies of the same item on both devices.

This was happening when syncing to my Mac OS X Tiger versions 10.4.x (I tried with all version of 10.4). I normally edit most of my data on my Palm phone so it wasn't a huge problem, but after a while, when I found myself updating several items on my computer, I got frustrated enough to debug the problem. I could reproduce the situation 100% by editing a memo in Palm Desktop (and not editing the memo on the Palm device) and then performing a HotSync. I was HotSyncing by pressing the HotSync button on the USB cable that came with the phone. I decided to try and use Bluetooth which is built into my Mac and supported in Mac OS X. When I did the same thing via Bluetooth, I didn't get the error.

Ok, now I was getting somewhere...

It turns out you will see this problem if you have the HotSync connection setup on your Palm device set to Bluetooth but do a HotSync via the USB cable or cradle. I altered my HotSync connection setting to use the cable/cradle option, and did another HotSync with the cable. Again the error was gone.

But I want to be able to sync with my cable, or Bluetooth without having to change the phone settings. Luckily this works to...as long as you create a separate/new connection setup on the phone. Just create one set to Bluetooth (which I made my default when I click the onscreen HotSync button in the HotSync app on the Palm device) and create another one set to cable/cradle, which it uses automatically when you initiate a HotSync by pressing the button on the USB cable or cradle you connected it with.

Problem solved!

I did a search before I started debugging the problem myself and found several people reporting this problem on Treo 650s. The Bluetooth option has probably introduced the bug in the behavior. Oddly, no posting I saw solved the issue, so hopefully this will help someone else out with the same problem. I don't know if it behaves the same under Windows but if someone has tried this out under Windows, I would like to hear from them.

So hopefully this will help some other people who are having the same issue.