WARNING, LONG EMAIL.

I ran into a number of bugs in barry tonight while trying my first followup 
synchronization. I know you all have plenty to do, but I figured that if I 
don't report them then I'm not helping anyone. Hopefully the Google archive 
will be useful to someone.

The web page suggested it was better to send them to the list than to use the 
SourceForge tracker. If I misunderstood that, or there is a better place to 
submit bug reports, please let me know.

I have a BlackBerry Curve 8310 from AT&T. I use Ubuntu 8.04 on amd64, so I 
compile Barry from source using the rules/debian scripts that someone created 
(thank you--they work great). I'm currently running CVS 0.14-pre20080807. I 
am synchronizing with Kontact (Korganizer + Kaddressbook) through msynctool.

1. Barry doesn't talk to my device when I'm plugged in through a USB hub. I 
bought a D-Link powered 7 port USB 2.0 hub (DUB-H7), and when I plug my BB 
into it the device says "connecting to computer" without the picture, and it 
just hangs. I had to remove the battery to get it to be responsive again. 
btool just hangs as well. It won't respond to ctr-c until after I've 
unplugged the device.

Workaround: plug directly into the computer--don't use a hub.

2. Barry doesn't correctly transfer all day appointments from the BlackBerry 
to KOrganizer. My appointments started out in KOrganizer, then I synced them 
to the BB. After the followup sync, they are in KOrganizer as duplicates (see 
next bug). The duplicates in KOrganizer are appointments that take the whole 
day instead of setting the "All-day" flag.

3. After synchronizing, all of my events are duplicated. After a manual 
slow-sync all of my events are triplicated. The multiplication happens in 
both the BB and KOrganizer.

I manually slow synchronized this way:
msynctool --sync BlackBerry --slow-sync contact --slow-sync data --slow-sync 
event --slow-sync todo --slow-sync note 

4. The duplication also happens with the contacts. I find it interesting that 
in KOrganizer the duplicate names have the incorrect formatted name 
(Firstname Lastname) so they do not appear next to their twin (Lastname, 
Firstname). But in the BlackBerry they all appear together (Lastname 
Firstname).

Since my device is new and I don't have any data on it that I can't lose 
(yet), I cleaned up the duplicates by running:
touch a.dat
btool -P <pass> -s 'Calendar' a.dat
btool -P <pass> -s 'Address Book' a.dat
msynctool --sync BlackBerry

Is there an easier way to correct this problem?

BTW, btool -s doesn't exit gracefully if the filename does not end in ".dat".

BTW, the password support has been really great. It has worked flawlessly with 
BarryBackup, btool, and msynctool.

A little more experimenting: it appears that the duplicates only appear when I 
do a slowsync. Continuing my narrative, me next sync was after the above wip 
is successful and my BB is correctly populated with data. I then do a regular 
sync, and it correctly sees no changes and everything is fine. I then do a 
slow-sync and I get all the duplicates. This makes sense. I think my first 
sync tonight automatically switched to be a slow sync because of the crash 
while trying to synchronize through the USB hub.

5. So I wipe the two databases again, and do a regular sync. This time I get a 
merge conflict. The contact I just added to Kontact (the one that I was 
initially trying to sync to the device) comes up as a conflict. I find this 
surprising, as the database should be empty at this point. This is the record 
it was trying to merge with:

Entry 2:
UID: LmfNTeAdbI
(null)

Barry is correct, that does match the <Uid> field for the contact in 
KAddressBook. I select to keep the complete version (1), and I get these 
errors:

Which entry do you want to use? [1-9] To select a side, [D]uplicate, Keep 
[N]ewer: 1
Overwriting conflict
All conflicts have been reported
Error writing entry LmfNTeAdbI to member 1: unable to get state table index 
for RecordId: 304
Mapping Write Error: unable to get state table index for RecordId: 304
Member 1 of type barry-sync committed all changes.
Sent an entry 0C1WpQ0Dkl of size 0 to member 2. Changetype DELETED
<lots of deletions>
Sent an entry libkcal-351966203.828 of size 0 to member 2. Changetype DELETED
Member 2 of type kdepim-sync committed all changes.
All clients have written
Member 1 of type barry-sync had an error while calling sync done: (-9, error 
sending control message: Bad file descriptor): Controller: GetConfiguration 
failed
Member 1 of type barry-sync just disconnected
Member 2 of type kdepim-sync just disconnected
All clients have disconnected
The sync failed: Unable to finish the sync for one of the members
Error synchronizing: Unable to finish the sync for one of the members
Pipe closed! Exiting.

barry-sync is member 1, kdepim-sync is member 2, so I guess it's trying to 
send all sorts of null data back to Kontact. Sure enough, my calendars are 
both empty, and the only contact left in KAdressbook is the one that was 
flagged to me as a merge conflict. My guess is that overwriting the database 
with an empty file doesn't clear the UIDs out of memory. Since the empty 
records are newer than the ones in Kontact, they win the conflicts (barry is 
correct in thinking that I intentionally deleted them all) and my PIM gets 
wiped.

6. After this sync the device reset itself as if I had removed the battery. 
There is no Calendar or Contact information on the device, but everything 
else appears intact. After the reboot I had to unplug and replug my device 
before Barry could see it again.

I don't know if it helped, or if it was just superstition. But after wiping 
the databases on the BB, and restoring Kontact from backup, I powercycled the 
BB before trying to sync my data over again. I figured that might tell it to 
clean up all of that null data. After the power cycle (left the battery in), 
msynctool wanted to do another slow sync. Everything worked this time, and 
I'm glad to be back in business.

The moral of the story is that I need to remember to always backup my 
KOrganizer data before a sync. Yes, I did know that before, but the reminder 
will stick a little longer this time.
.kde/share/apps/kabc/std.ics (contacts)
.kde/share/apps/korganizer/*.ics (calendar)

I need to call it a night. I hope this information is more valuable than it is 
annoying. I figured that writing it up the lessons learned for the community 
might be a positive outcome of the last two hours.

Thank you for building this great utility.

Richard Esplin

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Barry-devel mailing list
Barry-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/barry-devel

Reply via email to