[SyncEvolution] Re: Fixing the Maemo backend

Patrick Ohly patrick.ohly at intel.com
Sun Oct 4 11:58:41 UTC 2020


Merlijn Wajer <merlijn at wizzup.org> writes:
> I'm interested in getting the Maemo backend up and running again, to be
> used in 'Maemo Leste' (Maemo 5, 100% open source, based on stable
> Devuan/Debian).

As you noticed, that backend needs a maintainer. I'm currently trying to
get an updated SyncEvolution release-ready (using more modern C++,
adapted to recent versions of the libraries it depends on). If you care
about Maemo to work in that release, then now is a good time to debug
this.

There is a "for-master/master-next" branch with the revised code, but I
am still rebasing that from time to time.

> Then, I can see my calendar backends and invoke a sync, but it throws a
> weird error when I try to sync like this:
>
>> user at devuan:~$ syncevolution --sync refresh-from-client radicale calendar
>
> This error shows up a lot (but maybe it is not harmful?):
>
>> [ERROR] @default/radicalecal: basic_string::replace: __pos (which is
>4294967295) > this->size() (which is 11)

This indicates that an invalid string replace was attempted for a C++
string (out-of-bounds index), which got caught by the C++ runtime and
turned into an exception.

> Here's a slightly more verbose log, with most of my calendar events
> removed, and two (first and last) left in place, but the description
> modified.
>
>> user at devuan:~$ syncevolution --sync refresh-from-client radicale radicalecal
>> [WARNING] radicale: ignoring username , it is not needed
>> [INFO] @default/addressbook: inactive
>> [INFO] @default/calendar: inactive
>> [INFO] @default/memo: inactive
>> [INFO] @default/radicalejournal: inactive
>> [INFO] @default/radicaletodo: inactive
>> [INFO] @default/todo: inactive
>> [WARNING] radicale: ignoring username , it is not needed
>> [INFO @radicale] target side of local sync ready
>> [INFO @radicale] @radicale/addressbook: inactive
>> [INFO @radicale] @radicale/calendar: inactive
>> [INFO @radicale] @radicale/memo: inactive
>> [INFO @radicale] @radicale/radicalejournal: inactive
>> [INFO @radicale] @radicale/radicaletodo: inactive
>> [INFO @radicale] @radicale/todo: inactive
>> [INFO @radicale] @radicale/radicalecal: using configured database=http://localhost:5223/merlijn/f5203b02-1985-a468-7a57-4c00a87f0850/
>> [INFO @radicale] @radicale/radicalecal: starting first time sync from client (peer is server)
>> [INFO @radicale] @radicale/radicalecal: sent 190/265
>> [INFO] @default/radicalecal: starting first time sync from client (peer is client)
>> [INFO] creating complete data backup of datastore radicalecal before sync (enabled with dumpData and needed for printChanges)
>> @default data changes to be applied during synchronization:
>> *** @default/radicalecal ***
>> Comparison was impossible.
>> 
>> [INFO] @default/radicalecal: deleting 0
>> [INFO] @default/radicalecal: started
>> [INFO] @default/radicalecal: adding "specific text removed"
>> [ERROR] @default/radicalecal: basic_string::replace: __pos (which is
>> 4294967295) > this->size() (which is 11)

There's no strack trace for the exception printed, so it's impossible to
determine where it occurs.

Try this:

SYNCEVOLUTION_DEBUG=1 gdb --args syncevolution --daemon=no \
             --sync-property loglevel=10 \
             --sync refresh-from-client radicale radicalecal

When the exception is thrown, gdb might stop.

> Would it be helpful if I also included the html log file?

No, that won't have more information about this.

-- 
Best Regards

Patrick Ohly
_______________________________________________
SyncEvolution mailing list -- syncevolution at syncevolution.org
To unsubscribe send an email to syncevolution-leave at syncevolution.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s



More information about the SyncEvolution mailing list