[Kolab-devel] [issue4822] Sync conflict: Take newest "Race" get kontact into an instable state

aheinecke issues at kolab.org
Mon Feb 27 18:22:06 CET 2012


Version enterprise35 20120224.6bc84f7

User A has a Calendar to which he User B has full access

Steps to reproduce:
A: Creates an appointment
B: Syncs
B: Modifies the appointment
A: Modifies the appointment
A -> conflict
B: Modifies the appointment (while B's is still in conflict)
A: Take newest

This really gets messy, depending on the order now or when you sync I've had
serveral problems here.

Alternating between A and B and take local in the answers often ends with the
appointment deleted after A got 2 conflict dialogs in a row.

B's conflict dialog got closed but A still had his open -> Every modification
caused B to create a duplicate.

A and B or only one of them goes into a complete frenzy. Indefinitley writing
changes to the server. 
To give you an idea here is a 30 second excerpt of the folderwatch of the shared
folder (With no user interaction whatsoever!) 
2012-02-27 18:13: 00;1135.;DELETE
2012-02-27 18:13: 00;1139.;CREATE
2012-02-27 18:13: 01;1136.;DELETE
2012-02-27 18:13: 02;1140.;CREATE
2012-02-27 18:13: 04;1141.;CREATE
2012-02-27 18:13: 05;1138.;DELETE
2012-02-27 18:13: 05;1142.;CREATE
2012-02-27 18:13: 06;1143.;CREATE
2012-02-27 18:13: 07;1072.;DELETE
2012-02-27 18:13: 07;1144.;CREATE
2012-02-27 18:13: 09;1074.;DELETE
2012-02-27 18:13: 09;1145.;CREATE
2012-02-27 18:13: 11;1146.;CREATE
2012-02-27 18:13: 11;1139.;DELETE
2012-02-27 18:13: 12;1076.;DELETE
2012-02-27 18:13: 12;1147.;CREATE
2012-02-27 18:13: 14;1148.;CREATE
2012-02-27 18:13: 14;1149.;CREATE
2012-02-27 18:13: 16;1150.;CREATE
2012-02-27 18:13: 18;1151.;CREATE
2012-02-27 18:13: 19;1140.;DELETE
2012-02-27 18:13: 20;1152.;CREATE
2012-02-27 18:13: 20;1153.;CREATE
2012-02-27 18:13: 22;1031.;DELETE
2012-02-27 18:13: 22;1081.;DELETE
2012-02-27 18:13: 23;1142.;DELETE
2012-02-27 18:13: 23;1154.;CREATE
2012-02-27 18:13: 23;1155.;CREATE
2012-02-27 18:13: 25;1148.;DELETE
2012-02-27 18:13: 25;1156.;CREATE
2012-02-27 18:13: 27;1153.;DELETE
2012-02-27 18:13: 27;1157.;CREATE
2012-02-27 18:13: 29;1155.;DELETE
2012-02-27 18:13: 29;1158.;CREATE
2012-02-27 18:13: 31;1159.;CREATE
2012-02-27 18:13: 31;1156.;DELETE
2012-02-27 18:13: 31;1160.;CREATE

I belive that in real usage this might very seldom happen but it definitly
exposes broken states and code paths in Kontact which might play a role in other
state corruptions caused by suspend or something like that.

I'll get some debug output and try to exactly reproduce what happens in which
case tomorrow.

Two asserts that i have in my log:
ASSERT: "!resource.isEmpty()" in kmailicalifaceimpl.cpp (832)
ASSERT: "!transferInProgress( serNum )" in messageproperty.cpp (164)

I "think" the transferInProgress happened around the time that the appointment
was lost in conflict.

----------
assignedto: emanuel
keyword: enterprise35, kde client
messages: 28583
nosy: aheinecke, allen, emanuel, laurent, ludwig, sergio, till, vkrause
status: unread
title: Sync conflict: Take newest "Race" get kontact into an instable state

______________________________________
Kolab issue tracker <issues at kolab.org>
<https://roundup.kolab.org/issue4822>
______________________________________




More information about the devel mailing list