From: Guillaume P. <gpo...@gm...> - 2006-02-15 23:13:05
|
Hi, I'm syncing a cellphone with Kontact through IrMC/Bluetooth. Everytime I slowsync I get conflicts on all of the entries. It seems it is due to a format mismatch. Below is an example output of "msynctool --sync group". Unfortunately I am unable to debug it because when I run the same command under gdb I get a message saying "Cannot connect via OBEX". I intended to place some breakpoints in xml-vcard.c and xml-kde.c and try to understand the code from here, but I just cannot sync under gdb... What is the code that compares two xml contacts? Do the developpers use gdb for debugging? Here is the detail of the conflict (phone numbers scrapped). Conflict for Mapping 0x808db00: Entry 1: UID: 000000000006 <?xml version=3D"1.0"?> <contact> <Name> <FirstName>Sridhar</FirstName> </Name> <FullName> <Content>Sridhar</Content> </FullName> <Telephone> <Content>+5686XXXXXX</Content> <Type>CELL</Type> </Telephone> <UnknownNode> <NodeName>X-IRMC-LUID</NodeName> <Content>000000000006</Content> </UnknownNode> </contact> Entry 2: UID: AMK3cRcTnK <?xml version=3D"1.0"?> <contact> <FullName> <Content>Sridhar</Content> </FullName> <Name> <LastName>Sridhar</LastName> </Name> <UnknownNode> <NodeName>NAME</NodeName> <Content>Sridhar</Content> </UnknownNode> <Revision> <Content>2006-02-06T17:30:36Z</Content> </Revision> <Telephone> <Content>+5686XXXXXX</Content> <Type>CELL</Type> </Telephone> <Uid> <Content>AMK3cRcTnK</Content> </Uid> </contact> |
From: Guillaume P. <gpo...@gm...> - 2006-02-16 04:14:48
|
Updates: - Stepping through the irmc-obex connection code sometimes permits to establish the connection. There seems to be a timing issue... - I found the original VCards that spawn the conflict (see below). There are quite a few differences. The entry on the phone has been generated by a previous sync (with opensync), so I guess the phone will never store the REV attribute, for instance. As VCard may or may not be the native storage format on both devices, it might well be impossible to have them both exactly equal. How will OpenSync handle this issue? VCard from KDE-PIM: [xml-vcard] INFORMATION: Input Vcard is: BEGIN:VCARD FN:Sridhar N:Sridhar;;;; NAME:Sridhar REV:2006-02-06T17:30:36Z TEL;TYPE=3DCELL:+5686265076 UID:AMK3cRcTnK VERSION:2.1 END:VCARD VCard from SonyEricsson K700i: [xml-vcard] INFORMATION: Input Vcard is: BEGIN:VCARD VERSION:2.1 N:;Sridhar FN:Sridhar TEL;CELL:+5686265076 X-IRMC-LUID:000000000006 END:VCARD On 2/15/06, Guillaume Pothier <gpo...@gm...> wrote: > Hi, I'm syncing a cellphone with Kontact through IrMC/Bluetooth. > Everytime I slowsync I get conflicts on all of the entries. It seems > it is due to a format mismatch. Below is an example output of > "msynctool --sync group". > Unfortunately I am unable to debug it because when I run the same > command under gdb I get a message saying "Cannot connect via OBEX". I > intended to place some breakpoints in xml-vcard.c and xml-kde.c and > try to understand the code from here, but I just cannot sync under > gdb... > What is the code that compares two xml contacts? > Do the developpers use gdb for debugging? > > Here is the detail of the conflict (phone numbers scrapped). > Conflict for Mapping 0x808db00: > Entry 1: > UID: 000000000006 > <?xml version=3D"1.0"?> > <contact> > <Name> > <FirstName>Sridhar</FirstName> > </Name> > <FullName> > <Content>Sridhar</Content> > </FullName> > <Telephone> > <Content>+5686XXXXXX</Content> > <Type>CELL</Type> > </Telephone> > <UnknownNode> > <NodeName>X-IRMC-LUID</NodeName> > <Content>000000000006</Content> > </UnknownNode> > </contact> > > > Entry 2: > UID: AMK3cRcTnK > <?xml version=3D"1.0"?> > <contact> > <FullName> > <Content>Sridhar</Content> > </FullName> > <Name> > <LastName>Sridhar</LastName> > </Name> > <UnknownNode> > <NodeName>NAME</NodeName> > <Content>Sridhar</Content> > </UnknownNode> > <Revision> > <Content>2006-02-06T17:30:36Z</Content> > </Revision> > <Telephone> > <Content>+5686XXXXXX</Content> > <Type>CELL</Type> > </Telephone> > <Uid> > <Content>AMK3cRcTnK</Content> > </Uid> > </contact> > |
From: Eduardo P. H. <eha...@ma...> - 2006-02-16 12:09:36
|
On Thu, Feb 16, 2006 at 01:14:42AM -0300, Guillaume Pothier wrote: > Updates: > - Stepping through the irmc-obex connection code sometimes permits to > establish the connection. There seems to be a timing issue... > - I found the original VCards that spawn the conflict (see below). > There are quite a few differences. The entry on the phone has been > generated by a previous sync (with opensync), so I guess the phone > will never store the REV attribute, for instance. As VCard may or may > not be the native storage format on both devices, it might well be > impossible to have them both exactly equal. How will OpenSync handle > this issue? The "REV" field is ignored when comparing contacts to detect conflict (according to the table on compare_contact() (xml-vcard.c). But the NAME field in the KDE-PIM contact is unknown to opensync, and this seems to be the cause of the conflict. The other difference is that the contact on KDE-PIM has LastName =3D Sridhar, but in the phone, the FirstName is set, instead. The X-IRMC-LUID field is unknown to opensync, also, and will make opensync treat the contacts as different. --=20 Eduardo |
From: Guillaume P. <gpo...@gm...> - 2006-02-16 14:26:52
|
> > Anyway, if you are having problems with gdb and want to track the problem= , > the osync_trace() function is your friend. > Hehe, setting OSYNC_TRACE to a valid directory causes the same problem (cannot connect via OBEX). There seems to be a strange timing issue with OBEX/Bluetooth connection. As a workaround I added osync_debug statements that output the input VCard and the output XML. > > The "REV" field is ignored when comparing contacts to detect conflict > (according to the table on compare_contact() (xml-vcard.c). > > But the NAME field in the KDE-PIM contact is unknown to opensync, and > this seems to be the cause of the conflict. > > The other difference is that the contact on KDE-PIM has LastName =3D > Sridhar, but in the phone, the FirstName is set, instead. Ok, I think I will erase all the contacts from the phone and resync from scratch, with debugging enabled so that I might see what is being sent to the phone in the first place. > > The X-IRMC-LUID field is unknown to opensync, also, and will make > opensync treat the contacts as different. Maybe it could be ignored as well as REV? g |
From: Eduardo P. H. <eha...@ma...> - 2006-02-16 12:05:40
|
Hi, On Wed, Feb 15, 2006 at 08:12:55PM -0300, Guillaume Pothier wrote: > Hi, I'm syncing a cellphone with Kontact through IrMC/Bluetooth. > Everytime I slowsync I get conflicts on all of the entries. It seems > it is due to a format mismatch. Below is an example output of > "msynctool --sync group". > Unfortunately I am unable to debug it because when I run the same > command under gdb I get a message saying "Cannot connect via OBEX". I > intended to place some breakpoints in xml-vcard.c and xml-kde.c and > try to understand the code from here, but I just cannot sync under > gdb... > What is the code that compares two xml contacts? opensync/formats/vformats-xml/xml-vcard.c > Do the developpers use gdb for debugging? Yes. But I have never debugged the IrMC plugin. Anyway, if you are having problems with gdb and want to track the problem, the osync_trace() function is your friend. --=20 Eduardo |
From: Eduardo P. H. <eha...@ma...> - 2006-02-16 15:51:38
|
On Thu, Feb 16, 2006 at 11:26:42AM -0300, Guillaume Pothier wrote: > > > > Anyway, if you are having problems with gdb and want to track the probl= em, > > the osync_trace() function is your friend. > > >=20 > Hehe, setting OSYNC_TRACE to a valid directory causes the same problem > (cannot connect via OBEX). There seems to be a strange timing issue > with OBEX/Bluetooth connection. Ouch. I think it is worth a bug ticket on www.opensync.org. > As a workaround I added osync_debug statements that output the input > VCard and the output XML. >=20 > > > > The "REV" field is ignored when comparing contacts to detect conflict > > (according to the table on compare_contact() (xml-vcard.c). > > > > But the NAME field in the KDE-PIM contact is unknown to opensync, and > > this seems to be the cause of the conflict. > > > > The other difference is that the contact on KDE-PIM has LastName =3D > > Sridhar, but in the phone, the FirstName is set, instead. >=20 > Ok, I think I will erase all the contacts from the phone and resync > from scratch, with debugging enabled so that I might see what is being > sent to the phone in the first place. Good. >=20 > > > > The X-IRMC-LUID field is unknown to opensync, also, and will make > > opensync treat the contacts as different. >=20 > Maybe it could be ignored as well as REV? Yes. It can be added to the table, also. --=20 Eduardo |
From: Guillaume P. <gpo...@gm...> - 2006-02-16 18:39:48
|
> > Ouch. I think it is worth a bug ticket on www.opensync.org. As soon as opensync.org is back online... What's up with this server, it is unreacheable every other day? > > > > Ok, I think I will erase all the contacts from the phone and resync > > from scratch, with debugging enabled so that I might see what is being > > sent to the phone in the first place. > > Good. > So I erased all the contacts from the phone and left only one contact in Kontact so as to make debugging easier. It seems that the phone transforms the VCard it receives. Log pasted below, first part is the initial sync, second part is a subsequent slow-sync. My phone is a SonyEricsson K700i. Can it be a problem with opensync rather than with the phone? Well, I guess it's actually a problem with the phone... And I guess that this is not the only phone that improperly handles VCards (as the K700 is not a low-end phone with poor software). Is there something in the IrMC protocol that permits to choose the contact format? By the way, does anybody have the IrMC specs? I'm not going to pay to dowload them on irda.org... Here comes the logs. g Synchronizing group "g" [OSDB] INFORMATION: Unable create changes table! table tbl_changes already exists Member 1 of type kdepim-sync just connected Member 2 of type irmc-sync just connected All clients connected or error irmc_sync: syncing calendar irmc_sync: fastsync calendar retrieving 'telecom/cal/luid/5.log' irmc_sync: syncing addressbook irmc_sync: slowsync addressbook irmc_sync: syncing notebook irmc_sync: fastsync notebook retrieving 'telecom/nt/luid/0.log' [OSDB] INFORMATION: Unable create log table! table tbl_log already exists [xml-vcard] INFORMATION: Input Vcard is: BEGIN:VCARD FN:Sridhar N:Sridhar;;;; NAME:Sridhar REV:2006-02-06T17:30:36Z TEL;TYPE=3DCELL:+568XXXXXX UID:AMK3cRcTnK VERSION:2.1 END:VCARD [xml-vcard] INFORMATION: Output XML is: <?xml version=3D"1.0"?> <contact> <FullName> <Content>Sridhar</Content> </FullName> <Name> <LastName>Sridhar</LastName> </Name> <UnknownNode> <NodeName>NAME</NodeName> <Content>Sridhar</Content> </UnknownNode> <Revision> <Content>2006-02-06T17:30:36Z</Content> </Revision> <Telephone> <Content>+568XXXXXX</Content> <Type>CELL</Type> </Telephone> <Uid> <Content>AMK3cRcTnK</Content> </Uid> </contact> (hop) [OSYNC] WARNING: Format vcard21 don't have a destroy function. Possible memory leak Received a entry AMK3cRcTnK with data of size 4 from member 1. Changetype A= DDED Member 2 of type irmc-sync just sent all changes reporting notes libkcal-1962870999.521 input is output is Member 1 of type kdepim-sync just sent all changes All clients sent changes or error [OSDB] INFORMATION: Unable create log table! table tbl_log already exists All conflicts have been reported [xml-vcard] INFORMATION: Input XML is: <?xml version=3D"1.0"?> <contact> <FullName> <Content>Sridhar</Content> </FullName> <Name> <LastName>Sridhar</LastName> </Name> <UnknownNode> <NodeName>NAME</NodeName> <Content>Sridhar</Content> </UnknownNode> <Revision> <Content>2006-02-06T17:30:36Z</Content> </Revision> <Telephone> <Content>+568XXXXXX</Content> <Type>CELL</Type> </Telephone> <Uid> <Content>AMK3cRcTnK</Content> </Uid> </contact> [xml-vcard] INFORMATION: vcard output is: BEGIN:VCARD VERSION:2.1 FN:Sridhar N:Sridhar;;;; NAME:Sridhar TEL;CELL:+568XXXXXX END:VCARD [OSYNC] INFORMATION: Searching for sink [OSYNC] INFORMATION: Comparing change vcard21 with sink vcard21 change on object telecom/pb/luid/.vcf [OSYNC] INFORMATION: Sending changes to sink 0x8053a78:vcard30 [OSYNC] INFORMATION: Sending changes to sink 0x8053aa8:vcard21 [OSYNC] INFORMATION: Sending changes to sink 0x8053af8:vevent20 [OSYNC] INFORMATION: Sending changes to sink 0x8053b70:vtodo20 [OSYNC] INFORMATION: Sending changes to sink 0x8053be8:xml-note [OSYNC] INFORMATION: Sending committed all to sink 0x8053a78:vcard30 Member 1 of type kdepim-sync committed all changes. contact added request: resp=3D 00000000001B1 new_luid=3D00000000001B cc=3D1 [OSYNC] INFORMATION: Sending changes to sink 0x8066418:vcard21 [OSYNC] INFORMATION: Sending changes to sink 0x8066a80:vevent10 [OSYNC] INFORMATION: Sending changes to sink 0x8066ee8:vtodo20 [OSYNC] INFORMATION: Sending changes to sink 0x8066f40:vnote11 [OSYNC] INFORMATION: Sending committed all to sink 0x8066418:vcard21 Sent a entry 00000000001B of size 101 to member 2. Changetype ADDED Member 2 of type irmc-sync committed all changes. All clients have written Member 1 of type kdepim-sync just disconnected Member 2 of type irmc-sync just disconnected All clients have disconnected The sync was successful -------------------------------------------------------------------- Synchronizing group "g" [slow sync] [OSDB] INFORMATION: Unable create changes table! table tbl_changes already exists Member 1 of type kdepim-sync just connected Member 2 of type irmc-sync just connected All clients connected or error irmc_sync: syncing calendar irmc_sync: fastsync calendar retrieving 'telecom/cal/luid/10.log' irmc_sync: syncing addressbook irmc_sync: slowsync addressbook irmc_sync: syncing notebook irmc_sync: fastsync notebook retrieving 'telecom/nt/luid/0.log' reporting notes libkcal-1962870999.521 input is output is [OSDB] INFORMATION: Unable create log table! table tbl_log already exists [xml-vcard] INFORMATION: Input Vcard is: BEGIN:VCARD FN:Sridhar N:Sridhar;;;; NAME:Sridhar REV:2006-02-06T17:30:36Z TEL;TYPE=3DCELL:+568XXXXXX UID:AMK3cRcTnK VERSION:2.1 END:VCARD [xml-vcard] INFORMATION: Output XML is: <?xml version=3D"1.0"?> <contact> <FullName> <Content>Sridhar</Content> </FullName> <Name> <LastName>Sridhar</LastName> </Name> <UnknownNode> <NodeName>NAME</NodeName> <Content>Sridhar</Content> </UnknownNode> <Revision> <Content>2006-02-06T17:30:36Z</Content> </Revision> <Telephone> <Content>+568XXXXXX</Content> <Type>CELL</Type> </Telephone> <Uid> <Content>AMK3cRcTnK</Content> </Uid> </contact> (hop) [OSYNC] WARNING: Format vcard21 don't have a destroy function. Possible memory leak Received a entry AMK3cRcTnK with data of size 4 from member 1. Changetype A= DDED [OSDB] INFORMATION: Unable create log table! table tbl_log already exists [xml-vcard] INFORMATION: Input Vcard is: BEGIN:VCARD VERSION:2.1 N:;Sridhar FN:Sridhar TEL;CELL:+568XXXXXX X-IRMC-LUID:00000000001B END:VCARD [xml-vcard] INFORMATION: Output XML is: <?xml version=3D"1.0"?> <contact> <Name> <FirstName>Sridhar</FirstName> </Name> <FullName> <Content>Sridhar</Content> </FullName> <Telephone> <Content>+568XXXXXX</Content> <Type>CELL</Type> </Telephone> <UnknownNode> <NodeName>X-IRMC-LUID</NodeName> <Content>00000000001B</Content> </UnknownNode> </contact> (hop) [OSYNC] WARNING: Format vcard21 don't have a destroy function. Possible memory leak Received a entry 00000000001B with data of size 4 from member 2. Changetype ADDED Member 2 of type irmc-sync just sent all changes Member 1 of type kdepim-sync just sent all changes All clients sent changes or error [OSDB] INFORMATION: Unable create log table! table tbl_log already exists [MAP] INFORMATION: Got conflict for mapping 0x808d428 Conflict for Mapping 0x808d428: Entry 1: UID: 00000000001B <?xml version=3D"1.0"?> <contact> <Name> <FirstName>Sridhar</FirstName> </Name> <FullName> <Content>Sridhar</Content> </FullName> <Telephone> <Content>+568XXXXXX</Content> <Type>CELL</Type> </Telephone> <UnknownNode> <NodeName>X-IRMC-LUID</NodeName> <Content>00000000001B</Content> </UnknownNode> </contact> Entry 2: UID: AMK3cRcTnK <?xml version=3D"1.0"?> <contact> <FullName> <Content>Sridhar</Content> </FullName> <Name> <LastName>Sridhar</LastName> </Name> <UnknownNode> <NodeName>NAME</NodeName> <Content>Sridhar</Content> </UnknownNode> <Revision> <Content>2006-02-06T17:30:36Z</Content> </Revision> <Telephone> <Content>+568XXXXXX</Content> <Type>CELL</Type> </Telephone> <Uid> <Content>AMK3cRcTnK</Content> </Uid> </contact> Which entry do you want to use? [1-9] To select a side, [D]uplicate, [I]gnore, Keep [N]ewer: n Newest entry used Conflict not resolved: Unable to find the revision All conflicts have been reported |
From: Marc B. <li...@ba...> - 2006-02-16 22:27:14
|
I had the identical problems, when I synced my Sony Ericson 750i with KDE. A second sync reported conflicts for all entries. My first assumption for the reason of the conflicts have been additional fields in KDE, like a second address, two mail addresses or the birthday. These fields are obviously not supported by the phone. Is there a way to cope with fields, which are present on one device and not on the other one? Further, I can confirm the problems with the connectivity, which sometimes fails. Has anybody experiences with the synchronisation of appointments? Best regards marc |
From: Juha T. <Juh...@ik...> - 2006-02-17 06:52:58
|
On Friday 17 February 2006 00:27, Marc Barisch wrote: > Is there a way to cope with fields, which are present on one device and not > on the other one? Not at the moment, it would require a merge functionality which is being implemented: http://sourceforge.net/mailarchive/message.php?msg_id=13880758 Tuju -- Ajatteleva ihminen tarvitsee unta. |
From: Guillaume P. <gpo...@gm...> - 2006-02-18 00:17:27
|
Thanks for the pointer: Indeed "mangled merging" would be an interesting feature. Well, it would actually be an indispensable feature. But I fear it may even not be enough: there is the case of devices that not only miss some fields - but messes up the entries, as seems to be the case with my phone. Will it be necessary to have a "buggy device database" with specific code to handle the misbehaviors of all devices? That would be painful!!! I wonder how they manage this in MacOSX. I have not tested syncing with my phone but a friend who has the ancestor of my phone (T750 or something like that) syncs with his mac without problem. Or maybe the field swapping I experienced is not a problem with the phone but with IrMC, How does the IrMC plugin send the VCards to a phone? Plain full text? g On 2/17/06, Juha Tuomala <Juh...@ik...> wrote: > > > > On Friday 17 February 2006 00:27, Marc Barisch wrote: > > Is there a way to cope with fields, which are present on one device and= not > > on the other one? > > Not at the moment, it would require a merge functionality which is > being implemented: > > http://sourceforge.net/mailarchive/message.php?msg_id=3D13880758 > > Tuju > > -- > Ajatteleva ihminen tarvitsee unta. > > > ------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. Do you grep through log fi= les > for problems? Stop! Download the new AJAX search engine that makes > searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! > http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D103432&bid=3D230486&dat= =3D121642 > _______________________________________________ > Opensync-users mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/opensync-users > |