Dear OpenSync? developers,
thank you very much for your great work.
When doing a normal sync (slow sync works and was finished successfully before) between moto-sync and kdepim-sync using libopensync revision 2915, I reliably get the following error:
Synchronizing group "Handy"
/home/steve/opensync/opensync/opensync/engine/opensync_mapping_engine.c:66:E:osync_mapping_engine_new: Assertion "mapping_entry" failed
Aborted (core dumped)
My configuration is:
Member 1: moto-sync
Configuration : <?xml version="1.0"?>
<config>
<!-- device file name of the phone (/dev/ttyACM0 or /dev/rfcomm0) -->
<device>/dev/rfcomm0</device>
</config>
Member 2: kdepim-sync
No Configuration found: Plugin is not configured
A little gdb play results in:
Core was generated by `msynctool --sync Handy --conflict 2'.
Program terminated with signal 6, Aborted.
#0 0xb7c74ea6 in raise () from /lib/libc.so.6
(gdb) bt
#0 0xb7c74ea6 in raise () from /lib/libc.so.6
#1 0xb7c767b1 in abort () from /lib/libc.so.6
#2 0xb7ea2386 in osync_mapping_engine_new (parent=0x8158d00, mapping=0x8165bd0,
error=0x80b02e0)
at /home/steve/opensync/opensync/opensync/engine/opensync_mapping_engine.c:66
#3 0xb7ea3997 in osync_obj_engine_initialize (engine=0x8158d00, error=0x80b02e0)
at /home/steve/opensync/opensync/opensync/engine/opensync_obj_engine.c:497
#4 0xb7e9f2fe in osync_engine_command (engine=0x80b0260, command=0x8158100)
at /home/steve/opensync/opensync/opensync/engine/opensync_engine.c:1093
#5 0xb7ea0749 in _command_dispatch (source=0x80de608, callback=0,
user_data=0x80b0260)
at /home/steve/opensync/opensync/opensync/engine/opensync_engine.c:215
#6 0xb7e0b1c6 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#7 0xb7e0e552 in ?? () from /usr/lib/libglib-2.0.so.0
#8 0x080f1588 in ?? ()
#9 0x00000000 in ?? ()
(gdb) f 2
#2 0xb7ea2386 in osync_mapping_engine_new (parent=0x8158d00, mapping=0x8165bd0,
error=0x80b02e0)
at /home/steve/opensync/opensync/opensync/engine/opensync_mapping_engine.c:66
66 osync_assert(mapping_entry);
(gdb) p mapping_entry
$1 = <value optimized out>
(gdb) p mapping
$2 = (OSyncMapping *) 0x8165bd0
(gdb) p *mapping
$3 = {ref_count = 2, id = 12, entries = 0x815e070}
(gdb) p mapping->entries
$4 = (GList *) 0x815e070
(gdb) p *mapping->entries
$5 = {data = 0x81661b8, next = 0x0, prev = 0x0}
(gdb) p mapping->entries->data
$6 = (gpointer) 0x81661b8
(gdb) p (OSyncMappingEntry*)mapping->entries->data
$7 = (struct OSyncMappingEntry *) 0x81661b8
(gdb) p *(OSyncMappingEntry*)mapping->entries->data
$8 = {ref_count = 1, uid = 0x8166168 "libkcal-437768252.771", member_id = 2,
id = 12}
(gdb) f 3
#3 0xb7ea3997 in osync_obj_engine_initialize (engine=0x8158d00, error=0x80b02e0)
at /home/steve/opensync/opensync/opensync/engine/opensync_obj_engine.c:497
497 OSyncMappingEngine *mapping_engine = osync_mapping_engine_new(engine, mapping, error);
(gdb) p engine
$9 = (OSyncObjEngine *) 0x8158d00
(gdb) p *engine
$10 = {ref_count = 1, parent = 0x80b0260, objtype = 0x8157948 "event",
slowsync = 0, archive = 0x809db18, mapping_table = 0x8158d58,
mapping_engines = 0x8164420, sink_engines = 0x8156e50, error = 0x0,
formatenv = 0x80e4638, sink_errors = 0, sink_connects = 0, sink_disconnects = 0,
sink_get_changes = 0, sink_sync_done = 0, sink_written = 0,
callback = 0xb7e9ee60 <_engine_event_callback>, callback_userdata = 0x80b0260,
conflicts = 0x0, written = 0}
I've got the core around if you need any further information.
Regards, Steve Wolter