Incompatibility between 1Password versions?

FIsher
FIsher
Community Member
edited November 2014 in Mac

I have 1Password running on several systems, all syncing with Dropbox.

Situation:
1Password 5.02 (AppStore) on a MacBook Pro running Yosemite 10.10.1
1Password 4.4.2 (AppStore) on an iMac running Mavericks 19.9.5
1Password 4.1.0.526 on Windows 7 (with all patches)
1Password latest possible on an iPhone 5 running iOS 7.1.2
1Password latest possible on an iPad Air running iOS8.1

I have md5-summed all files in the Dropbox 1Password container on the MacBook and the iMac.
The files are perfectly synced. As far as I can tell the other systems are in sync too.

Despite this, some password entries created on the MacBook do not show up on any other system.
What's going on?

Comments

  • Hi @FIsher‌

    If you add other files to Dropbox on the MacBook do they appear in Dropbox on the other devices?

  • FIsher
    FIsher
    Community Member
    edited November 2014

    Yes, the files appear.

    I complained about sync issues last January and I was able to solve the issue disabling and enabling Dropbox sync.

    Actually I am quite reluctant to do so this time, because I worry about conflicts within records.
    How are these resolved?
    Will the recipe work for other devices too?
    I'm not keen on manually keeping track of what I changed in which client, meaning that I have to verify each change in each of the devices.

    Actually I assumed the Dropbox files contain the "truth". Given that removing Dropbox sync does not empty the vault, 1PW must sync between its private store and Dropbox.
    It looks like the issue resides in that sync.

  • FIsher
    FIsher
    Community Member
    edited November 2014

    I looked a bit further into this.
    The iMac, MacBook and Windows system all have a slightly different number of entries.
    This may mean that each system could have entries that it didn't share with the others.
    What is the safest strategy to sync them again?

    I don't worry too much about the iPhone and the iPad, I never create or change entries on them.
    So I could reset those completely.

  • Hi @FIsher,

    You're right that disabling and re-enabling sync can cause (or encourage) conflicts. In theory when everything is perfectly in sync, disabling and re-enabling sync will mark every item as conflicted (internally) then resolve back to its same state. But in a scenario like this where you aren't necessarily sure what data is in the agilekeychain, it's quite possible you'll end up with conflicts. You mentioned the "truth." Technically speaking, the agilekeychain isn't really a "truth" in a sync sense. Each device reads from the agilekeychain, updates itself, then updates the keychain. So it's close to a truth, but there's still room for each device to interpret it differently.

    Can you confirm that when you create the password entries that they actually get written to the agilekeychain? I recently fixed some bugs (will be out as part of 5.1) where in some cases not all edits were causing sync to trigger, so sometimes you could edit something and it would not get pushed to the agilekeychain. This is actually pretty easy to tell... simply look at the dropbox icon in your system menu bar and see if it gets the "syncing" icon after you do an add/edit. This would help us know if the problem is that the app isn't pushing to the keychain, or if it's on the other side where the other device isn't picking it up.

    I'd run that test on both Macs to see if maybe one of them isn't pushing changes at all.

    That would give us a starting point for where to start looking next.

    Rick

  • FIsher
    FIsher
    Community Member
    edited November 2014

    One specific entry (created on the MacBook) was never synced with the other 1Passwords.
    Subsequent changes to that entry do not trigger the others.
    I can see that it was pushed to the Dropbox container, because I see that the information is actually present in the contents.js file on each system's Dropbox folder. What's also present on all systems is the <hash>.1password file of that entry. The <hash> file changes when I change the entry and is replicated.
    Despite this, the entry is only shown by 1Password on the originating MacBook and on none of the other systems.

    When I change other entries on the MacBook, I do see the change on all other systems

    My conclusion is that the other clients refuse to pick up the entry.

  • Hi @FIsher,

    Wow that's quite the detective work you've done there. Thanks. :smile: That's quite curious though. It would be worth getting a Diagnostics Report on the Macs where it's not showing the change after you're sure the change was propagated by Dropbox and that 1Password has tried to sync (can be forced by a simple lock/unlock of the app). My hope is that the logs will contain information about why it may have skipped that item. I wonder if lightning struck and you hit a duplicate unique identifier (the way that works that's incredibly unlikely, but could potentially cause what you're seeing here). Do you think you could get me such a Diagnostics Report? Doing so takes only a few minutes, you just need to follow the instructions on this page. Since you're obviously quite technical, you may want to poke around in the report yourself as you may notice things that I could miss.

    Email that DR to us at support+mac@agilebits.com, and please include a link to this forum thread so that we can connect the dots. If you could also include the value you mentioned, that may prove useful.

    Thanks

    Rick

  • FIsher
    FIsher
    Community Member

    H @rickfillion‌

    I emailed the diagnostic report from my Windows system.
    If needed, I can also send the same from other systems, but that will be tonight (EU time).
    I can also send you the suspected *.1password file.

    Thanks

  • Hi @FIsher,

    We got your Windows Diagnostics Report. Is the windows machine the only one not picking up the changes? If not, could you send Diagnostic Reports from the others as well? A Windows developer and myself will look over these to see if we can find anything strange going on.

    Rick

  • Hi @FIsher,

    I've discussed this a bit with Stefan, one of our Windows developers and got a bit more information that could help us. I had forgotten that Windows reads/writes directly to the agilekeychain file (where-as on the Mac we keep a local copy in a separate database that we have to sync up). If the windows system isn't able to read that specific entry, then the odds are that somehow the agilekeychain itself got corrupted. Some of the data, such as item titles, are stored outside of the individual files, in contents.js. Does that get updated? This should be a file that you could open with a text editor and see the data. If you edit the item's title does that change get across?

    It would also be worth checking to see if the data appears correctly in 1PasswordAnywhere since that reads directly from the agilekeychain as well.

    I'd like us to get as much information as possible about this to make sure we're not overlooking a bug. But one way that's likely to get everything back up and running would be to generate a new agilekeychain. To do this, you would need to disconnect sync from all of your devices, then delete the agilekeychain (or move it aside) in Dropbox. Then from the machine that has the best data you would then re-setup sync to Dropbox and have it generate a new keychain. Reconnect all devices to it.

    Rick

  • FIsher
    FIsher
    Community Member

    Hi @rickfillion,

    As I said earlier: none of the other systems pick up the record. This one iMac/Mavericks, one iPhone/iOS7, one iPad/iOS8.
    All with the latest 1Password possible for that OS. Just after sending you the Windows report, I upgraded 1PW for Windows; that didn't solve the problem though.
    I cannot verify the correctness of the contents.js file of course, but the record for the "missing entry" is actually present in that file, on all platforms.

    Before I start correcting the problem, I would like to help you as much as possible. Once I disconnect the Dropbox, I don't think I will be able to help you very much, because I don't think a restore from backup will restore the coupling.
    I'm not in a hurry to solve my personal issue, I prefer to help you track down the general issue.
    You can have the contents.js and the suspect *.1password file if you want.

  • rickfillion
    edited November 2014

    Hi @FIsher,

    If you don't mind sending me the contents.js and other file(s), I can take a look. I very much appreciate that you're willing to help us out with that. Please email them directly to me at rick@agilebits.com (if you could include a link to this forum thread that would be very handy).

    Is it possible that one of the systems' clocks is way off (in theory this shouldn't matter, but I'm always suspicious of sync when a system's clock is off)?

    Could you confirm that the problem is isolated (as far as you know) to this one record?

    Rick

This discussion has been closed.