keybase / client

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

Keybase CLI fails to write to disk after disk-full and online resizing #8847

Open pmocek opened 6 years ago

pmocek commented 6 years ago

After filesystem to which Keybase attempts to write fills and online resizing is performed to increase available space, Keybase CLI fails as if filesystem remains full. Quitting from GUI, then restarting it, then reattempting results in success.

For example, several days after the applicable filesystem became full or nearly so, then was expanded (btrfs device add --force /dev/sda9 / && btrfs filesystem balance /), this occurred:

$  keybase follow somecontact
▶ WARNING Cannot put resolve result to disk: write /home/pmocek/.local/share/keybase/keybase.leveldb/000707.log: no space left on device [tags:ID2=QFPbHJjYUDF5]
▶ ERROR Cannot commit Merkle root to local DB: write /home/pmocek/.local/share/keybase/keybase.leveldb/000707.log: no space left on device
▶ WARNING Error in writing UPAK for 0a28b6fc46b7f261d3f70d553676b219: write /home/pmocek/.local/share/keybase/keybase.leveldb/000707.log: no space left on device [tags:LU=dkSpXL1WRzQC,ID2=cmiLLhuQEmuD]
▶ WARNING Failed to remove 0a28b6fc46b7f261d3f70d553676b219 v1 object from disk cache: write /home/pmocek/.local/share/keybase/keybase.leveldb/000707.log: no space left on device
▶ ERROR Cannot commit Merkle root to local DB: write /home/pmocek/.local/share/keybase/keybase.leveldb/000707.log: no space left on device
▶ ERROR write /home/pmocek/.local/share/keybase/keybase.leveldb/000707.log: no space left on device
$ df -h /home
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda5       250G  202G   48G  81% /home
$ ll /home/pmocek/.local/share/keybase/keybase.leveldb/000707.log
-rw-r--r-- 1 pmocek pmocek 2943296 Sep 27 07:36 /home/pmocek/.local/share/keybase/keybase.leveldb/000707.log
$ df -h /home/pmocek/.local/share/keybase/keybase.leveldb
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda5       250G  202G   48G  81% /home
$ touch  /home/pmocek/.local/share/keybase/keybase.leveldb/pmocek-test
$ echo foo >> /home/pmocek/.local/share/keybase/keybase.leveldb/pmocek-test
$ ll /home/pmocek/.local/share/keybase/keybase.leveldb/pmocek-test
-rw-rw-r-- 1 pmocek pmocek 4 Oct  5 09:33 /home/pmocek/.local/share/keybase/keybase.leveldb/pmocek-test
$ mount | grep home
/dev/sda5 on /home type btrfs (rw,noatime,ssd,space_cache,subvolid=258,subvol=/@home)
$ uname -a
Linux 12zmyv1 4.10.0-32-generic #36~16.04.1-Ubuntu SMP Wed Aug 9 09:19:02 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
$ btrfs --version
btrfs-progs v4.4

Restarted GUI, then:

$ keybase follow somecontact
▶ INFO Identifying somecontact
✔ "somecontact" on twitter: https://twitter.com/somecontact/status/000000000000000000
Is this the somecontact you wanted? [Y/n] 
Publicly follow? [Y/n] 

Keybase GUI Version: 1.0.29-20170818161957+4d0259c85

my log id: 62a96302e14550dbb8a45b1c

jdickey commented 5 years ago

Encountering this error on macOS 10.14.4 (Mojave) when disk not full

$ df -h  ~/Library/Application\ Support/Keybase
Filesystem     Size   Used  Avail Capacity iused               ifree %iused  Mounted on
/dev/disk2s1  1.9Ti  738Gi  1.2Ti    38% 2729219 9223372036852046588    0%   /
$ keybase version
Client:  4.0.0-20190507193726+6614a49937
Service: 4.0.0-20190507193726+6614a49937
$ keybase pgp update
▶ ERROR Cannot commit Merkle root to local DB: write /Users/jeffdickey/Library/Application Support/Keybase/keybase.leveldb/000002.log: no space left on device
▶ WARNING Problem storing user jdickey: write /Users/jeffdickey/Library/Application Support/Keybase/keybase.leveldb/000002.log: no space left on device [tags:LU=xhsv9z_scTBE,US=RdMjB1rTpWmK]
▶ ERROR Cannot commit Merkle root to local DB: write /Users/jeffdickey/Library/Application Support/Keybase/keybase.leveldb/000002.log: no space left on device
▶ ERROR Cannot commit Merkle root to local DB: write /Users/jeffdickey/Library/Application Support/Keybase/keybase.leveldb/000002.log: no space left on device [tags:LU=uQnWOLU0ywD0,US=FPvkpLp5bl9_]
▶ ERROR Cannot commit Merkle root to local DB: write /Users/jeffdickey/Library/Application Support/Keybase/keybase.leveldb/000002.log: no space left on device
▶ WARNING Problem storing user jdickey: write /Users/jeffdickey/Library/Application Support/Keybase/keybase.leveldb/000002.log: no space left on device [tags:US=FPvkpLp5bl9_,LU=uQnWOLU0ywD0]
anmolghosh commented 1 year ago

Was anyone able to figure out the fix for this?