Hi, On 04/10/2020 13:58, Patrick Ohly wrote: > Merlijn Wajer <merl...@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.
Ok, if I can bend it into shape I'm happy to maintain it for now. > There is a "for-master/master-next" branch with the revised code, but I > am still rebasing that from time to time. Check, let me try to get it to work first. >> 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@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. Check. > > 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. I entered this in gdb before typing 'run': > catch throw .* And then it caught the exception [1]. And it looks like the exception is in "calendar-backend", which is a Maemo component - so the problem might not even be in syncevolution per se. I will dive in, and I will let you know. Thank you for the quick response. Cheers, Merlijn [1] > Thread 1 "syncevolution" hit Catchpoint 1 (exception thrown), > 0x00007ffff7367afd in __cxa_throw () from > /usr/lib/x86_64-linux-gnu/libstdc++.so.6 > (gdb) bt > #0 0x00007ffff7367afd in __cxa_throw () at > /usr/lib/x86_64-linux-gnu/libstdc++.so.6 > #1 0x00007ffff7363891 in () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6 > #2 0x00007ffff35d6d41 in std::__cxx11::basic_string<char, > std::char_traits<char>, std::allocator<char> >::_M_check(unsigned long, char > const*) const > (__s=0x7ffff35faf24 "basic_string::replace", __pos=<optimized out>, > this=0x7fffffff9d50) at /usr/include/c++/8/bits/basic_string.h:299 > #3 0x00007ffff35d6d41 in std::__cxx11::basic_string<char, > std::char_traits<char>, std::allocator<char> >::replace(unsigned long, > unsigned long, char const*, unsigned long) (__n2=1, __s=0x7ffff360806b ",", > __n1=2, __pos=<optimized out>, this=0x7fffffff9d50) at > /usr/include/c++/8/bits/basic_string.h:1932 > #4 0x00007ffff35d6d41 in std::__cxx11::basic_string<char, > std::char_traits<char>, std::allocator<char> >::replace(unsigned long, > unsigned long, char const*) > (__s=0x7ffff360806b ",", __n1=2, __pos=<optimized out>, > this=0x7fffffff9d50) at /usr/include/c++/8/bits/basic_string.h:1955 > #5 0x00007ffff35d6d41 in > ICalConverter::icalVcalToLocal(std::__cxx11::basic_string<char, > std::char_traits<char>, std::allocator<char> >, FileType, int&) > (this=this@entry=0x555557b23de0, > szCont="BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:-//Synthesis AG//NONSGML SyncML > Engine > V3.4.0.47//EN\nBEGIN:VTIMEZONE\nTZID:Amsterdam\nBEGIN:STANDARD\nDTSTART:19671029T030000\nRRULE:FREQ=MONTHLY;INTERVAL=12;BYDAY=-1SU\n"..., > iType=iType@entry=ICAL_TYPE, pErrorCode=@0x7fffffffabdc: 21845) > at ICalConverter.cpp:3940 > #6 0x00007ffff36cdd41 in > SyncEvo::MaemoCalendarSource::insertItem(std::__cxx11::basic_string<char, > std::char_traits<char>, std::allocator<char> > const&, > std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, bool) > (this=0x5555579d4560, uid="", > item="BEGIN:VCALENDAR\r\nVERSION:2.0\r\nPRODID:-//Synthesis AG//NONSGML > SyncML Engine > V3.4.0.47//EN\r\nBEGIN:VTIMEZONE\r\nTZID:Amsterdam\r\nBEGIN:STANDARD\r\nDTSTART:19671029T030000\r\nRRULE:FREQ=MONTHLY;INTERVAL=12;BYDA"..., > raw=<optimized out>) at /usr/include/c++/8/bits/basic_string.h:936 > #7 0x00007ffff7a61cd7 in > boost::detail::function::function_obj_invoker0<boost::_bi::bind_t<SyncEvo::SyncSourceRaw::InsertItemResult, > boost::_mfi::mf3<SyncEvo::SyncSourceRaw::InsertItemResult, > SyncEvo::TrackingSyncSource, std::__cxx11::basic_string<char, > std::char_traits<char>, std::allocator<char> > const&, > std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, bool>, > boost::_bi::list4<boost::_bi::value<SyncEvo::TrackingSyncSource*>, > boost::_bi::value<std::__cxx11::basic_string<char, std::char_traits<char>, > std::allocator<char> > >, boost::_bi::value<std::__cxx11::basic_string<char, > std::char_traits<char>, std::allocator<char> > >, boost::_bi::value<bool> > > >, > SyncEvo::SyncSourceRaw::InsertItemResult>::invoke(boost::detail::function::function_buffer&) > () > at /usr/lib/x86_64-linux-gnu/libsyncevolution.so.0 > #8 0x00007ffff7a5fe23 in > SyncEvo::TrackingSyncSource::continueInsertItem(boost::function<SyncEvo::SyncSourceRaw::InsertItemResult > ()> const&, std::__cxx11::basic_string<char, std::char_traits<char>, > std::allocator<char> > const&) () at > /usr/lib/x86_64-linux-gnu/libsyncevolution.so.0 > #9 0x00007ffff7a61163 in > SyncEvo::TrackingSyncSource::doInsertItem(std::__cxx11::basic_string<char, > std::char_traits<char>, std::allocator<char> > const&, > std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, bool) () at /usr/lib/x86_64-linux-gnu/libsyncevolution.so.0 > #10 0x00007ffff7a61580 in > SyncEvo::TrackingSyncSource::insertItem(std::__cxx11::basic_string<char, > std::char_traits<char>, std::allocator<char> > const&, > std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&) () at /usr/lib/x86_64-linux-gnu/libsyncevolution.so.0 > #11 0x00007ffff798f213 in > SyncEvo::SyncSourceSerialize::insertItemAsKey(sysync::KeyType*, > sysync::ItemIDType*) () at /usr/lib/x86_64-linux-gnu/libsyncevolution.so.0 > #12 0x00007ffff79a373a in > boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<boost::variant<unsigned > short, SyncEvo::ContinueOperation<unsigned short (sysync::KeyType*, > sysync::ItemIDType*)> >, boost::_mfi::mf2<boost::variant<unsigned short, > SyncEvo::ContinueOperation<unsigned short (sysync::KeyType*, > sysync::ItemIDType*)> >, SyncEvo::SyncSourceSerialize, sysync::KeyType*, > sysync::ItemIDType*>, > boost::_bi::list3<boost::_bi::value<SyncEvo::SyncSourceSerialize*>, > boost::arg<1>, boost::arg<2> > >, boost::variant<unsigned short, > SyncEvo::ContinueOperation<unsigned short (sysync::KeyType*, > sysync::ItemIDType*)> >, sysync::KeyType*, > sysync::ItemIDType*>::invoke(boost::detail::function::function_buffer&, > sysync::KeyType*, sysync::ItemIDType*) () at > /usr/lib/x86_64-linux-gnu/libsyncevolution.so.0 > #13 0x00007ffff79d9927 in > SyncEvo::OperationWrapperSwitch<boost::variant<unsigned short, > SyncEvo::ContinueOperation<unsigned short (sysync::KeyType*, > sysync::ItemIDType*)> > (sysync::KeyType*, sysync::ItemIDType*), 2, > boost::variant<unsigned short, SyncEvo::ContinueOperation<unsigned short > (sysync::KeyType*, sysync::ItemIDType*)> > >::operator()(sysync::KeyType*, > sysync::ItemIDType*) const () at > /usr/lib/x86_64-linux-gnu/libsyncevolution.so.0 > #14 0x00007ffff79c582a in SyncEvolution_InsertItemAsKey () at > /usr/lib/x86_64-linux-gnu/libsyncevolution.so.0 > #15 0x00007ffff662a116 in sysync::TDB_Api::InsertItemAsKey(sysync::KeyType*, > char const*, sysync::TDB_Api_ItemID&) > (this=this@entry=0x555557a068a0, aItemKey=aItemKey@entry=0x555557b1fb90, > parentID=parentID@entry=0x7ffff67428d5 "", newID=...) > at DB_interfaces/api_db/dbapi.cpp:1924 > #16 0x00007ffff6633080 in > sysync::TPluginApiDS::apiAddItem(sysync::TMultiFieldItem&, > std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&) > (this=0x555557a05860, aItem=..., aLocalID="") at > DB_interfaces/api_db/pluginapids.cpp:1384 > #17 0x00007ffff6666533 in > sysync::TCustomImplDS::implProcessItem(sysync::TSyncItem*, > sysync::TStatusCommand&) > (this=0x555557a05860, aItemP=0x555555637260, aStatusCommand=...) at > sysync/customimplds.cpp:2918 > #18 0x00007ffff66bb773 in > sysync::TStdLogicDS::logicProcessRemoteItem(sysync::TSyncItem*, > sysync::TStatusCommand&, bool&, std::__cxx11::basic_string<char, > std::char_traits<char>, std::allocator<char> >*) (this=0x555557a05860, > syncitemP=0x555555637260, aStatusCommand=..., > aVisibleInSyncset=@0x7fffffffbb1f: true, aGUID=0x0) > at sysync/stdlogicds.cpp:1446 > #19 0x00007ffff668a807 in > sysync::TLocalEngineDS::engProcessRemoteItemAsServer(sysync::TSyncItem*, > sysync::TStatusCommand&) > (this=<optimized out>, aSyncItemP=0x555555637260, aStatusCommand=...) at > sysync/localengineds.cpp:6407 > #20 0x00007ffff66828dc in > sysync::TLocalEngineDS::engProcessSyncOpItem(sysync::TSyncOperation, > sml_item_s*, sml_metinf_metinf_s*, sysync::TStatusCommand&) > (this=0x555557a05860, aSyncOp=aSyncOp@entry=sysync::sop_add, > aItemP=aItemP@entry=0x555557b23b10, aMetaP=aMetaP@entry=0x555557b197c0, > aStatusCommand=...) > at sysync/localengineds.cpp:5277 > #21 0x00007ffff66dfdc8 in > sysync::TSyncSession::processSyncOpItem(sysync::TSyncOperation, sml_item_s*, > sml_metinf_metinf_s*, sysync::TLocalEngineDS*, sysync::TStatusCommand&, bool&) > (this=0x5555579e8d20, aSyncOp=<optimized out>, aItemP=0x555557b23b10, > aMetaP=aMetaP@entry=0x555557b197c0, aLocalSyncDatastore=<optimized out>, > aStatusCommand=..., aQueueForLater=@0x7fffffffbd3b: false) at > sysync/syncsession.cpp:3999 > #22 0x00007ffff66d725e in sysync::TSyncOpCommand::execute() > (this=0x555557b00b80) at sysync/synccommand.cpp:2637 > #23 0x00007ffff66e846e in sysync::TSyncSession::process(sysync::TSmlCommand*) > (this=this@entry=0x5555579e8d20, aSyncCommandP=0x555557b00b80) > at sysync/syncsession.cpp:2576 > #24 0x00007ffff66e89d5 in sysync::TSyncSession::AddCmd(sml_generic_s*) > (this=this@entry=0x5555579e8d20, aContentP=<optimized out>) at > sysync/syncsession.cpp:5803 > #25 0x00007ffff66cc1bc in sysync::TSyncAppBase::AddCmd(void*, sml_generic_s*) > (this=0x5555555c4670, userData=0x5555579e8d20, aContentP=<optimized out>) > at sysync/syncappbase.cpp:2113 > #26 0x00007ffff6990356 in smlProcessData () at > /usr/lib/x86_64-linux-gnu/libsmltk.so.0 > #27 0x00007ffff66c50cd in sysync::TSyncAgent::ServerProcessingStep(unsigned > short&, sysync::TEngineProgressType*) > (this=this@entry=0x5555579e8d20, aStepCmd=@0x7fffffffc09a: 102, > aInfoP=<optimized out>) at sysync/syncagent.cpp:3289 > #28 0x00007ffff66c6a69 in sysync::TSyncAgent::ServerSessionStep(unsigned > short&, sysync::TEngineProgressType*) > (this=this@entry=0x5555579e8d20, aStepCmd=@0x7fffffffc09a: 102, > aInfoP=aInfoP@entry=0x7fffffffc230) at sysync/syncagent.cpp:3257 > #29 0x00007ffff66c895f in sysync::TSyncAgent::SessionStep(unsigned short&, > sysync::TEngineProgressType*) > (this=this@entry=0x5555579e8d20, aStepCmd=@0x7fffffffc09a: 102, > aInfoP=aInfoP@entry=0x7fffffffc230) at sysync/syncagent.cpp:3058 > #30 0x00007ffff6649276 in > sysync::TServerEngineInterface::SessionStep(sysync::SessionType*, unsigned > short&, sysync::TEngineProgressType*) > (this=<optimized out>, aSessionH=0x5555579e8ab0, > aStepCmd=@0x7fffffffc09a: 102, aInfoP=0x7fffffffc230) at > Transport_interfaces/engine/enginesessiondispatch.cpp:478 > #31 0x00007ffff790556b in > SyncEvo::SharedEngine::SessionStep(boost::shared_ptr<sysync::SessionType> > const&, unsigned short&, sysync::TEngineProgressType*) () > at /usr/lib/x86_64-linux-gnu/libsyncevolution.so.0 > #32 0x00007ffff79f3ba8 in SyncEvo::SyncContext::doSync() () at > /usr/lib/x86_64-linux-gnu/libsyncevolution.so.0 > #33 0x00007ffff79fb713 in SyncEvo::SyncContext::sync(SyncEvo::SyncReport*) () > at /usr/lib/x86_64-linux-gnu/libsyncevolution.so.0 > #34 0x00007ffff7962711 in SyncEvo::Cmdline::run() () at > /usr/lib/x86_64-linux-gnu/libsyncevolution.so.0 > #35 0x000055555556d24f in main ()
signature.asc
Description: OpenPGP digital signature
_______________________________________________ SyncEvolution mailing list -- syncevolution@syncevolution.org To unsubscribe send an email to syncevolution-le...@syncevolution.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s