我从IpfsNode.Bootstrap获得无效的内存地址或空指针取消引用 我假设Bootstrap Run中有一些panic ,但我在这里做错了什么吗? 还是有什么问题呢? 我使用的是Kubo v0.20.0 以下是我的代码:
package main
import (
"context"
"fmt"
"github.com/ipfs/kubo/config"
"github.com/ipfs/kubo/core"
"github.com/ipfs/kubo/core/bootstrap"
)
func main() {
ctx := context.Background()
conf := core.BuildCfg{}
node, err := core.NewNode(ctx, &conf)
if err != nil {
panic(err)
}
peers, err := config.DefaultBootstrapPeers()
if err != nil {
panic(err)
}
bs_conf := bootstrap.BootstrapConfigWithPeers(peers)
err = node.Bootstrap(bs_conf) // this gets nil pointer dereference
fmt.Println("THIS LINE WILL NOT PRINT")
if err != nil {
panic(err)
}
}
完整的错误是:
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x40 pc=0xee49eb]
goroutine 69 [running]:
github.com/ipfs/kubo/core/bootstrap.bootstrapRound({0x18bf1d8?, 0xc0000b05f0?}, {0x0, 0x0}, {0x0?, 0x0?, 0x0?, 0xc0006240c0?})
/home/axel/go/pkg/mod/github.com/ipfs/kubo@v0.20.0/core/bootstrap/bootstrap.go:118 +0xab
github.com/ipfs/kubo/core/bootstrap.Bootstrap.func1({0x18cbd58?, 0xc0006226c0?})
/home/axel/go/pkg/mod/github.com/ipfs/kubo@v0.20.0/core/bootstrap/bootstrap.go:89 +0xdc
github.com/jbenet/goprocess.(*process).Go.func1()
/home/axel/go/pkg/mod/github.com/jbenet/goprocess@v0.1.4/impl-mutex.go:134 +0x36
created by github.com/jbenet/goprocess.(*process).Go
/home/axel/go/pkg/mod/github.com/jbenet/goprocess@v0.1.4/impl-mutex.go:133 +0x238
exit status 2