Re: problem syncing on OpenSUSE 10.2



--- Wendell MacKenzie <mackendw sympatico ca> wrote:
> Hi:
> 
>    Just upgraded my laptop to 10.2...was using Garnome 2.16.2.1 before
> (quite happily)...
> 
>    Upon startup, after the upgrade tried to sync my
> desktop/email/contacts/memos, etc to my Treo using
> gnome-pilot.  No ticky, no worky.  Here is the output from gpilotd -d:
> 
> gpilotd-Message: Watching Cradle (/dev/pilot)
> gpilotd-Message: Watching Bluetooth ()
> gpilotd-Message: Woke on network: Bluetooth
> 
> (gnome-pilot:9287): gpilotd-WARNING **: Error in queue, non-existing entry
> gpilotd-Message: Device Bluetooth has 0 events
> gpilotd-Message: Instantiating 4 conduits...
> eaddrconduit-Message: in address's conduit_get_gpilot_conduit
> 
> ecalconduit-Message: in calendar's conduit_get_gpilot_conduit
> 
> ememoconduit-Message: in memo's conduit_get_gpilot_conduit
> 
> etodoconduit-Message: in todo's conduit_get_gpilot_conduit
> 
> gpilotd-Message: Instantiated 0 backup conduits, 0 file conduits, 4
> other conduits
> gpilotd-Message: NetSync request detected, synchronizing PDA
> gpilotd-Message: PDA ID is 1000, name is MacPalm, owner is Wendell MacKenzie
> 
> (gnome-pilot:9287): gpilotd-WARNING **: Error in queue, non-existing entry
> gpilotd-Message: Pilot has 0 entries in restore queue
> 
> (gnome-pilot:9287): gpilotd-WARNING **: Error in queue, non-existing entry
> gpilotd-Message: Pilot has 0 entries in conduit queue

I don't know what these error messages are caused by - maybe someone else does.

> eaddrconduit-Message:
> ---------------------------------------------------------
> 
> eaddrconduit-Message: pre_sync: Addressbook Conduit v.0.1.2
> 
> (gnome-pilot:9287): libebook-WARNING **: invalid escape, passing it through
> 
> (gnome-pilot:9287): libebook-WARNING **: invalid escape, passing it through
> 
> (gnome-pilot:9287): libebook-WARNING **: invalid escape, passing it through
> 
> (gnome-pilot:9287): libebook-WARNING **: invalid escape, passing it through
> 
> (gnome-pilot:9287): libebook-WARNING **: invalid escape, passing it through
> 
> (gnome-pilot:9287): libebook-WARNING **: invalid escape, passing it through
> 
> (gnome-pilot:9287): libebook-WARNING **: invalid escape, passing it through
> 
> (gnome-pilot:9287): libebook-WARNING **: invalid escape, passing it through
> 
> (gnome-pilot:9287): libebook-WARNING **: invalid escape, passing it through
> 
> (gnome-pilot:9287): libebook-WARNING **: invalid escape, passing it through
> 
> (gnome-pilot:9287): libebook-WARNING **: invalid escape, passing it through

These error messages are caused by having invalid escape sequences in an Addressbook Entry. The
database shouldn't have non-escaped characters; non-escaped meaning a single '\' character with
another unrecognized character following it. The recognized escape characters are \r \n \; \,. I
wouldn't worry about it - the code will replace a single '\' with a double '\' (which is shown to
the user as a normal '\' character.

> eaddrconduit-Message:   Current URI
> file:///home/wendell/.evolution/addressbook/local/system
> (file:///home/wendell/.evolution/addressbook/local/system)
> 
> eaddrconduit-Message:     doing fast sync
> 
> eaddrconduit-Message: for_each_modified beginning
> 
> eaddrconduit-Message: no events
> eaddrconduit-Message: post_sync: Address Conduit v.0.1.2
> eaddrconduit-Message:
> ---------------------------------------------------------

No records were marked as having been modified by Evolution or the PDA since the last
synchronization. Try modifying the record (adding and then deleting a space, then saving it) and
synching again - this will mark the record as having been modified so it should sync the record.

> 
> ecalconduit-Message:
> ---------------------------------------------------------
> 
> ecalconduit-Message: pre_sync: Calendar Conduit v.0.1.6
> ecalconduit-Message:   Using timezone:
> /softwarestudio.org/Olson_20011030_5/America/New_York
> ecalconduit-Message:   Current URI
> file:///home/wendell/.evolution/calendar/local/system
> (file:///home/wendell/.evolution/calendar/local/system)
> 
> ecalconduit-Message:     doing fast sync
> 
> ecalconduit-Message: for_each_modified beginning
> 
> ecalconduit-Message: iterating over 1 records
> 
> (gnome-pilot:9287): gpilotd-WARNING **: Synchronization failed!

This is bad (and I just found out what causes this bug). Here's how I recreated the problem - let
me know if it's the same thing you're seeing:
1) Create a Calendar event (either on Evolution or the PDA)
2) Synchronize the two
3) Delete the PDA version of the Event
4) Synchronize the PDA with a different computer (or different Evolution calendar)
5) Modify the Evolution event
6) Synchronize the PDA with the Evolution calendar containing the original (and now modified)
event. Synchronization should fail.

What's causing this: pilot-link is being told to look up an PalmOS record ID in the Palm Calendar
database. The file ~/.evolution/calendar/$CAL_BEING_SYNCED/pilot-map-calendar-$PILOTID.xml
contains a mapping between Evolution UIDs and Pilot UIDs. The calendar conduit looks up the
Evolution UID of the event, and finds that it has a corresponding Pilot UID - this means it's a
"modified" event, and the PDA is expected to still have that event in its database. However, it
doesn't. The event was deleted from the PDA; it was put in the PDA's "delete" queue. When synced
with another computer, the PDA removes the item from the delete queue, and the UID is completely
forgotten. Now when it's synced with gnome-pilot, the Evo Calendar conduit doesn't verify that the
UID still exists on the PDA. This leads to the pilot-link library being told to look up an invalid
ID. When an invalid ID is found, the pilot-link library immediately returns and aborts the
synchronization.

A workaround for this bug would be to delete the XML file. To fix this bug, all 4 Evolution
conduits should verify the Pilot UID is valid before using it. If the Pilot UID isn't found, then
the UID should be set to 0 (this is the pilot-link convention).

If this sequence of events (or a similar one) isn't causing your problems, you can still try to
delete the XML file - the error is most likely still caused by the same problem. I'll add a bug on
bugzilla.gnome.org under Evolution->Conduits.

> ememoconduit-Message:
> ---------------------------------------------------------
> 
> ememoconduit-Message: pre_sync: Memo Conduit v.0.1.6
> ememoconduit-Message: Memo Conduit v.0.1.6
> ememoconduit-Message:   Using timezone:
> /softwarestudio.org/Olson_20011030_5/America/New_York
> ememoconduit-Message: num_records: 1
> add_records: 0
> mod_records: 0
> del_records: 0
> 
> ememoconduit-Message:   Current URI
> file:///home/wendell/.evolution/memos/local/system
> (file:///home/wendell/.evolution/memos/local/system)
> 
> ememoconduit-Message:     doing fast sync
> 
> ememoconduit-Message: for_each_modified beginning
> 
> ememoconduit-Message: iterating over 0 records
> ememoconduit-Message: no events
> ememoconduit-Message: post_sync: Memo Conduit v.0.1.6
> ememoconduit-Message:
> ---------------------------------------------------------

As with the addressbook conduit, it seems that no memos were marked as modified since the last
synchronization.

Let me know if the workaround for the calendar conduit bug works - since I was able to recreate
it, I hope that's the real problem.

Nathan Owens


 
____________________________________________________________________________________
Cheap talk?
Check out Yahoo! Messenger's low PC-to-Phone call rates.
http://voice.yahoo.com



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]