-
-
Notifications
You must be signed in to change notification settings - Fork 501
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Git errors during gopass fsck --decrypt #2459
Comments
This does sound like a concurrency bug, but I've never observed this and we're trying to avoid concurrent git operations. But I'll see if we might have concurrency issues somewhere. Also we haven't changed anything about how we interact with git or concurrency related stuff in a long time. |
Yeah, I also don't mind this being closed with wontfix, I more wanted to report it so that if others encounter similar issues, they might either find this report useful, or have more useful things to say on the same topic. |
Have the same issue on fedora 37 (I tested a few of the newer versions including the latest one 1.15.2). edit:
but the error with the lock file is one I also got when I did not get this one. |
I should have some time next week to investigate. Thanks for the details, this might help to narrow it down. |
By using the default queue some git operations might still have been running when gopass did attempt to update exported keys. Disabling the queue in the inner loop makes more sense since it's more predictable and less brittle and using the queue there wouldn't help much anyway. Fixes gopasspw#2459 RELEASE_NOTES=[BUGFIX] Fix possible concurrency issues in fsck. Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
Once you see it, it's obvious. I wonder why I never hit this, but should be fixed soon. Feel free to open separate issues for that. |
looked like the config changes did not have any effect and it did still do all the same.
thanks for the fix will try as soon as the next release is out |
By using the default queue some git operations might still have been running when gopass did attempt to update exported keys. Disabling the queue in the inner loop makes more sense since it's more predictable and less brittle and using the queue there wouldn't help much anyway. Fixes #2459 RELEASE_NOTES=[BUGFIX] Fix possible concurrency issues in fsck. Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
@DEvil0000 can you try with the latest master version to see if you still have this issue? |
tested your fix, works for me. thanks! |
Amazing. Thanks for all three 👍 |
Summary
When updating recipients and running a gopass fsck --decrypt, I had some unexpected git errors. In particular,
My initial response was to both check for this file, and also other running git processes, but the file did not exist, and neither was I doing anything else in the password store. I have since tested this some 5-6 more times, and I have once successfully run a whole fsck --decrypt, but the other ~5 times I've had this exact same error occur again, but on some other secret every time.
I suspect what is happening here is that somehow, because gopass spawns so many git "edit,commit" cycles very quickly, that sometimes before one commit can clean up the index.lock file the next commit is already ready to set up the index.lock file. I don't think gopass does any sort of parallel things here, so it may well be that either git, or the file system driver, does some sort of quick return without waiting for the file to actually be deleted.
I don't know if this is true, and I also don't know how to reliably reproduce, since before today I've not seen this issue.
Steps To Reproduce
Expected behavior
Everything works
Environment
Additional context
The text was updated successfully, but these errors were encountered: