Ticket #434 (assigned defect)
evolution2 plugin hangs
| Reported by: | darkeye | Owned by: | pmarat |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Plugin: evolution | Version: | 0.21 |
| Severity: | blocker | Keywords: | |
| Cc: | darkeye@… |
Description
I'm trying to sync between a SyncML-enabled cell phone and evolution 2. It seems all is going well during the sync, but at the very end, the process just hangs. There's no CPU load at that time, so it seem it locks up somewhere. if I replace the evolution plugin with a file plugin, all works fine - so the issue will be probably with evolution.
I'm using libopensync 0.21 on Gentoo Linux.
here's the very end of mysynctool's output:
Sent an entry pas-id-45D809AA000001BE of size 123 to member 1 (evo2-sync). Changetype ADDED Sent an entry pas-id-45D809AA000001BF of size 103 to member 1 (evo2-sync). Changetype ADDED
and that's it. here's the sync group configuration:
$ msynctool --showgroup "keitai denwa"
Groupname: keitai denwa
Member 1: evo2-sync
Configuration : <config>
<address_path>default</address_path>
<calendar_path>default</calendar_path>
<tasks_path>default</tasks_path>
</config>
Member 2: syncml-obex-client
Configuration : <?xml version="1.0"?>
<config>
<!-- (Only for blue) The bluetooth address if the bluetooth mode is selected -->
<bluetooth_address>00:12:D1:A8:27:18</bluetooth_address>
<!-- (Only for blue) The bluetooth channel to use (usualy the 11) [x] -->
<bluetooth_channel>10</bluetooth_channel>
<!-- (Only for USB) The usb interface number of the SYNCML-SYNC target. use syncml-obex-client -u (as root!) 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>
<!-- Sets the maximum allowed size in bytes of incoming messages (some device need this option set). Example: 10000 -->
<recvLimit>0</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>
Attachments
Change History
comment:2 Changed 6 years ago by Angus
After more investigation its not the evo2 plugin that hangs its the opie plugin.
comment:3 Changed 6 years ago by darkeye
forgive my ignorance, but is the opie plugin part of the evo2 plugin? or part of the syncml-obex-client plugin? (there are the two plugin I've used when encountering this hang)
in any case, is a fix expected any time soon? would there be a workaround even?
comment:4 Changed 6 years ago by richardcookson
I have exactly the same problem on Ubuntu, libopensync 0.22. The phone I'm using is a Nokia E61. The plugins I'm aware of using are evo2 and syncml-obex-client.
comment:5 Changed 6 years ago by darkeye
it would be so nice if this was fixed - currently this really is a showstopper :(
comment:6 Changed 6 years ago by pmarat
- Owner changed from abauer to pmarat
- Status changed from new to assigned
- Milestone set to 0.22
could you provide traces?
comment:8 Changed 6 years ago by pmarat
no ... i mean opensync traces like:
export OSYNC_TRACE=/path/to/trace
comment:9 Changed 6 years ago by darkeye
excuse me my not knowing, but I don't have a trace program as part of msynctool:
# equery files msynctool | grep bin /usr/bin /usr/bin/convcard /usr/bin/convtest /usr/bin/msynctool # equery files app-pda/libopensync | grep bin /usr/bin /usr/bin/osyncbinary /usr/bin/osyncdump /usr/bin/osyncplugin /usr/bin/osyncstress /usr/bin/osynctest
can you be a bit more specific on how to generate the trace you need?
comment:10 Changed 6 years ago by pmarat
look here: http://www.opensync.org/wiki/tracing
comment:11 Changed 6 years ago by darkeye
hm, I'm using msynctool, and that doesn't seem to honor these environemnt variables.. can I generate traces with msynctool as well somehow?
comment:12 Changed 6 years ago by darkeye
strange enough, the manual for msynctool sais that it would take the OSYNC_TRACE environment variable into consideration - but seemingly it doesn't, or the tool hangs before any of the traces would be created:
$ echo $OSYNC_TRACE /home/maroy/tmp $ ls $OSYNC_TRACE $ msynctool --sync "keitai denwa" --conflict 2 ... Member 2 of type syncml-obex-client just sent all changes All clients sent changes or error Conflict for Mapping 0x2aaaac0d3250: Overwriting conflict Conflict for Mapping 0x2aaaac2ec860: Overwriting conflict Conflict for Mapping 0x2aaaac2ed4a0: Overwriting conflict Conflict for Mapping 0x2aaaac2ee8e0: Overwriting conflict All conflicts have been reported
then the thing hangs, as originally described in the bug-report, only CTRL-C helps. afterwards, there are no trace files in the OSYNC_TRACE directory:
$ ls -la $OSYNC_TRACE total 2 drwxr-xr-x 2 maroy maroy 48 2007-03-22 12:11 . drwxr-xr-x 62 maroy maroy 2400 2007-03-22 10:28 ..
comment:13 Changed 6 years ago by cstender
It seems that you have built opensync without tracing support. I looked at http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-pda/libopensync/libopensync-0.21.ebuild?rev=1.1&view=markup and found "$(use_enable debug tracing) \" so I think you have to activate tracing.
comment:14 Changed 6 years ago by Peper
You need to enable debug useflag.
comment:15 Changed 6 years ago by darkeye
thanks for the tip - I re-emerged with the debug flag, and now it produces trace output. I tried to attach it to this ticket, but even a bzip'd tarball is too large. anyway, you can download the tarball of the logs from here: http://tyrell.hu/~darkeye/synclogs.tar.bz2
just having a quick check for errors, I got a _lot_ of these, from my group 1 thread (which is the evolution plugin thread):
[1174737723.274688] <--- ERROR --- osync_db_remove_changelog: Unable to remove log! no such column: objtype
and later on, there's this:
[1174737749.146342] <--- ERROR --- osync_conv_find_path_fn: FALSE [1174737749.146360] <--- ERROR --- osync_conv_convert_fn: (null) [1174737749.146382] <--- ERROR --- osync_client_commit_change: (null) [1174737749.146400] <<<<<<< osengine_mappingentry_decider [1174737749.146417] <<<<<<< engine_message_handler
comment:16 Changed 6 years ago by pmarat
it seams that you have used a pre 0.21 sync group with 0.21> opensync.
In 0.21 there was an incompatible DB change that adds objtype (NOT-UNIQUE-UID fix)
please cleanup your syncgroup http://www.opensync.org/wiki/FAQ#HowdoIcleanupasyncgroupfortesting or create a new syncgroup and test again
comment:17 Changed 6 years ago by darkeye
started with rm -rf ~/.opensync , re-created the groups, and I sort of get the same, without some of the error messages.
the output of msynctool is:
... Received an entry 554 with data of size 8 from member 2 (syncml-obex-client). Changetype ADDED Received an entry 555 with data of size 8 from member 2 (syncml-obex-client). Changetype ADDED Received an entry 4 with data of size 8 from member 2 (syncml-obex-client). Changetype ADDED Member 2 of type syncml-obex-client just sent all changes All clients sent changes or error Conflict for Mapping 0x163e6f0: Overwriting conflict Conflict for Mapping 0x1645920: Overwriting conflict Conflict for Mapping 0x171dc20: Overwriting conflict Conflict for Mapping 0x171e010: Overwriting conflict Conflict for Mapping 0x171e400: Overwriting conflict Conflict for Mapping 0x171e7f0: Overwriting conflict Conflict for Mapping 0x171ebe0: Overwriting conflict All conflicts have been reported Sent an entry pas-id-45D7540500000181 of size 206 to member 1 (evo2-sync). Changetype MODIFIED Sent an entry pas-id-45D809A900000184 of size 201 to member 1 (evo2-sync). Changetype MODIFIED Sent an entry 20070322T161020Z-22637-448-1-2@tomodachi of size 248 to member 1 (evo2-sync). Changetype MODIFIED Sent an entry 20070217T191410Z-1760-448-1-0@tomodachi of size 234 to member 1 (evo2-sync). Changetype MODIFIED Sent an entry 20070322T161020Z-22637-448-1-1@tomodachi of size 226 to member 1 (evo2-sync). Changetype MODIFIED Sent an entry 20070324T120024Z-7996-448-1-0@tomodachi of size 229 to member 1 (evo2-sync). Changetype MODIFIED Sent an entry 20070322T161020Z-22637-448-1-0@tomodachi of size 255 to member 1 (evo2-sync). Changetype MODIFIED
then it stops (no CPU load anymore, but does not return)
I get the following error in one of the log files:
[1174741332.182745] <<<<<<< get_next_vertice_neighbour: None found [1174741332.182765] [OSCONV] FULL DEBUG: Next vertice: file. [1174741332.182784] [OSCONV] FULL DEBUG: Looking at file's neighbours. [1174741332.182804] >>>>>>> get_next_vertice_neighbour(0x50c010, 0x5392210, 0x1100cb0:file) [1174741332.182823] A desencapsulator to plain would be called, but we can't because the data on this vertice wasn't converted [1174741332.182883] <<<<<<< get_next_vertice_neighbour: None found [1174741332.182903] <--- ERROR --- osync_conv_find_path_fn: FALSE [1174741332.182922] <--- ERROR --- osync_conv_convert_fn: (null) [1174741332.182947] <--- ERROR --- osync_client_commit_change: (null) [1174741332.182965] <<<<<<< osengine_mappingentry_decider [1174741332.182983] <<<<<<< engine_message_handler
comment:19 Changed 6 years ago by darkeye
oh, does this mean this bug won't be fixed anytime soon? :(
comment:20 Changed 6 years ago by pmarat
- Milestone set to 0.23
at least not for 0.22 ;-(
could you please prove new traces ... the old one points to the missing database cleanup
comment:21 Changed 6 years ago by darkeye
- Milestone 0.23 deleted
sure, I updated it...
if there's any other way for me to provide information, please let me know..
comment:22 Changed 6 years ago by darkeye
- Milestone set to 0.23
oops, I inadvertantly deleted milestone 0.23
comment:24 Changed 5 years ago by bornmw
Would like to report exactly the same issue. It happens both with sunbird and evo2 plugins 0.22. They come with Fedora 8. My phone is Nokia N70. I tried to compile 0.34, but after a couple of cmake errors I gave up. Please, make the software you produce usable.
comment:25 Changed 5 years ago by bornmw
I've just found a workaround here: http://geektalk.andreat.de/2006/11/how-to-syncronize-nokia-n70-palm.html
Evolution sync works when started like this: msynctool --sync evo2 --filter-objtype note --filter-objtype todo
But it doesn't help the sunbird.
comment:26 Changed 5 years ago by bornmw
Actually evo works with msynctool --sync evo2 --filter-objtype note
comment:27 Changed 5 years ago by smoku
This is definetely related to Notes synchronisation. If I configure the note_db in syncml-obex-client the synchronization hangs. If not configured or --filter-objtype note option for msynctool used, it finishes OK.
The notes are fetched ok (on the phone display), but:
Conflict for Mapping 0x8104330: Newest entry used Conflict not resolved: No revision function set Conflict for Mapping 0x8145f08: Newest entry used Conflict not resolved: No revision function set Conflict for Mapping 0x816c960: Newest entry used Conflict not resolved: No revision function set Conflict for Mapping 0x819a938: Newest entry used Conflict not resolved: No revision function set Conflict for Mapping 0x81c5bc0: Newest entry used Conflict not resolved: No revision function set Conflict for Mapping 0x81e0e30: Newest entry used Conflict not resolved: No revision function set Conflict for Mapping 0x81f8ab0: Newest entry used Conflict not resolved: No revision function set Conflict for Mapping 0x820cfb8: Newest entry used Conflict not resolved: No revision function set Conflict for Mapping 0x820d748: Newest entry used Conflict not resolved: No revision function set Conflict for Mapping 0x822c1b0: Newest entry used Conflict not resolved: No revision function set All conflicts have been reported
suggests that one of the participating plugins have problems with conflict resolution "No revision function set". I guess it's the evo2-sync plugin:
smoku@wing:~$ msynctool --showgroup nokia Groupname: nokia Member 1: evo2-sync Configuration : <config> <address_path>default</address_path> <calendar_path>default</calendar_path> <tasks_path>default</tasks_path> </config> Member 2: syncml-obex-client [...]
The evo2-sync has only address, calendar and tasks paths configurable. There is no notes_path, so I guess Notes synchronization is just unimplemented in Evolution2 plugin.
comment:28 Changed 5 years ago by smoku
BTW, I have:
smoku@wing:~$ msynctool --version This is msynctool version "0.22" using OpenSync version "0.22"
comment:29 Changed 3 years ago by sim
decoration Changed 1 year ago by admin
bathtub Changed 1 year ago by admin
solar system Changed 1 year ago by admin
stair parts Changed 1 year ago by admin
solar supply Changed 1 year ago by admin

The evolution plugin hangs while syncing with opie-plugin as well.