Filecoin common problem handling

 1 Compiling lotus failed: *** No rule to make target '.install-filcrypto'. Stop.

Then delete the directory directly  ./extern/ , and then recompile:

 

rm -rf ./extern/
FFI_BUILD_FROM_SOURCE=1 make clean debug

2 Failed to compile lotus: Get " https://proxy.golang.org/github.com/xxxxxx ": net/http: TLS handshake timeout

You need to set  GOPROXY this environment variable and then recompile:

 

export GOPROXY=https://goproxy.cn 
FFI_BUILD_FROM_SOURCE=1 make debug # No need to perform clean operation at this time

3 Compiling lotus failed: server response: not found: module github.com/filecoin-project/lotus/extern/storage-sealing/sealiface: no matching versions for query "latest"

 

Then, change the code version. There is a problem with this version of the code. The current code version with this problem is: v1.4.2-rc1.

4 Running lotus crashes: SIGILL: illegal instruction

This is generally a problem that only occurs on old machines, because the old machines do not support  adx other commands. Solution: Add the parameter  CGO_CFLAGS="-D__BLST_PORTABLE__" when compiling :

FFI_BUILD_FROM_SOURCE=1 CGO_CFLAGS="-D__BLST_PORTABLE__" make clean debug

5 启动 daemon 失败:xxxxx: genesis in the repo is not the one expected by this version of Lotus!

If the following error occurs when starting the daemon: xxxxx: genesis in the repo is not the one expected by this version of Lotus!:

 

It is recommended not to use this version of the code. If you must use it, you can  daemon set the environment variable before starting:

export LOTUS_SKIP_GENESIS_CHECK=_yes_

6 daemon synchronization failed: Received block with impossibly large height xxx

When testing the local test network, if the code of the genesis node is compiled using  Debug the pattern, and the code of other nodes is compiled using  Release the pattern, when the new node is started, when  lotus net connect xxxx the command is executed, it may be in  daemon See this error in the log:  ERROR chain chain/sync.go:236 Received block with impossibly large height 197, after seeing this error, subsequent operations of the new node will not succeed (such as synchronizing node information, or sending some from the genesis node  FIL to the wallet of the new miner, etc.).

 

The solution is to make the code of the new node also  Debug compile with the mode.

7 Failed to start the genesis node: VM.Call failure: Allowance 4096 below MinVerifiedDealSize for add verifier f081 (RetCode=16)

2KiB This error message is caused by the compilation mode of the code used  when starting the genesis node (building a local  test network) without using Debug the mode (most likely because  Release the code is compiled using the mode), as shown below:

# 错误信息
WARN	vm	vm/runtime.go:332	Abortf: Allowance 4096 below MinVerifiedDealSize for add verifier f081
WARN	vm	vm/runtime.go:145	VM.Call failure: Allowance 4096 below MinVerifiedDealSize for add verifier f081 (RetCode=16):
genesis func failed: make genesis block: 
failed to verify presealed data: 
failed to create verifier: 
doExec apply message failed: Allowance 4096 below MinVerifiedDealSize for add verifier f081 (RetCode=16)

 

The workaround is  Debug to recompile the code once with the schema, then restart the genesis node.

8 When checking the wallet list, a warning appears: error in RPC call to 'Filecoin.WalletDefaultAddress': failed to get default key: xxx key info not found

This is not an Error. In fact, you can ignore it. The method to eliminate this  is also very simple, because this warning means that the user has not set a default wallet. It may be because the user  did not specify  Warn parameters when importing the Genesis wallet   , or After importing,   the default wallet is not set (this warning will not be reported as long as there is a default wallet). Therefore, the way to eliminate this warning is to add parameters when importing the wallet   , or to set the default wallet after importing the wallet   ../lotus wallet import xxx--as-default./lotus wallet set-default xxx--as-default./lotus wallet set-default xxx

 

9 查看Miner 信息:ERROR: could not get API info: could not get api endpoint: API not running (no endpoint)

If you  ./lotus-miner xxx see this error during execution, it means that your program  miner has not been started, or the  miner default directory is not  ~/.lotusminer/, and the side of your execution name (the terminal where the command is executed) has not detected  miner the directory you are using. For example,  miner it was set when it was running  , but  this environment variable export LOTUS_STORAGE_PATH=/lotusminerwas not detected on the command execution side  .LOTUS_STORAGE_PATH

If you  ./lotus xxx see this error during execution, the principle is  miner similar.

 

10 lotus compilation error: /usr/bin/ld: cannot find -lhwloc

If you encounter this error during compilation, it means that  hwloc the relevant library is not installed in your system:

 

Solution, install  hwloc the relevant library, and then recompile  lotus:

sudo apt get install hwloc libhwloc-dev

 

11 The drand error is displayed in the miner's log: failed getting beacon entry:

Error message (drand: distributed random):

ERROR   miner   miner/miner.go:208      
 failed getting beacon entry: drand failed Get request: no valid clients - doing request:
 Get "https://api3.drand.sh/public/643563": context deadline exceeded - doing request: 
 Get "https://api2.drand.sh/public/643563": context deadline exceeded - doing request: 
 Get "https://drand.cloudflare.com/public/643563": context deadline exceeded - doing request: 
 Get "https://api.drand.sh/public/643563": context deadline exceeded

This error is generally caused by your machine being unable to connect  miner to the Internet, or the network is unstable, etc., resulting in the inability to access the distributed random number server. Moreover, if it has been inaccessible,  miner this error message will be continuously output in the log log. If  miner This error message has been tentatively output in the log log, indicating that it has returned to normal ( WaitSeed the stage needs to obtain the correct  drand information to continue).

 

12 The log of lotus shows an error: block was from the future:

The error message is as follows:

2021-03-29T23:03:52.060+0800	ERROR	chain	chain/sync.go:1500	failed to validate tipset: validating block bafy2bzacedn4somb5xy634kgn56tnmrhs7yg7lje4u2iqpod6d74yvndvwdgu:
    github.com/filecoin-project/lotus/chain.(*Syncer).ValidateTipSet.func1
        /home/ml/git2/lotus/chain/sync.go:620
  - block was from the future (now=1617030232, blk=1617030234):
    github.com/filecoin-project/lotus/chain.(*Syncer).ValidateBlock
        /home/ml/git2/lotus/chain/sync.go:743
  - temporal error

 

Generally, this error message will continue to be output. The reason is that the time of your machine is inconsistent with the time of other machines. You can solve this problem by updating the time of the machine. The specific method is as follows:

sudo ntpdate  ntp.aliyun.com

After synchronizing the time, restart  daemon and  miner normal.

13 Worker failed to start: API not running (no endpoint)

The error message is as follows:

Connecting to miner API... (could not get API info: could not get api endpoint: API not running (no endpoint))

 

 This error message is because there is no configuration  in your  worker machine  . The solution is to put minerAPI tokenminer的地址配置上。

Guess you like

Origin blog.csdn.net/yishui_hengyu/article/details/116495656