keybase / client

Keybase Go Library, Client, Service, OS X, iOS, Android, Electron
BSD 3-Clause "New" or "Revised" License
8.85k stars 1.22k forks source link

KBFS: fail to list folder, fail to list file metadata #15049

Open ghost opened 5 years ago

ghost commented 5 years ago

The kbfs file system is no longer accessible in both the Keybase app and in the Finder (I'm using OS X 10.14.2). Errors in app are: Failed to list folder, Failed to load file metadata. Tried reinstalling keybase. Is there any way to reset/wipe the kbfs and start over?

My log id: acb0289e47f2e427fa75841c

strib commented 5 years ago

Looks like you have a ton of "conflicting" data in your local private folder for some reason. There's no much of it (about 13 GB) that while it's trying to load it into memory, it's blocking other operations and timing them out.

Obviously this is a bug on our end. You get into "conflict" when two devices try to write to the same folder at the same time. One of them wins, and the other one has to re-do their writes. Usually this happens automatically in the background, but it seems like when you were on an older version of Keybase you were hitting a crasher while trying to do this (which has now been fixed). While in conflict mode, you just kept accumulating more data in conflict mode, leading to the current mess.

This is relatively easy to workaround, if you haven't written any data to your private folder from that device that you can't recover from other copies. (You can probably figure out what data will be lost by viewing the folder from a different device and seeing what's missing.) If that's the case, you can:

At that point, your private folder should be openable and will appear like it does from the other devices.

And when you're sure you haven't lost any data, you can nuke that .bkp directory you just made, to reclaim the 13GB.

Sorry for the bad experience, let me know how it goes, or if you need help recovering any data from that device.

ghost commented 5 years ago

That worked like a charm, thanks!