The Omni Group
These forums are now read-only. Please visit our new forums to participate in discussion. A new account will be required to post in the new forums. For more info on the switch, see this post. Thank you!

Go Back   The Omni Group Forums > OmniFocus > OmniFocus 1 for Mac
FAQ Members List Calendar Today's Posts

 
Arrgghh.. Broken data! Thread Tools Search this Thread Display Modes
Did my update to the latest build (probably skipped a couple as I've been away for a few days) and to my dismay, on opening the new version I got the following error:

Quote:
Unable to read document
Was expecting a single tail transaction, but found 2.
I've submitted it as a bug but wondered if anyone had seen anything similar. The backup from yesterday is ok and so I suspect it's just random file corruption but naturally it makes me feel just a *tiny* bit twitchy.
 
Quote:
Originally Posted by RiK View Post
I've submitted it as a bug but wondered if anyone had seen anything similar. The backup from yesterday is ok and so I suspect it's just random file corruption but naturally it makes me feel just a *tiny* bit twitchy.
I saw it on July 10 with build 88663. I haven't seen it since. The response I got from Omni indicated that the database is validated on launch but not while writing transactions (I don't know whether this has changed). I have OF set to back up twice a day and on quit, so I just reverted to my most recent backup.
 
Code:
Unable to read document
Was expecting a single tail transaction, but found 2.
As far as I know, the only way for this to happen is if you edit an OmniFocus document in two copies of OmniFocus at the same time.

Normally, OmniFocus writes out transactions like this:

1 -> 2 -> 3 -> 4

This gives one tail transaction, transaction 4.

If you were to open the document in two copies of OmniFocus (possibly on different computers) at this point, they would each have a tailing transaction 4—so far so good. If you then edit the document on both sides, you'll end up with two alternate transaction paths, because each computer thinks it's writing the only transactions:

OmniFocus A: 1 -> 2 -> 3 -> 4 -> A5 -> A6 -> A7
OmniFocus B: 1 -> 2 -> 3 -> 4 -> B5 -> B6

We try to prevent this by writing an OmniFocus.ofocus.lock file which warns you that another copy of OmniFocus is editing the document at the moment, but if you copy your OmniFocus.ofocus document to a different device, the lock file might not come along with it (and wouldn't be up to date the moment it left anyway).

The problem above happens when you merges your two paths of changes back together, resulting in two trailing transactions. In the above example, they would be A7 and B6, and if you were to graph the transaction tree in OmniGraffle (we have a script which does this), it would look something like this:

Code:
1 -> 2 -> 3 -> 4 -> A5 -> A6 -> A7
               |
               + -> B5 -> B6
When we try to open a document in this state, we report the error about getting multiple tail transactions because we don't have any mechanism for resolving such conflicts yet. Our long-term plan is to try to resolve these synchronization conflicts by analyzing the transactions to see whether they affect the same data in different ways (and if so, prompting the user to decide which change to keep), but that work isn't planned for 1.0.

In the meantime, we weren't expecting this to affect anyone (since we don't support simultaneous edits on multiple computers yet) but obviously it has, so I guess we should at least give you the option of choosing one path or the other (presumably showing you some information about each path—perhaps the timestamps of the transactions?—so you don't have to make a completely random guess as to whether you want to keep path A or B).

Last edited by Ken Case; 2007-09-02 at 07:15 PM.. Reason: Fixed all the unintentional references to OmniPlan
 
Can't be anything to do with Omniplan as I don't use it!
 
Quote:
Originally Posted by RiK View Post
Can't be anything to do with Omniplan as I don't use it!
I suspect that's a typo. Ken had to have meant "OmniFocus" in the place he said "OmniPlan". Do you use OmniFocus on two machines with the same data?
__________________
Cheers,

Curt
 
Quote:
Originally Posted by curt.clifton View Post
Ken had to have meant "OmniFocus" in the place he said "OmniPlan".
Oh, woops! Sorry, yes, I meant OmniFocus everywhere I accidentally referenced OmniPlan.
 
Quote:
Originally Posted by brianogilvie View Post
Was it a Typinator (or TypeIt4Me) glitch?
No, nothing that exciting; I'm afraid it was just a brain glitch. :)
 
so admittedly I know it is a alpha product, but there is no way to really know how much you like something until you loose your data, or at least get locked out from it. I too am suffering from the "Multiple Child Transactions" error and would like some recourse, all the xml data is binary, so I can't figure out the tree easily. Anyone have any options? I attempted to delete one,either or both of the files references in the error, but that just keeps percolating up and doesn't seem to get me anywhere...

my error is below:

Multiple child transactions (
{
"__self__" = "<XMLTransaction: 0x610b840>";
"_destinationIdentifier" = "E15FBBB2-521E-4BEF-A68D-972A551BDF46";
"_fileName" = "023B2ED2-4A1A-401B-909A-C273984DF5B0:E15FBBB2-521E-4BEF-A68D-972A551BDF46.xml";
"_sourceIdentifier" = "023B2ED2-4A1A-401B-909A-C273984DF5B0";
},
{
"__self__" = "<XMLTransaction: 0x6167130>";
"_destinationIdentifier" = "45AD19D5-9B10-43DF-AF5F-0B7CBE46BD4A";
"_fileName" = "023B2ED2-4A1A-401B-909A-C273984DF5B0:45AD19D5-9B10-43DF-AF5F-0B7CBE46BD4A.xml";
"_sourceIdentifier" = "023B2ED2-4A1A-401B-909A-C273984DF5B0";
}
) for 023B2ED2-4A1A-401B-909A-C273984DF5B0. This file was written to by two different computers at the same time.

And yes, I am using two computers on the same datafile, (my sync step must have monkied something up).

Thanks for any help,

Arrgghh...(np0x)
 
I have had this on a few occasions, but it went away when I reverted to an earlier backup.
 
 




Similar Threads
Thread Thread Starter Forum Replies Last Post
data loss when entering data during sync kasi OmniFocus for iPhone 3 2009-11-21 09:06 PM


All times are GMT -8. The time now is 10:03 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.