Ticket #1142 (new defect)
syncml-obex-client: Missing Nodes
| Reported by: | meteosat | Owned by: | dgollub |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Plugin: syncml-client | Version: | 0.22 |
| Severity: | normal | Keywords: | |
| Cc: | mkl, opensync@…, krf@… |
Description
Hi, for my new nokia 5800 I want to sync between Kontact and the handy. I'm using multisync-gui 0.91 and these two plugins: kdepim-sync without configuration syncml-obex-client with this:
<?xml version="1.0"?> <config> <!-- (Only for bluetooth) The bluetooth address if the bluetooth mode is selected --> <bluetooth_address>XX:XX:XX:XX:XX:XX</bluetooth_address> <!-- (Only for bluetooth) The bluetooth channel to use. `sdptool browse $MAC` to search for the correct channel --> <bluetooth_channel>7</bluetooth_channel> <!-- (Only for USB) The usb interface number of the SYNCML-SYNC target. use syncml-obex-client -u (you will need access to the USB raw device) to find it. --> <interface>0</interface> <!-- The string that the plugin will use to identify itself. Some devices need a special string here. --> <identifier>PC Suite</identifier> <!-- The syncml version to use: 0 for 1.0, 1 for 1.1 and 2 for 1.2 --> <version>1</version> <!-- if the plugin should use wbxml --> <wbxml>1</wbxml> <!-- The username to use. Leave empty to not require a username --> <username></username> <!-- the password for the username --> <password></password> <!-- sets the connection type to use. 5 means obex over usb, 2 means obex over bluetooth --> <type>2</type> <!-- If wbxml is enabled, defines wether the wbxml should use string tables --> <usestringtable>1</usestringtable> <!-- Never send ADD command, but send REPLACE (not needed normally) --> <onlyreplace>0</onlyreplace> <!-- Workaround around for mobile phones which only use local timestamps and _no_ UTC timestamps! --> <onlyLocaltime>0</onlyLocaltime> <!-- Sets the maximum allowed size in bytes of incoming messages (some device need this option set). Example: 10000 --> <recvLimit>50000</recvLimit> <maxObjSize>0</maxObjSize> <!-- The name of the contacts db. Must be the same as the phones sends --> <contact_db>Contacts</contact_db> <!-- The name of the calendar db. Must be the same as the phones sends --> <calendar_db>Calendar</calendar_db> <!-- The name of the note db. Must be the same as the phones sends --> <note_db>Notes</note_db> </config>
The result:
The previous synchronization was unclean. Slow-syncing Member 1 of type evo2-sync just connected received event dsession received contact dsession received note dsession Member 2 of type syncml-obex-client just connected All clients connected or error Received an entry pas-id-42A848AB00000014 with data of size 4 from member 1. Changetype ADDED ........... Received an entry pas-id-42A848B6000002A2 with data of size 4 from member 1. Changetype ADDED Member 1 of type evo2-sync just sent all changes Received an entry 4 with data of size 4 from member 2. Changetype ADDED Received an entry 5 with data of size 4 from member 2. Changetype ADDED Received an entry 6 with data of size 4 from member 2. Changetype ADDED Received an entry 7 with data of size 4 from member 2. Changetype ADDED Member 2 of type syncml-obex-client had an error while getting changes: Missing nodes Member 1 of type evo2-sync just disconnected
I was not able to find the meaning of "Missing Nodes". Do you have any solution? Thank you, Dieter
Change History
comment:2 Changed 4 years ago by megandy
OS: Ubuntu 8.04-3 2nd peer: Evolution
output of
syncml-obex-client -b 00:1E:3A:4E:39:F1 5 --slow-sync text/x-vcalendar Calendar --identifier "PC Suite" --wbxml --dumpinfo --useStringTable
Man: Nokia Mod: E75-1 FirmwareVersion: SoftwareVersion: 110.48.125 HardwareVersion: ReceiveLimit: 0 MaxObjSize: 0 Connection used: OBEX Client Identifier: PC Suite Databases: DB Locations: Calendar DB Type: text/x-vcalendar DB Slow: 1 Bluetooth: Yes Wbxml: Yes SyncML Version: 1.1 SupportsNumberofChanges: Yes SupportsLargeObjects: Yes
Using a usb connection leads to same results with the error reported.
comment:3 Changed 4 years ago by mkl
- Cc mkl added
I have a similar effect with a Nokia E65: I try to synchronize with files for a start.
The mobile delivers 80 of 164 calendar entries, then I see on the PC console: ... Received an entry 929 with data of size 4 from member 1 (syncml-obex-client). Changetype ADDED Member 1 of type syncml-obex-client had an error while getting changes: Missing nodes Member 2 of type file-sync just disconnected
If I remove
<calendar_db>Calendar</calendar_db>
from syncml-obex-client.conf, then I can download all contacts at least.
This is Ubuntu 9.04
comment:4 Changed 4 years ago by bellmich
- Owner changed from bellmich to dgollub
I do not handle the support for 0.22.
comment:6 Changed 4 years ago by settel
- Cc opensync@… added
Last week, I got the same error message when I try to sync events from Nokia 5800 to whatever (tried evo2-sync and file-sync).
The events that triggered the error all have in common that the start date is "$DATE 00:00" and end date is "($DATE - 1) 23:59" (I inherited those events from my Palm Tungsten T2, they usually denote special events like christmas, new year's eve, start of spring/summer/...). After I purged them from Nokia 5800, sync went smooth.
Unfortunally, now I've got the same error again but I don't know what events now cause the trouble this time:
~/ $ syncml-obex-client -u 0 --identifier "PC Suite" --wbxml --slow-sync text/x-vcalendar Calendar --useStringTable connection with device succeeded Received an Alert for the DS Server at Calendar: Type: 200, Last 20091003T231518Z, Next 20091004T180438Z Slowsyncing Just received a new session with ID 1 Session 1 reported final. flushing Received an reply to our Alert Going to receive 50 changes There was an error in the session 1: Missing nodes
comment:7 Changed 4 years ago by settel
I stand corrected, the error seems to be caused by an invalid character inside the XML CDATA block of a vcalendar item.
With help of the SYNCML_LOG environment variable, I've been able to dump the communication and the received XML file indeed contains a ^H (ASCII 0x08) at the end of one of the lines inside a CDATA section
~ $ export SYNCML_LOG=/tmp/syncml.log
~ $ mkdir "$SYNCML_LOG"
~ $ msynctool --sync nokia-file
[...]
Received an entry 130 with data of size 4 from member 1 (syncml-obex-client). Changetype ADDED
Received an entry 131 with data of size 4 from member 1 (syncml-obex-client). Changetype ADDED
Member 1 of type syncml-obex-client had an error while getting changes: No node at all
Member 2 of type file-sync just disconnected
~ $ xmllint received-1.xml
received-1.xml:1059: parser error : CData section not finished
BEGIN:VCALENDAR
VERSION:1.0
BEGIN:VEVENT
UID;ENCOD
UID;ENCODING=QUOTED-PRINTABLE:09102009003017189500
^
received-1.xml:1059: parser error : PCDATA invalid Char value 8
UID;ENCODING=QUOTED-PRINTABLE:09102009003017189500
^
received-1.xml:1068: parser error : Sequence ']]>' not allowed in content
END:VCALENDAR
^
[...]
~ $ grep ENCODING=QUOTED-PRINTABLE:09102009003017189500 /tmp/syncml.log/received-1.xml | xxd
0000000: 5549 443b 454e 434f 4449 4e47 3d51 554f UID;ENCODING=QUO
0000010: 5445 442d 5052 494e 5441 424c 453a 3039 TED-PRINTABLE:09
0000020: 3130 3230 3039 3030 3330 3137 3138 3935 1020090030171895
0000030: 3030 080d 0a 00...
comment:8 Changed 4 years ago by megandy
when I repeated the steps proposed by settel, I encountered a problem with German umlauts:
~$ xmllint /tmp/syncml.log/received-4.xml
/tmp/syncml.log/received-4.xml:11: parser error : Input is not proper UTF-8, indicate encoding !
Bytes: 0xF6 0x72 0x65 0x72
S ACTION;RSVP=NO;EXPECT=FYI;X-ROLE=REQ-PARTICIPANT;X-STATUS=NEEDS-ACTION;X-CN=M
^
~$ grep 'S ACTION;RSVP=NO;EXPECT=FYI;X-ROLE=REQ-PARTICIPANT;X-STATUS=NEEDS-ACTION;X-CN=Sp' /tmp/syncml.log/received-4.xml
ATTENDEE;ROLE=ATTENDEE;STATUS=NEEDS ACTION;RSVP=NO;EXPECT=FYI;X-ROLE=REQ-PARTICIPANT;X-STATUS=NEEDS-ACTION;X-CN=M�rer, Stephan;ENCODING=QUOTED-PRINTABLE:=
The character after the parse error is a German 'ö'. It seems to be a enconding problem
comment:10 Changed 3 years ago by krf
FYI: Just "solved" this by deleting all entries in the phone calender. Syncing works now.

Same is here using the mobile phone Nokia E75. At my side the error occurs when I try to sync the calendar. By changing the following, at least the sync of the contacts works:
Removing (or changing) the name of the DB:
If some additional infos are needed to fix this problem, I would willingly provide them.
My configuration of the obex-client is