Mining Troubleshooting



Config: Filecoin Proof Parameters directory



If you want to put the Filecoin Proof Parameters in a different directory, use the following environment variable:



FIL_PROOFS_PARAMETER_CACHE



Error: Can't acquire bellman.lock



The Bellman lockfile is created to lock a GPU for a process. This bug can occur when this file isn't properly cleaned up:



mining block failed: computing election proof: github.com/filecoin-project/lotus/miner.(*Miner).mineOne



This bug occurs when the storage miner can't acquire the bellman.lock. To fix it you need to stop the lotus-storage-miner and remove /tmp/bellman.lock.



Error: Failed to get api endpoint



lotus-storage-miner info
# WARN  main  lotus-storage-miner/main.go:73  failed to get api endpoint: (/Users/myrmidon/.lotusstorage) %!w(*errors.errorString=&{API not running (no endpoint)}):



If you see this, that means your Lotus Storage Miner isn't ready yet. You need to finish syncing the chain.



Error: Your computer may not be fast enough



CAUTION: block production took longer than the block delay. Your computer may not be fast enough to keep up



If you see this, that means your computer is too slow and your blocks are not included in the chain, and you will not receive any rewards.



Error: No space left on device



lotus-storage-miner pledge-sector
# No space left on device (os error 28)



If you see this, that means pledge-sector wrote too much data to $TMPDIR which by default is the root partition (This is common for Linux setups). Usually your root partition does not get the largest partition of storage so you will need to change the environment variable to something else.



Error: GPU unused



If you suspect that your GPU is not being used, first make sure it is properly configured as described in the testing configuration page. Once you've done that (and set the BELLMAN_CUSTOM_GPU as appropriate if necessary) you can verify your GPU is being used by running a quick lotus-bench benchmark.



First, to watch GPU utilization run nvtop in one terminal, then in a separate terminal, run:



lotus-bench --sector-size=1024



This process uses a fair amount of GPU, and generally takes ~4 minutes to complete. If you do not see any activity in nvtop from lotus during the entire process, it is likely something is misconfigured with your GPU.



Checking Sync Progress



You can use this command to check how far behind you are on syncing:



date -d @$(./lotus chain getblock $(./lotus chain head) | jq .Timestamp)