恐慌:http:/ debug / requests的多次注册

时间:2017-12-22 08:14:30

标签: go hyperledger-fabric vendor

我在我的项目中出售了两个项目。我成功编译了我的项目。当我运行我的项目时,它报告错误"panic: http: multiple registrations for /debug/requests"。详细错误如下所示。

goroutine 1 [running]:
net/http.(*ServeMux).Handle(0x19ae000, 0x126bb20, 0xf, 0x1964540, 0x1297d90)
/usr/local/go/src/net/http/server.go:2270 +0x627
net/http.(*ServeMux).HandleFunc(0x19ae000, 0x126bb20, 0xf, 0x1297d90)
/usr/local/go/src/net/http/server.go:2302 +0x55
net/http.HandleFunc(0x126bb20, 0xf, 0x1297d90)
/usr/local/go/src/net/http/server.go:2314 +0x4b
github.own.com/chalex/testfabric/vendor/github.com/hyperledger/fabric-sdk-go/vendor/golang.org/x/net/trace.init.0()
/home/chalex/ibm/src/github.own.com/chalex/testfabric/vendor/github.com/hyperledger/fabric-sdk-go/vendor/golang.org/x/net/trace/trace.go:115 +0x42
github.own.com/chalex/testfabric/vendor/github.com/hyperledger/fabric-sdk-go/vendor/golang.org/x/net/trace.init()
<autogenerated>:1 +0x1cd
github.own.com/chalex/testfabric/vendor/github.com/hyperledger/fabric-sdk-go/vendor/google.golang.org/grpc.init()
<autogenerated>:1 +0x82
github.own.com/chalex/testfabric/vendor/github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/protos/peer.init()
<autogenerated>:1 +0x6f
github.own.com/chalex/testfabric/vendor/github.com/hyperledger/fabric-sdk-go/api/apitxn.init()
<autogenerated>:1 +0x44
github.own.com/chalex/testfabric/chaincode/client.init()
<autogenerated>:1 +0x49
main.init()

有没有人知道如何修复它?我猜是因为我导入的两个项目都在/debug/requests上听取了?

2 个答案:

答案 0 :(得分:6)

我找到了原因。这是因为golang.org/x/net/trace项目。在其init()函数中,他们使用硬编码处理debug/request。因此,如果两个项目都导入该库,则存在冲突。

答案 1 :(得分:4)

多个项目使用golang.org/x/net/trace,有些项目在golang.org/x/net/trace目录中保存vendor,因此导致冲突。通过删除其他人而只留下一个来解决冲突,然后问题就会解决。