nknorg / nkn Goto Github PK
View Code? Open in Web Editor NEWOfficial Go implementation of NKN full node.
Home Page: https://www.nkn.org
License: Apache License 2.0
Official Go implementation of NKN full node.
Home Page: https://www.nkn.org
License: Apache License 2.0
Currently node neighbors are read from chord finger table. It would be good to add 2-way binding to make sure they are always sync. E.g. when a node neighbor connection is lost, also remove it from finger table.
RPCServer.Handle have nothing validity check for POST data.
It is very vulnerable when POST malicious parameter.
x
sign in the square brackets)What should happen?
HTTP json Service should robust whatever POST any data.
What is actually happening?
One of service goroutine panic for each POST incorrect data. Such as "No method", "params not a map" etc.
2018/12/18 09:13:17 http: panic serving 124.126.218.235:58389: interface conversion: interface {} is []interface {}, not map[string]interface {}
goroutine 1549821 [running]:
net/http.(*conn).serve.func1(0xc42040d400)
/usr/lib/go-1.10/src/net/http/server.go:1726 +0xd0
panic(0xa883a0, 0xc42779d300)
/usr/lib/go-1.10/src/runtime/panic.go:502 +0x229
github.com/nknorg/nkn/api/httpjson.(*RPCServer).Handle(0xc420068180, 0xbd1c80, 0xc4204449a0, 0xc421565100)
/home/admin/nknorg/src/github.com/nknorg/nkn/api/httpjson/RPCserver.go:85 +0x1098
github.com/nknorg/nkn/api/httpjson.(*RPCServer).Handle-fm(0xbd1c80, 0xc4204449a0, 0xc421565100)
/home/admin/nknorg/src/github.com/nknorg/nkn/api/httpjson/RPCserver.go:185 +0x48
net/http.HandlerFunc.ServeHTTP(0xc42041fd50, 0xbd1c80, 0xc4204449a0, 0xc421565100)
/usr/lib/go-1.10/src/net/http/server.go:1947 +0x44
net/http.(*ServeMux).ServeHTTP(0xc4254ad0b0, 0xbd1c80, 0xc4204449a0, 0xc421565100)
/usr/lib/go-1.10/src/net/http/server.go:2337 +0x130
net/http.serverHandler.ServeHTTP(0xc4253ffba0, 0xbd1c80, 0xc4204449a0, 0xc421565100)
/usr/lib/go-1.10/src/net/http/server.go:2694 +0xbc
net/http.(*conn).serve(0xc42040d400, 0xbd2540, 0xc42779d100)
/usr/lib/go-1.10/src/net/http/server.go:1830 +0x651
created by net/http.(*Server).Serve
/usr/lib/go-1.10/src/net/http/server.go:2795 +0x27b
I started 8 nodes following the instruction and stop the very first one which created the network. New node failed to join with following logs.
xhdeMacBook-Air-5:node9 xh$ ./nknd -test join
2018/06/13 15:45:18.465413 [TRACE] GID 1, nknMain() nknd.go:80 Node version: v0.1-alpha-2-g68d1
2018/06/13 15:45:18.465492 [TRACE] GID 1, JoinNet() chord.go:295
panic: runtime error: index out of range
goroutine 18 [running]:
github.com/nknorg/nkn/net/chord.trimSlice(0x184d258, 0x0, 0x0, 0x184d258, 0x0, 0x0)
/Users/xh/go/src/github.com/nknorg/nkn/net/chord/net.go:821 +0x86
github.com/nknorg/nkn/net/chord.(*TCPTransport).handleConn(0xc42005e240, 0xc420134000)
/Users/xh/go/src/github.com/nknorg/nkn/net/chord/net.go:699 +0x9c7
created by github.com/nknorg/nkn/net/chord.(*TCPTransport).listen
/Users/xh/go/src/github.com/nknorg/nkn/net/chord/net.go:636 +0x14e
or
xhdeMacBook-Air-5:node9 xh$ ./nknd -test join
2018/06/13 15:45:15.441674 [TRACE] GID 1, nknMain() nknd.go:80 Node version: v0.1-alpha-2-g68d1
2018/06/13 15:45:15.443488 [TRACE] GID 1, JoinNet() chord.go:295
2018/06/13 15:45:15.449267 [FATAL] GID 1, failed to join local node! Got %s EOF
The validity of block proposer should be verified. The sigchain proof of block proposer should be included in last block.
Describe the issue you are experiencing.
x
sign in the square brackets)What should happen?
nknd/nknc seems only accept password via interact with human, could we have an option to parse it from command-line, i.e. nknd --password xxxxxxxx
. It will be much convenient to start/restart nknd from scratch when using docker.
What is actually happening?
Currently, user must enter their confidential from command-line.
nknd
nknd
If necessary, provide some extra information like code-snippets or error-logs.
./nknc info -s
gives node height 0.
x
sign in the square brackets)What should happen?
I think it should give a height count.
What is actually happening?
It is giving a height count, but height count is always 0.
./nknc info -s
If necessary, provide some extra information like code-snippets or error-logs.
Currently if NAT router is discovered and an error is got halfway when setting up port map, nknd will exit. We should change it to not exiting (but just abort setting up port map).
x
sign in the square brackets)What should happen?
What is actually happening?
If necessary, provide some extra information like code-snippets or error-logs.
Block and consensus related data transmission could use significant bandwidth. Switching from TCP to UDP could enhance performance, and will not affect correctness due to the fault tolerance of consensus algorithm. Any thoughts are appreciated.
The private/public keypair not only used for wallet in NKN, it also a
ID for the node to vote or some other activity
make test
is failing currently. Turns out that porpackage_test.go:48 is failing where we are trying to create NewPorPackage with a given transaction. The test is trying to fetch HeightByBlockHash
which is failing currently.
x
sign in the square brackets)Fedora 28
1.10.4
79268403cc544eb0cf84357cc179a56540499787
Tests should pass.
Tests are failing.
Just execute make test
The blockhash being provided to height, err := Store.GetHeightByBlockHash(blockHash)
is all zeroes.
Currently node send a updateSigChainBlockHash msg to client when his latest block hash changes. Node shouldn't do this when it's syncing, otherwise it's spamming msgs to client.
x
sign in the square brackets)1: The route node should be 1/2 closer the destination
2: the relay node should be existed the previous X blocks
X@bogon:/projects/src/github.com/nknorg/nkn$ make all/projects/src/github.com/nknorg/nkn$ ./test/create_testbed.sh 10 test
go build -ldflags "-X github.com/nknorg/nkn/util/config.Version=5b4e8-dirty" nknd.go
go build -ldflags "-X github.com/nknorg/nkn/cli/common.Version=5b4e8-dirty" nknc.go
yanbo@bogon:
Password:Re-enter Password:Address Public Key
ATajt3w8ZZLHcmaZSNYtutaUafA5H1MAKD 0243cdabbe0f4a5c8d32d8454b94f6fa28a063e5f8735848ef2a49fed297c1f80b
Password:Re-enter Password:Address Public Key
AbgztA5p2pHuKRZBYz2LZ8b3jC7fwojF9N 021b83f66011450c186e2938def975e34dba43f92ccdf6f37d7f12465a28a7e853
Password:Re-enter Password:Address Public Key
AUyTtKhzzAX2irqPQekYc17xpxVb7Ek3es 0288ea16ee0338e3e71a91c62bd07cd026c64bed548aab121eb7c34c032d8edbda
Password:Re-enter Password:Address Public Key
ALf75ALXrrfLkQhsRFKYQB433tw2ivQzd6 0399977060ce5a8d600eee9ccfd26cece0689cba0c18d11b183c19bfa873ecd2f8
Password:Re-enter Password:Address Public Key
AR4uBASuvu24WYtBATB2KR4kfRLvcHu8KL 02a0d73f5c2c712ebcaae6fe3b88f6d6e9a566893b183a7535eea2989a078b6aab
Password:Re-enter Password:Address Public Key
ASLhN1BctFz2E32zPQngJKhLS5QJ5DzCnG 03806a48de343cf59a212067b23c4c1ed209e6c0f695c0e0864409d61ba7fd5cf1
Password:Re-enter Password:Address Public Key
AQ7TYkeyNdzU6LqtkejWPgLyG8YPdY5tHR 028eed00d9e286d9aed67379c48c2cae89373e2b7fe0b72e3a81fb2ddffa1751bc
Password:Re-enter Password:panic: crypto/cipher: input not full blocks
goroutine 1 [running]:
crypto/cipher.(*cbcEncrypter).CryptBlocks(0xc420017220, 0xc4200cbb80, 0x1f, 0x1f, 0xc4200cba61, 0x1f, 0x1f)
/usr/local/Cellar/go/1.8/libexec/src/crypto/cipher/cbc.go:57 +0x2f7
github.com/nknorg/nkn/crypto.AesEncrypt(0xc4200cba61, 0x1f, 0x1f, 0xc4200cb5a0, 0x20, 0x20, 0xc420013da0, 0x10, 0x10, 0x15486e0, ...)
/Users/yanbo/projects/src/github.com/nknorg/nkn/crypto/helper.go:33 +0x1cb
github.com/nknorg/nkn/wallet.(*WalletImpl).CreateAccount(0xc420068540, 0x0, 0x0, 0x0, 0xc420013da0, 0x10)
/Users/yanbo/projects/src/github.com/nknorg/nkn/wallet/wallet.go:182 +0xdf
github.com/nknorg/nkn/wallet.NewWallet(0x139a465, 0xa, 0xc420013a70, 0x7, 0x8, 0x100cd01, 0x1399db7, 0x139937a, 0x1)
/Users/yanbo/projects/src/github.com/nknorg/nkn/wallet/wallet.go:89 +0x481
github.com/nknorg/nkn/cli/wallet.walletAction(0xc4200d6280, 0x0, 0xc4200d6280)
/Users/yanbo/projects/src/github.com/nknorg/nkn/cli/wallet/wallet.go:74 +0x26e
github.com/nknorg/nkn/vendor/github.com/urfave/cli.HandleAction(0x132a8a0, 0x13ac650, 0xc4200d6280, 0xc420068400, 0x0)
/Users/yanbo/projects/src/github.com/nknorg/nkn/vendor/github.com/urfave/cli/app.go:485 +0xd4
github.com/nknorg/nkn/vendor/github.com/urfave/cli.Command.Run(0x1398f86, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x139e60d, 0x15, 0x0, ...)
/Users/yanbo/projects/src/github.com/nknorg/nkn/vendor/github.com/urfave/cli/command.go:207 +0xb72
github.com/nknorg/nkn/vendor/github.com/urfave/cli.(*App).Run(0xc4200884e0, 0xc420010120, 0x3, 0x3, 0x0, 0x0)
/Users/yanbo/projects/src/github.com/nknorg/nkn/vendor/github.com/urfave/cli/app.go:250 +0x7d0
main.main()
/Users/yanbo/projects/src/github.com/nknorg/nkn/nknc.go:42 +0x53a
getnodestate
— would be nice to add the property of latestblockheight
and getversion
, in order not to send 3 different requests and do not overload the frontend.
x
sign in the square brackets)I have been told that gogoprotobuf provides much better performance without sacrifice compatibility. We can consider switch to it.
Currently the node period check the neighbor's block status, it is a bit too heavy to run a separated thread to do that, we'd suggest to trigger the sync when the block be found at ising consensus stage. It means the commit "Check local block with neighbor in consensus" need be reimplemented.
Registering and/or resolving a name to public key does not give correct results.
x
sign in the square brackets)Registering a name to the public key and then resolving this name should return the corresponding wallet address.
Registering a name to the public key and then resolving this name returns a different wallet address. One possible cause is a bug in encoding the public key to a wallet address, may be related to migration to Ed25519
(1) Send a transaction to register the name to a public key
(2) Request an NKN address associated with that name
These are actual transactions from my wallet:
(1)
Address: NKNRmDTBZJuByb5HcEE6ZQ8KhCYGpt1uCPnj
which has pubkey b77b2a3fe032357644a14d6e8f5c67a87ee8b477131ca1e47e0852638ae0e776
Name to register: somename
this is the request: {"method":"sendrawtransaction","jsonrpc":"2.0","params":{"tx":"0a340a300803122c0a20b77b2a3fe032357644a14d6e8f5c67a87ee8b477131ca1e47e0852638ae0e7761208736f6d656e616d65101412680a232104b77b2a3fe032357644a14d6e8f5c67a87ee8b477131ca1e47e0852638ae0e776ac1241408ce43787a38fefc983493de84b6cf6183e900d68c3a2df1a646efab596c956addc329e94ad89118021399f0991fdf8e898b869bf5403393b6122e04d939a720f"}}
tx successful, with this id: 39d13910c5320ad61fac0f28cb20d97ed484d9833f8700cb6f787918f1fc4e64
(2) After long enough wait time, I sent a request to resolve somename
{"method":"getaddressbyname","jsonrpc":"2.0","params":{"name":"somename"}}
and I received this resoponse: {"result":"NKNGob91RtdLmxUs72UxUKPB8DhAS6qpffpB","id":"1","jsonrpc":"2.0"}
As you can see, the address returned NKNGob91RtdLmxUs72UxUKPB8DhAS6qpffpB
is not the same as address registered NKNRmDTBZJuByb5HcEE6ZQ8KhCYGpt1uCPnj
CI testing large-scale startup, from 1 create node outspread to 120 nodes suddenly, one node met nil Pointer panic during the first time FindSuccessors.
x
sign in the square brackets)What should happen?
node join NKN network successful and participate in consensus activity.
What is actually happening?
Panic due to met nil Pointer at first time FindSuccessors().
2018/08/27 10:33:27.207151 [INFO ] GID 1, Node version: v0.1-alpha-103-ge3abc
2018/08/27 10:33:27 GetNodeState: {"id":0,"jsonrpc":"2.0","result":{"State":0,"SyncState":"PersistFinished","Port":0,"NodePort":30001,"ChordPort":30000,"JsonPort":30003,"WsPort":30002,"Addr":"35.197.90.102","ID":12549842751938768130,"Time":1535366007409311215,"Version":0,"Services":0,"Relay":true,"Height":0,"TxnCnt":0,"RxTxnCnt":0,"ChordID":"1628b492a9b6b0a1d2f207a8cd2d65e3e0883034005538cf9b06f70ed29f4ca6"}}
2018/08/27 10:33:27 NodeInfo: {2.0 0 {0 PersistFinished 0 30001 30000 30003 30002 35.197.90.102 12549842751938768130 1535366007409311215 0 0 true 0 0 0 1628b492a9b6b0a1d2f207a8cd2d65e3e0883034005538cf9b06f70ed29f4ca6}}
2018/08/27 10:33:27.481611 [INFO ] GID 1, Connect to Seed [35.197.90.102:30003] successful
2018/08/27 10:33:27 genId(35.234.137.35:30000@0) = 9c56c2d24cf17c5ae49e04b2a62c9c0c70409f4f19566951a25e4e26b51be1ef
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x7661a6]
goroutine 26 [running]:
panic(0x904260, 0xc918f0)
/usr/lib/go-1.10/src/runtime/panic.go:551 +0x3c1 fp=0xc420167a48 sp=0xc4201679a8 pc=0x42aed1
runtime.panicmem()
/usr/lib/go-1.10/src/runtime/panic.go:63 +0x5e fp=0xc420167a68 sp=0xc420167a48 pc=0x429dae
runtime.sigpanic()
/usr/lib/go-1.10/src/runtime/signal_unix.go:388 +0x17a fp=0xc420167ab8 sp=0xc420167a68 pc=0x43ffba
github.com/nknorg/nkn/net/chord.(*localVnode).FindSuccessors(0xc420370aa0, 0x1, 0xc42035ee40, 0x20, 0x20, 0x8f3b40, 0xc4203c66c8, 0xc42003e508, 0x92ba80, 0xc4202700c0)
/home/admin/nknorg/src/github.com/nknorg/nkn/net/chord/vnode.go:319 +0x56 fp=0xc420167bc0 sp=0xc420167ab8 pc=0x7661a6
github.com/nknorg/nkn/net/chord.(*TCPTransport).handleConn(0xc420068e40, 0xc42000e890)
/home/admin/nknorg/src/github.com/nknorg/nkn/net/chord/net.go:772 +0xf7a fp=0xc420167fd0 sp=0xc420167bc0 pc=0x76076a
runtime.goexit()
/usr/lib/go-1.10/src/runtime/asm_amd64.s:2361 +0x1 fp=0xc420167fd8 sp=0xc420167fd0 pc=0x457a51
created by github.com/nknorg/nkn/net/chord.(*TCPTransport).listen
/home/admin/nknorg/src/github.com/nknorg/nkn/net/chord/net.go:651 +0x227
nknd crashed
x
sign in the square brackets)No crash in any time.
Unknown. Can't reproduce every time.
2018/10/19 02:48:38 [INFO] Disconnect with 1 chord nodes at 217.61.112.242:30000.
2018/10/19 02:48:38 [INFO] Disconnect with 1 chord nodes at 104.199.252.161:30000.
2018/10/19 02:48:38 [INFO] Disconnect with 3 chord nodes at 35.237.147.141:30000.
2018/10/19 02:48:38 [INFO] Disconnect with 1 chord nodes at 185.228.232.153:30000.
2018/10/19 02:48:38 [INFO] Disconnect with 1 chord nodes at 188.65.233.36:30000.
2018/10/19 02:48:38 [INFO] Disconnect with 1 chord nodes at 35.231.16.126:30000.
2018/10/19 02:48:38 [INFO] Disconnect with 1 chord nodes at 89.36.220.154:30000.
2018/10/19 02:48:38 [INFO] Disconnect with 1 chord nodes at 35.194.83.8:30000.
2018/10/19 02:48:39 [ERR] Error notifying predecessor: Predecessor is nil
2018/10/19 02:48:39.688089 [WARN ] GID 512, Failed to contact 3a4a8b137999b47f76aed2931aee6fc9888d9492696df0d6bb334c87222222ae. Got write tcp 10.168.0.9:46246->165.227.216.166:30000: write: broken pipe
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x861da5]
goroutine 12394 [running]:
github.com/nknorg/nkn/net/chord.(*localVnode).checkPredecessor(0xc0003781e0, 0x0, 0x0)
/home/admin/nknorg/src/github.com/nknorg/nkn/net/chord/vnode.go:368 +0x95
github.com/nknorg/nkn/net/chord.(*localVnode).stabilize(0xc0003781e0)
/home/admin/nknorg/src/github.com/nknorg/nkn/net/chord/vnode.go:125 +0x1d4
github.com/nknorg/nkn/net/chord.(*localVnode).stabilize-fm()
/home/admin/nknorg/src/github.com/nknorg/nkn/net/chord/vnode.go:79 +0x2a
created by time.goFunc
/usr/local/go/src/time/sleep.go:172 +0x44
Request getUnspendOutput API with incorrect wallet address parameter, one of RPCServer goroutine panic due to "slice bounds out of range"
x
sign in the square brackets)What should happen?
Request getUnspendOutput API with incorrect wallet address parameter, one of RPCServer goroutine panic due to "slice bounds out of range"
2018/11/15 11:35:32 http: panic serving 86.2.243.234:44620: runtime error: slice bounds out of range
goroutine 27024556 [running]:
net/http.(*conn).serve.func1(0xc424cc4280)
/usr/lib/go-1.10/src/net/http/server.go:1726 +0xd0
panic(0xa7b340, 0xfc6b80)
/usr/lib/go-1.10/src/runtime/panic.go:502 +0x229
github.com/nknorg/nkn/common.ToScriptHash(0xc436dfc840, 0x1b, 0x0, 0x0, 0xc400000000, 0xa76920, 0xc475118450)
/home/admin/nknorg/src/github.com/nknorg/nkn/common/uint160.go:114 +0x37c
github.com/nknorg/nkn/api/common.getUnspendOutput(0xbc4b40, 0xc420069da0, 0xc431125ce0, 0x6)
/home/admin/nknorg/src/github.com/nknorg/nkn/api/common/interfaces.go:969 +0x3f8
github.com/nknorg/nkn/api/httpjson.(*RPCServer).Handle(0xc420069da0, 0xbc8760, 0xc4486bdea0, 0xc42732eb00)
/home/admin/nknorg/src/github.com/nknorg/nkn/api/httpjson/RPCserver.go:85 +0x4a2
github.com/nknorg/nkn/api/httpjson.(*RPCServer).Handle-fm(0xbc8760, 0xc4486bdea0, 0xc42732eb00)
/home/admin/nknorg/src/github.com/nknorg/nkn/api/httpjson/RPCserver.go:185 +0x48
net/http.HandlerFunc.ServeHTTP(0xc42028a9b0, 0xbc8760, 0xc4486bdea0, 0xc42732eb00)
/usr/lib/go-1.10/src/net/http/server.go:1947 +0x44
net/http.(*ServeMux).ServeHTTP(0xc422cb0450, 0xbc8760, 0xc4486bdea0, 0xc42732eb00)
/usr/lib/go-1.10/src/net/http/server.go:2337 +0x130
net/http.serverHandler.ServeHTTP(0xc420159860, 0xbc8760, 0xc4486bdea0, 0xc42732eb00)
/usr/lib/go-1.10/src/net/http/server.go:2694 +0xbc
net/http.(*conn).serve(0xc424cc4280, 0xbc9060, 0xc452b8ddc0)
/usr/lib/go-1.10/src/net/http/server.go:1830 +0x651
created by net/http.(*Server).Serve
/usr/lib/go-1.10/src/net/http/server.go:2795 +0x27b
RPC documentation here is kinda old and needs updating according to https://github.com/nknorg/nkn/blob/master/api/common/interfaces.go
I'm pledging 1000 NKN to the one who will fulfill this issue
Need to think about block syncing time and block generation time.
Describe the issue you are experiencing.
x
sign in the square brackets)What should happen?
What is actually happening?
Generated 1.7GB size log during 1 second with many "too many open files ..."
probabilistic
N/A
Node should randomly choose seed node in seed list rather than sequential for better load balance among seed node
x
sign in the square brackets)What should happen?
What is actually happening?
If necessary, provide some extra information like code-snippets or error-logs.
FingerTable incorrect when address cross over 0x0 from 0xf... to 0x0...
x
sign in the square brackets)What should happen?
The address in FingerTable should comply with i^n offset.
What is actually happening?
As content as below extra info:
Finger[2].Id = 0xfca6df...
Finger[3].Id = 0x9b8832...
Address 0x00... ~ 0x8.... was skipped
"Vnodes": [
{
"Id": "f89abe81d36627c73db77487a4d671db4d0b2b50f076c93d3fd51c82a551a4f5",
"Host": "104.198.15.42:30000",
"NodePort": 30001,
"HttpWsPort": 30002,
"Successors": [
{
"Id": "f8e344d4cdaa2edb64eabaca62e75f9708aa1d1b9389d316b167b64b2c4b7ceb",
"Host": "35.194.192.160:30000",
"NodePort": 30001,
"HttpWsPort": 30002
},
{
"Id": "faee8b09a265d255223209635648f32ae320c6ce528778b47563f9165cf00156",
"Host": "35.203.3.174:30000",
"NodePort": 30001,
"HttpWsPort": 30002
},
{
"Id": "fbb6bc8d17b8095a2da40bd6247d48655c0858ff58f7683f6cd144f2220ff834",
"Host": "35.203.64.11:30000",
"NodePort": 30001,
"HttpWsPort": 30002
},
{
"Id": "fbbbf913091630f1e9defc33c94e60ee0325b66f115c32aba6e29b76a8282b8b",
"Host": "35.203.98.236:30000",
"NodePort": 30001,
"HttpWsPort": 30002
},
{
"Id": "fca6dfeb03ce4074ee0732f6d113d3d82f82ca9e0ee6aa60da5770ef1bd17b0a",
"Host": "35.200.111.83:30000",
"NodePort": 30001,
"HttpWsPort": 30002
},
{
"Id": "00a0e9d4e87e3fcea54b5955263e52172cc5274b54b1fa49d3141f187e6e65b2",
"Host": "35.198.46.230:30000",
"NodePort": 30001,
"HttpWsPort": 30002
},
{
"Id": "00f5abcec023945f741cf8fac6f206889d8102388d6506c33e03c535e11fe947",
"Host": "35.197.171.106:30000",
"NodePort": 30001,
"HttpWsPort": 30002
},
{
"Id": "012425779b5b079c344a0beb5e2f7df8d939407f9ee3eb5eb8a4d7b57bd504f4",
"Host": "130.211.240.166:30000",
"NodePort": 30001,
"HttpWsPort": 30002
}
],
"Finger": [
{
"Id": "f8e344d4cdaa2edb64eabaca62e75f9708aa1d1b9389d316b167b64b2c4b7ceb",
"Host": "35.194.192.160:30000",
"NodePort": 30001,
"HttpWsPort": 30002
},
{
"Id": "faee8b09a265d255223209635648f32ae320c6ce528778b47563f9165cf00156",
"Host": "35.203.3.174:30000",
"NodePort": 30001,
"HttpWsPort": 30002
},
{
"Id": "fca6dfeb03ce4074ee0732f6d113d3d82f82ca9e0ee6aa60da5770ef1bd17b0a",
"Host": "35.200.111.83:30000",
"NodePort": 30001,
"HttpWsPort": 30002
},
{
"Id": "9b8832dab1951b5450bad9916ee50e1e77e25fa429a0668b15915782e128a7b0",
"Host": "104.197.138.103:30000",
"NodePort": 30001,
"HttpWsPort": 30002
}
],
"Predecessor": {
"Id": "f3b801b7179ef75293bcd980b9e674ac97b2e1f88b60ba1e1795a7558bad70e3",
"Host": "35.196.130.234:30000",
"NodePort": 30001,
"HttpWsPort": 30002
},
"Last_finger": 250
}
]
Glide wasn't maintained since Sep 26, 2018 and Go 1.13 scheduled for August 2019 will deprecate GOPATH and use Go Modules by default. Moving forward we should stop using glide and start using modules.
Lock is being heavy used, use channel instead.
nknc does not transfer - INVALID METHOD (-42001)
Log: [WARN ] GID 910315, HTTP JSON RPC Handle - No function to call for sendtoaddress
x
sign in the square brackets)should receive tx id
{
"error": {
"code": -42001,
"message": "INVALID METHOD"
},
"id": 0,
"jsonrpc": "2.0"
}
./nknc asset -t -p MYPASSWORD -a 4945ca009174097e6614d306b66e1f9cb1fce586cb857729be9e1c5cc04c9c02 -v 10 --to RECEIVINGADDRESS
If necessary, provide some extra information like code-snippets or error-logs.
Node crashes after a while (after it was successfully synced & was operating for 10-30min). It says
fatal error: concurrent map writes
x
sign in the square brackets)What should happen?
Node should not crash
What is actually happening?
Node crashes
If necessary, provide some extra information like code-snippets or error-logs.
2018/10/03 12:36:47.268921 [INFO ] GID 27, # current block height: 105686, block hash: 3c14b1705bf840b1e728d2453b26f0e3ed58e468b42354edda8b317e3839dc42
fatal error: concurrent map writes
goroutine 473675 [running]:
runtime.throw(0xa6d1e1, 0x15)
/usr/local/Cellar/go/1.10/libexec/src/runtime/panic.go:619 +0x81 fp=0xc420081ba0 sp=0xc420081b80 pc=0x429b21
runtime.mapassign_fast32(0x9b2080, 0xc421a034d0, 0x19cda, 0x1)
/usr/local/Cellar/go/1.10/libexec/src/runtime/hashmap_fast.go:359 +0x2f3 fp=0xc420081be8 sp=0xc420081ba0 pc=0x40b0d3
github.com/nknorg/nkn/por.(*PorServer).AddSigChainFromTx(0xc421cccb40, 0xc4203708d8, 0xc421ef4001, 0xc4231b0000, 0x51f)
/Users/skysniper/go/src/github.com/nknorg/nkn/por/porserver.go:219 +0x204 fp=0xc420081c70 sp=0xc420081be8 pc=0x84a574
github.com/nknorg/nkn/core/transaction/pool.(*TxnPool).AppendTxnPool(0xc421cccb80, 0xc4203708d8, 0xc400000000)
/Users/skysniper/go/src/github.com/nknorg/nkn/core/transaction/pool/pool.go:57 +0xf6 fp=0xc420081d38 sp=0xc420081c70 pc=0x85d786
github.com/nknorg/nkn/net/message.trn.Handle(0x787400000000, 0x0, 0x6abad7df00000507, 0x42, 0xadb820, 0xc422fcb020, 0xc4201a80f8, 0x1, 0x1, 0x0, ...)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/message/transaction.go:39 +0x23a fp=0xc420081dc0 sp=0xc420081d38 pc=0x8a5b8a
github.com/nknorg/nkn/net/message.(*trn).Handle(0xc4203d3f40, 0xae0b60, 0xc4200b1680, 0x568, 0x0)
:1 +0x91 fp=0xc420081e88 sp=0xc420081dc0 pc=0x8a9f91
github.com/nknorg/nkn/net/message.HandleNodeMsg(0xae0b60, 0xc4200b1680, 0xc4202d4b00, 0x51f, 0x580, 0x51f, 0x0, 0x0)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/message/message.go:246 +0x470 fp=0xc420081fa0 sp=0xc420081e88 pc=0x8a22d0
runtime.goexit()
/usr/local/Cellar/go/1.10/libexec/src/runtime/asm_amd64.s:2361 +0x1 fp=0xc420081fa8 sp=0xc420081fa0 pc=0x456721
created by github.com/nknorg/nkn/net/node.unpackNodeBuf
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:79 +0x46d
goroutine 1 [chan receive, 60 minutes]:
main.nknMain(0xc4200ce3c0, 0x0, 0x0)
/Users/skysniper/go/src/github.com/nknorg/nkn/nknd.go:168 +0x693
github.com/nknorg/nkn/vendor/github.com/urfave/cli.HandleAction(0x990ac0, 0xa8c1d8, 0xc4200ce3c0, 0xc42006a1e0, 0x0)
/Users/skysniper/go/src/github.com/nknorg/nkn/vendor/github.com/urfave/cli/app.go:485 +0xc8
github.com/nknorg/nkn/vendor/github.com/urfave/cli.(*App).Run(0xc42009d040, 0xc42001c090, 0x3, 0x3, 0x0, 0x0)
/Users/skysniper/go/src/github.com/nknorg/nkn/vendor/github.com/urfave/cli/app.go:259 +0x64e
main.main()
/Users/skysniper/go/src/github.com/nknorg/nkn/nknd.go:212 +0x3f6
goroutine 5 [syscall, 60 minutes]:
os/signal.signal_recv(0x0)
/usr/local/Cellar/go/1.10/libexec/src/runtime/sigqueue.go:139 +0xa6
os/signal.loop()
/usr/local/Cellar/go/1.10/libexec/src/os/signal/signal_unix.go:22 +0x22
created by os/signal.init.0
/usr/local/Cellar/go/1.10/libexec/src/os/signal/signal_unix.go:28 +0x41
goroutine 68 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7f345a93fe30, 0x72, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202aa298, 0x72, 0xc420068100, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202aa298, 0xffffffffffffff00, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Accept(0xc4202aa280, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:372 +0x1a8
net.(*netFD).accept(0xc4202aa280, 0xc4201a9000, 0xc42017c358, 0x8011b024982e6)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc420458098, 0x452ec0, 0xc42015e758, 0xc42015e760)
/usr/local/Cellar/go/1.10/libexec/src/net/tcpsock_posix.go:136 +0x2e
net.(*TCPListener).AcceptTCP(0xc420458098, 0xa8af38, 0xc4201861b0, 0xc4201a9000)
/usr/local/Cellar/go/1.10/libexec/src/net/tcpsock.go:246 +0x49
github.com/nknorg/nkn/net/chord.(*TCPTransport).listen(0xc4201861b0)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:717 +0x38
created by github.com/nknorg/nkn/net/chord.InitTCPTransport
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:122 +0x1af
goroutine 24 [select]:
github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).mpoolDrain(0xc420169c80)
/Users/skysniper/go/src/github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb/db_state.go:101 +0x127
created by github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb.openDB
/Users/skysniper/go/src/github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb/db.go:140 +0x4bf
goroutine 77 [select]:
github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb/util.(*BufferPool).drain(0xc42034a8c0)
/Users/skysniper/go/src/github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb/util/buffer_pool.go:206 +0x152
created by github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb/util.NewBufferPool
/Users/skysniper/go/src/github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb/util/buffer_pool.go:237 +0x171
goroutine 6557 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a93ff00, 0x72, 0xc421e39718)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42220e598, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42220e598, 0xc421c06000, 0x1000, 0x1000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc42220e580, 0xc421c06000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc42220e580, 0xc421c06000, 0x1000, 0x1000, 0xc42220e580, 0xc4218d5988, 0x6)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc420458e40, 0xc421c06000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
bufio.(*Reader).Read(0xc421e25080, 0xc4201dbed0, 0x1, 0x9, 0xc421e39910, 0x58136a, 0xc42220e580)
/usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:216 +0x238
io.ReadAtLeast(0xad5000, 0xc421e25080, 0xc4201dbed0, 0x1, 0x9, 0x1, 0xc4218d5980, 0x3, 0xc420034a70)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:309 +0x86
io.ReadFull(0xad5000, 0xc421e25080, 0xc4201dbed0, 0x1, 0x9, 0x428f34, 0xa8ca70, 0xc421e399c8)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:327 +0x58
encoding/gob.decodeUintReader(0xad5000, 0xc421e25080, 0xc4201dbed0, 0x9, 0x9, 0xc420458e40, 0xc420390c18, 0xc421e39a18, 0x428639)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decode.go:120 +0x63
encoding/gob.(*Decoder).recvMessage(0xc42220e600, 0xc421e39a30)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:80 +0x57
encoding/gob.(*Decoder).decodeTypeSequence(0xc42220e600, 0xa8ca00, 0xc42220e600)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:142 +0x136
encoding/gob.(*Decoder).DecodeValue(0xc42220e600, 0x964000, 0xc4201dbee0, 0x16, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:210 +0xdc
encoding/gob.(*Decoder).Decode(0xc42220e600, 0x964000, 0xc4201dbee0, 0xc42114e268, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:187 +0x14f
github.com/nknorg/nkn/net/chord.(*TCPTransport).handleConn(0xc4201861b0, 0xc420458e40)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:762 +0x11a
created by github.com/nknorg/nkn/net/chord.(*TCPTransport).listen
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:741 +0x267
goroutine 23 [select, 34 minutes]:
github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).compactionError(0xc420169c80)
/Users/skysniper/go/src/github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb/db_compaction.go:90 +0xff
created by github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb.openDB
/Users/skysniper/go/src/github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb/db.go:139 +0x49d
goroutine 473523 [select]:
github.com/nknorg/nkn/net/chord.(*TCPTransport).Notify(0xc4201861b0, 0xc4218fcd50, 0xc4203d30e0, 0x0, 0x0, 0x0, 0xc422482f30, 0x8352b5)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:458 +0x240
github.com/nknorg/nkn/net/chord.(*LocalTransport).Notify(0xc42017aac0, 0xc4218fcd50, 0xc4203d30e0, 0x0, 0x0, 0xc4203d3150, 0x0, 0x0)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/transport.go:107 +0xcd
github.com/nknorg/nkn/net/chord.(*localVnode).notifyPredecessor(0xc4203d30e0, 0x0, 0x0)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/vnode.go:268 +0x4f
github.com/nknorg/nkn/net/chord.(*localVnode).stabilize(0xc4203d30e0)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/vnode.go:130 +0x249
github.com/nknorg/nkn/net/chord.(*localVnode).(github.com/nknorg/nkn/net/chord.stabilize)-fm()
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/vnode.go:79 +0x2a
created by time.goFunc
/usr/local/Cellar/go/1.10/libexec/src/time/sleep.go:172 +0x44
goroutine 69 [sleep]:
time.Sleep(0x2540be400)
/usr/local/Cellar/go/1.10/libexec/src/runtime/time.go:102 +0x166
github.com/nknorg/nkn/net/chord.(*TCPTransport).reapOld(0xc4201861b0)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:662 +0x32
created by github.com/nknorg/nkn/net/chord.InitTCPTransport
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:125 +0x1d1
goroutine 43 [sleep]:
time.Sleep(0x2540be400)
/usr/local/Cellar/go/1.10/libexec/src/runtime/time.go:102 +0x166
github.com/nknorg/nkn/net/chord.(*localVnode).keepalive(0xc4203d30e0)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/vnode.go:159 +0x1cf
created by github.com/nknorg/nkn/net/chord.(*localVnode).init
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/vnode.go:72 +0x1ac
goroutine 25 [select, 34 minutes]:
github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).tCompaction(0xc420169c80)
/Users/skysniper/go/src/github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb/db_compaction.go:804 +0x277
created by github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb.openDB
/Users/skysniper/go/src/github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb/db.go:146 +0x627
goroutine 26 [select, 60 minutes]:
github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).mCompaction(0xc420169c80)
/Users/skysniper/go/src/github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb/db_compaction.go:751 +0x15d
created by github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb.openDB
/Users/skysniper/go/src/github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb/db.go:147 +0x649
goroutine 27 [select]:
github.com/nknorg/nkn/db.(*ChainStore).loop(0xc4201a6240)
/Users/skysniper/go/src/github.com/nknorg/nkn/db/store.go:107 +0xf5
created by github.com/nknorg/nkn/db.NewChainStore
/Users/skysniper/go/src/github.com/nknorg/nkn/db/store.go:92 +0x198
goroutine 30 [select]:
github.com/nknorg/nkn/vendor/github.com/patrickmn/go-cache.(*janitor).Run(0xc420311540, 0xc421cccbc0)
/Users/skysniper/go/src/github.com/nknorg/nkn/vendor/github.com/patrickmn/go-cache/cache.go:1079 +0x106
created by github.com/nknorg/nkn/vendor/github.com/patrickmn/go-cache.runJanitor
/Users/skysniper/go/src/github.com/nknorg/nkn/vendor/github.com/patrickmn/go-cache/cache.go:1099 +0xb3
goroutine 31 [IO wait, 11 minutes]:
internal/poll.runtime_pollWait(0x7f345a93fa20, 0x72, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc420199c18, 0x72, 0xc42017a000, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc420199c18, 0xffffffffffffff00, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Accept(0xc420199c00, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:372 +0x1a8
net.(*netFD).accept(0xc420199c00, 0xd, 0xc42101d04e, 0x5)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc4204582a0, 0x452ec0, 0xc42065fee8, 0xc42065fef0)
/usr/local/Cellar/go/1.10/libexec/src/net/tcpsock_posix.go:136 +0x2e
net.(*TCPListener).Accept(0xc4204582a0, 0xa8af98, 0xc42065ad80, 0xd, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/tcpsock.go:259 +0x49
github.com/nknorg/nkn/net/node.(*node).initConnection(0xc4200b0480)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:153 +0x9e
created by github.com/nknorg/nkn/net/node.InitNode
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/node.go:198 +0x7e4
goroutine 32 [chan receive]:
github.com/nknorg/nkn/net/node.(*node).updateConnection(0xc4200b0480)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/node.go:731 +0x4e
created by github.com/nknorg/nkn/net/node.InitNode
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/node.go:199 +0x806
goroutine 81 [chan receive]:
github.com/nknorg/nkn/net/node.(*node).keepalive(0xc4200b0480)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/node.go:720 +0x49
created by github.com/nknorg/nkn/net/node.InitNode
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/node.go:200 +0x828
goroutine 168 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a93f200, 0x72, 0xc420420dc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202e8618, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202e8618, 0xc4219de000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4202e8600, 0xc4219de000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc4202e8600, 0xc4219de000, 0x3fff, 0x4000, 0x18, 0xc423130000, 0xc4210f79a0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc420458330, 0xc4219de000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc421c6c6c0)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e
goroutine 146 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a93f130, 0x72, 0xc421cb0dc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202e8718, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202e8718, 0xc421b7c000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4202e8700, 0xc421b7c000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc4202e8700, 0xc421b7c000, 0x3fff, 0x4000, 0x18, 0xc423131b00, 0xc422dcc220)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42125c320, 0xc421b7c000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc420ad8000)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e
goroutine 152 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86d638, 0x72, 0xc421e0ddc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202e8a18, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202e8a18, 0xc421a1e000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4202e8a00, 0xc421a1e000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc4202e8a00, 0xc421a1e000, 0x3fff, 0x4000, 0x18, 0xc420327080, 0xc422dcd4a0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42125c338, 0xc421a1e000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc420ad86c0)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e
goroutine 123 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a93f2d0, 0x72, 0xc420422dc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202e8518, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202e8518, 0xc421b20000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4202e8500, 0xc421b20000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc4202e8500, 0xc421b20000, 0x3fff, 0x4000, 0x18, 0xc4226802c0, 0xc422dccc80)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc4201a9ce8, 0xc421b20000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc4200b0900)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e
goroutine 894 [runnable]:
syscall.Syscall(0x0, 0x47, 0xc421b6e000, 0x3fff, 0xffffffffffffffff, 0x0, 0xb)
/usr/local/Cellar/go/1.10/libexec/src/syscall/asm_linux_amd64.s:18 +0x5
syscall.read(0x47, 0xc421b6e000, 0x3fff, 0x4000, 0xc4220aca00, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/syscall/zsyscall_linux_amd64.go:749 +0x5f
syscall.Read(0x47, 0xc421b6e000, 0x3fff, 0x4000, 0x452ec0, 0xc421cb5e38, 0xc421cb5e40)
/usr/local/Cellar/go/1.10/libexec/src/syscall/syscall_unix.go:162 +0x49
internal/poll.(*FD).Read(0xc422868b80, 0xc421b6e000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:153 +0x118
net.(*netFD).Read(0xc422868b80, 0xc421b6e000, 0x3fff, 0x4000, 0x18, 0xc420329700, 0xc422dcdea0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc420b444a8, 0xc421b6e000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc42065a000)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e
goroutine 181 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a93f060, 0x72, 0xc421e0fdc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202e8818, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202e8818, 0xc42111a000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4202e8800, 0xc42111a000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc4202e8800, 0xc42111a000, 0x3fff, 0x4000, 0x18, 0xc4202c8480, 0xc422dcc4c0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc4201a9d48, 0xc42111a000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc4200b18c0)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e
goroutine 166 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a93f950, 0x72, 0xc42041ddc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc420199d18, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc420199d18, 0xc4207ca000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc420199d00, 0xc4207ca000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc420199d00, 0xc4207ca000, 0x3fff, 0x4000, 0x18, 0xc420328c00, 0xc422dcdaa0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc420458320, 0xc4207ca000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc421c6c480)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e
goroutine 177 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a93f540, 0x72, 0xc421cb1dc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202e8218, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202e8218, 0xc4218ce000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4202e8200, 0xc4218ce000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc4202e8200, 0xc4218ce000, 0x3fff, 0x4000, 0x18, 0xc4202d4b00, 0xc42359fb60)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc4201a9d08, 0xc4218ce000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc4200b1680)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e
goroutine 127 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a93f610, 0x72, 0xc42041fdc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202e8118, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202e8118, 0xc421cda000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4202e8100, 0xc421cda000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc4202e8100, 0xc421cda000, 0x3fff, 0x4000, 0x18, 0xc420233700, 0xc422df5960)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc4201a9d00, 0xc421cda000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc4200b1440)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e
goroutine 170 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86d708, 0x72, 0xc421e0edc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202e8918, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202e8918, 0xc42051c000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4202e8900, 0xc42051c000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc4202e8900, 0xc42051c000, 0x3fff, 0x4000, 0x18, 0xc421e95200, 0xc421ba88c0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc420458338, 0xc42051c000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc421c6c900)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e
goroutine 148 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86d568, 0x72, 0xc420662dc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202e8b18, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202e8b18, 0xc4218ee000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4202e8b00, 0xc4218ee000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc4202e8b00, 0xc4218ee000, 0x3fff, 0x4000, 0x18, 0xc420447680, 0xc42359eac0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42125c328, 0xc4218ee000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc420ad8240)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e
goroutine 358933 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86dd78, 0x72, 0xc4221df718)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc423646618, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc423646618, 0xc4212f1000, 0x1000, 0x1000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc423646600, 0xc4212f1000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc423646600, 0xc4212f1000, 0x1000, 0x1000, 0xc423646600, 0xc421e8b908, 0x6)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc422686c30, 0xc4212f1000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
bufio.(*Reader).Read(0xc421f5b080, 0xc423027980, 0x1, 0x9, 0xc4221df910, 0x58136a, 0xc423646600)
/usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:216 +0x238
io.ReadAtLeast(0xad5000, 0xc421f5b080, 0xc423027980, 0x1, 0x9, 0x1, 0xc421e8b900, 0x3, 0xc420034a70)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:309 +0x86
io.ReadFull(0xad5000, 0xc421f5b080, 0xc423027980, 0x1, 0x9, 0x428f34, 0xa8ca70, 0xc4221df9c8)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:327 +0x58
encoding/gob.decodeUintReader(0xad5000, 0xc421f5b080, 0xc423027980, 0x9, 0x9, 0xc422686c30, 0xc4211d7e38, 0xc4221dfa18, 0x428639)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decode.go:120 +0x63
encoding/gob.(*Decoder).recvMessage(0xc423646680, 0xc4221dfa30)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:80 +0x57
encoding/gob.(*Decoder).decodeTypeSequence(0xc423646680, 0xa8ca00, 0xc423646680)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:142 +0x136
encoding/gob.(*Decoder).DecodeValue(0xc423646680, 0x964000, 0xc423027990, 0x16, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:210 +0xdc
encoding/gob.(*Decoder).Decode(0xc423646680, 0x964000, 0xc423027990, 0xc42114e2b0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:187 +0x14f
github.com/nknorg/nkn/net/chord.(*TCPTransport).handleConn(0xc4201861b0, 0xc422686c30)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:762 +0x11a
created by github.com/nknorg/nkn/net/chord.(*TCPTransport).listen
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:741 +0x267
goroutine 12455 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a93fc90, 0x72, 0xc421ed5718)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc421109a98, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc421109a98, 0xc421af3000, 0x1000, 0x1000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc421109a80, 0xc421af3000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc421109a80, 0xc421af3000, 0x1000, 0x1000, 0xc421109a80, 0xc42216ee48, 0x46)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc420b76930, 0xc421af3000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
bufio.(*Reader).Read(0xc42068faa0, 0xc421298830, 0x1, 0x9, 0xc421ed5910, 0x58136a, 0xc421109a80)
/usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:216 +0x238
io.ReadAtLeast(0xad5000, 0xc42068faa0, 0xc421298830, 0x1, 0x9, 0x1, 0xc42216ee40, 0x3, 0xc420036f70)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:309 +0x86
io.ReadFull(0xad5000, 0xc42068faa0, 0xc421298830, 0x1, 0x9, 0x428f34, 0xa8ca70, 0xc421ed59c8)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:327 +0x58
encoding/gob.decodeUintReader(0xad5000, 0xc42068faa0, 0xc421298830, 0x9, 0x9, 0xc420b76930, 0xc421d92678, 0xc421ed5a18, 0x428639)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decode.go:120 +0x63
encoding/gob.(*Decoder).recvMessage(0xc421109b00, 0xc421ed5a30)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:80 +0x57
encoding/gob.(*Decoder).decodeTypeSequence(0xc421109b00, 0xa8ca00, 0xc421109b00)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:142 +0x136
encoding/gob.(*Decoder).DecodeValue(0xc421109b00, 0x964000, 0xc421298828, 0x16, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:210 +0xdc
encoding/gob.(*Decoder).Decode(0xc421109b00, 0x964000, 0xc421298828, 0xc42046f5a8, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:187 +0x14f
github.com/nknorg/nkn/net/chord.(*TCPTransport).handleConn(0xc4201861b0, 0xc420b76930)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:762 +0x11a
created by github.com/nknorg/nkn/net/chord.(*TCPTransport).listen
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:741 +0x267
goroutine 970 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86e668, 0x72, 0xc422748dc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc422869018, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc422869018, 0xc421e74000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc422869000, 0xc421e74000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc422869000, 0xc421e74000, 0x3fff, 0x4000, 0x18, 0xc4202c8000, 0xc422dcc2c0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc4210b6b68, 0xc421e74000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc420ad9680)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).initConnection
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:166 +0x8a
goroutine 150 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a93f7b0, 0x72, 0xc42041edc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc420199e18, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc420199e18, 0xc420934000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc420199e00, 0xc420934000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc420199e00, 0xc420934000, 0x3fff, 0x4000, 0x18, 0xc420233180, 0xc422df5760)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42125c330, 0xc420934000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc420ad8480)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e
goroutine 334 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86cee8, 0x72, 0xc421e1d718)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc420134b18, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc420134b18, 0xc421ebe000, 0x1000, 0x1000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc420134b00, 0xc421ebe000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc420134b00, 0xc421ebe000, 0x1000, 0x1000, 0xc420134b00, 0xc42039e006, 0x40c)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc420b44d78, 0xc421ebe000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
bufio.(*Reader).Read(0xc4201a7080, 0xc4202a11a0, 0x1, 0x9, 0xc421e1d910, 0x58136a, 0xc420134b00)
/usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:216 +0x238
io.ReadAtLeast(0xad5000, 0xc4201a7080, 0xc4202a11a0, 0x1, 0x9, 0x1, 0xc42039e000, 0x3, 0xc420030070)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:309 +0x86
io.ReadFull(0xad5000, 0xc4201a7080, 0xc4202a11a0, 0x1, 0x9, 0x428f34, 0xa8ca70, 0xc421e1d9c8)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:327 +0x58
encoding/gob.decodeUintReader(0xad5000, 0xc4201a7080, 0xc4202a11a0, 0x9, 0x9, 0xc420b44d78, 0xc420252218, 0xc421e1da18, 0x428639)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decode.go:120 +0x63
encoding/gob.(*Decoder).recvMessage(0xc420134b80, 0xc421e1da30)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:80 +0x57
encoding/gob.(*Decoder).decodeTypeSequence(0xc420134b80, 0xa8ca00, 0xc420134b80)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:142 +0x136
encoding/gob.(*Decoder).DecodeValue(0xc420134b80, 0x964000, 0xc4202a1198, 0x16, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:210 +0xdc
encoding/gob.(*Decoder).Decode(0xc420134b80, 0x964000, 0xc4202a1198, 0xc42114e488, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:187 +0x14f
github.com/nknorg/nkn/net/chord.(*TCPTransport).handleConn(0xc4201861b0, 0xc420b44d78)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:762 +0x11a
created by github.com/nknorg/nkn/net/chord.(*TCPTransport).listen
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:741 +0x267
goroutine 84423 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a9715d0, 0x72, 0xc421167718)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4223dfb98, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4223dfb98, 0xc4220b3000, 0x1000, 0x1000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4223dfb80, 0xc4220b3000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc4223dfb80, 0xc4220b3000, 0x1000, 0x1000, 0xc4223dfb80, 0xc420024ea8, 0x6)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc421bf20a8, 0xc4220b3000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
bufio.(*Reader).Read(0xc421f00600, 0xc4208192e0, 0x1, 0x9, 0xc421167910, 0x58136a, 0xc4223dfb80)
/usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:216 +0x238
io.ReadAtLeast(0xad5000, 0xc421f00600, 0xc4208192e0, 0x1, 0x9, 0x1, 0xc420024ea0, 0x3, 0xc420034a70)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:309 +0x86
io.ReadFull(0xad5000, 0xc421f00600, 0xc4208192e0, 0x1, 0x9, 0x428f34, 0xa8ca70, 0xc4211679c8)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:327 +0x58
encoding/gob.decodeUintReader(0xad5000, 0xc421f00600, 0xc4208192e0, 0x9, 0x9, 0xc421bf20a8, 0xc4227d42b8, 0xc421167a18, 0x428639)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decode.go:120 +0x63
encoding/gob.(*Decoder).recvMessage(0xc4223dfc00, 0xc421167a30)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:80 +0x57
encoding/gob.(*Decoder).decodeTypeSequence(0xc4223dfc00, 0xa8ca00, 0xc4223dfc00)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:142 +0x136
encoding/gob.(*Decoder).DecodeValue(0xc4223dfc00, 0x964000, 0xc4208192d8, 0x16, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:210 +0xdc
encoding/gob.(*Decoder).Decode(0xc4223dfc00, 0x964000, 0xc4208192d8, 0xc42114e280, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:187 +0x14f
github.com/nknorg/nkn/net/chord.(*TCPTransport).handleConn(0xc4201861b0, 0xc421bf20a8)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:762 +0x11a
created by github.com/nknorg/nkn/net/chord.(*TCPTransport).listen
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:741 +0x267
goroutine 114 [IO wait, 1 minutes]:
internal/poll.runtime_pollWait(0x7f345a86d2f8, 0x72, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202e8d18, 0x72, 0xc4210bf100, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202e8d18, 0xffffffffffffff00, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Accept(0xc4202e8d00, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:372 +0x1a8
net.(*netFD).accept(0xc4202e8d00, 0x401127, 0xc4211a2120, 0x9a3300)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc4204582c8, 0x452ec0, 0xc4208eade8, 0xc4208eadf0)
/usr/local/Cellar/go/1.10/libexec/src/net/tcpsock_posix.go:136 +0x2e
net.(*TCPListener).Accept(0xc4204582c8, 0xa8c360, 0xc4211a20a0, 0xadaa60, 0xc42019d590)
/usr/local/Cellar/go/1.10/libexec/src/net/tcpsock.go:259 +0x49
net/http.(*Server).Serve(0xc42011e8f0, 0xad9f20, 0xc4204582c8, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/http/server.go:2770 +0x1a5
github.com/nknorg/nkn/api/httpjson.(*RPCServer).Start(0xc42068ecc0)
/Users/skysniper/go/src/github.com/nknorg/nkn/api/httpjson/RPCserver.go:189 +0x246
created by main.nknMain
/Users/skysniper/go/src/github.com/nknorg/nkn/nknd.go:140 +0x488
goroutine 115 [IO wait, 4 minutes]:
internal/poll.runtime_pollWait(0x7f345a86d3c8, 0x72, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202e8c98, 0x72, 0xc42017a100, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202e8c98, 0xffffffffffffff00, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Accept(0xc4202e8c80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:372 +0x1a8
net.(*netFD).accept(0xc4202e8c80, 0x401127, 0xc421d93ca0, 0x9a3300)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc4204582a8, 0x452ec0, 0xc4208e9dd8, 0xc4208e9de0)
/usr/local/Cellar/go/1.10/libexec/src/net/tcpsock_posix.go:136 +0x2e
net.(*TCPListener).Accept(0xc4204582a8, 0xa8c360, 0xc421d93c20, 0xadaa60, 0xc42019d410)
/usr/local/Cellar/go/1.10/libexec/src/net/tcpsock.go:259 +0x49
net/http.(*Server).Serve(0xc42011e340, 0xad9f20, 0xc4204582a8, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/http/server.go:2770 +0x1a5
github.com/nknorg/nkn/api/websocket/server.(*WsServer).Start(0xc4204002c0, 0x951f96bb00000000, 0x7f855601050c001f)
/Users/skysniper/go/src/github.com/nknorg/nkn/api/websocket/server/server.go:90 +0x1ef
github.com/nknorg/nkn/api/websocket.StartServer.func1()
/Users/skysniper/go/src/github.com/nknorg/nkn/api/websocket/websocket.go:30 +0x2d
created by github.com/nknorg/nkn/api/websocket.StartServer
/Users/skysniper/go/src/github.com/nknorg/nkn/api/websocket/websocket.go:29 +0x154
goroutine 116 [chan receive]:
github.com/nknorg/nkn/consensus/ising.(*ConsensusService).Start(0xc4202c08f0)
/Users/skysniper/go/src/github.com/nknorg/nkn/consensus/ising/ising.go:28 +0x81
github.com/nknorg/nkn/consensus/ising.StartIsingConsensus(0xc42040a380, 0xae0b60, 0xc4200b0480)
/Users/skysniper/go/src/github.com/nknorg/nkn/consensus/ising/ising.go:36 +0x4d
created by main.StartConsensus
/Users/skysniper/go/src/github.com/nknorg/nkn/nknd.go:74 +0xe2
goroutine 117 [sleep]:
time.Sleep(0x2540be400)
/usr/local/Cellar/go/1.10/libexec/src/runtime/time.go:102 +0x166
main.nknMain.func2()
/Users/skysniper/go/src/github.com/nknorg/nkn/nknd.go:158 +0x34
created by main.nknMain
/Users/skysniper/go/src/github.com/nknorg/nkn/nknd.go:156 +0x5f9
goroutine 118 [select, 60 minutes, locked to thread]:
runtime.gopark(0xa8c9b0, 0x0, 0xa665c7, 0x6, 0x18, 0x1)
/usr/local/Cellar/go/1.10/libexec/src/runtime/proc.go:291 +0x11a
runtime.selectgo(0xc42102e750, 0xc42014c480)
/usr/local/Cellar/go/1.10/libexec/src/runtime/select.go:392 +0xe50
runtime.ensureSigM.func1()
/usr/local/Cellar/go/1.10/libexec/src/runtime/signal_unix.go:549 +0x1f4
runtime.goexit()
/usr/local/Cellar/go/1.10/libexec/src/runtime/asm_amd64.s:2361 +0x1
goroutine 846 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a8d9af8, 0x72, 0xc421ed1718)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42288c498, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42288c498, 0xc421b72000, 0x1000, 0x1000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc42288c480, 0xc421b72000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc42288c480, 0xc421b72000, 0x1000, 0x1000, 0xc42288c480, 0xc422796188, 0x46)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42125cb68, 0xc421b72000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
bufio.(*Reader).Read(0xc42006bc80, 0xc42031d5a0, 0x1, 0x9, 0xc421ed1910, 0x58136a, 0xc42288c480)
/usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:216 +0x238
io.ReadAtLeast(0xad5000, 0xc42006bc80, 0xc42031d5a0, 0x1, 0x9, 0x1, 0xc422796180, 0x3, 0xc420034a70)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:309 +0x86
io.ReadFull(0xad5000, 0xc42006bc80, 0xc42031d5a0, 0x1, 0x9, 0x428f34, 0xa8ca70, 0xc421ed19c8)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:327 +0x58
encoding/gob.decodeUintReader(0xad5000, 0xc42006bc80, 0xc42031d5a0, 0x9, 0x9, 0xc42125cb68, 0xc420370a38, 0xc421ed1a18, 0x428639)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decode.go:120 +0x63
encoding/gob.(*Decoder).recvMessage(0xc42288c500, 0xc421ed1a30)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:80 +0x57
encoding/gob.(*Decoder).decodeTypeSequence(0xc42288c500, 0xa8ca00, 0xc42288c500)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:142 +0x136
encoding/gob.(*Decoder).DecodeValue(0xc42288c500, 0x964000, 0xc42031d598, 0x16, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:210 +0xdc
encoding/gob.(*Decoder).Decode(0xc42288c500, 0x964000, 0xc42031d598, 0xc42114e390, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:187 +0x14f
github.com/nknorg/nkn/net/chord.(*TCPTransport).handleConn(0xc4201861b0, 0xc42125cb68)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:762 +0x11a
created by github.com/nknorg/nkn/net/chord.(*TCPTransport).listen
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:741 +0x267
goroutine 349113 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86d898, 0x72, 0xc4207f9718)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc422ef3818, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc422ef3818, 0xc4232c7000, 0x1000, 0x1000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc422ef3800, 0xc4232c7000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc422ef3800, 0xc4232c7000, 0x1000, 0x1000, 0xc422ef3800, 0xc422707ce8, 0x46)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc420baa000, 0xc4232c7000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
bufio.(*Reader).Read(0xc422ca6360, 0xc422a0abc0, 0x1, 0x9, 0xc4207f9910, 0x58136a, 0xc422ef3800)
/usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:216 +0x238
io.ReadAtLeast(0xad5000, 0xc422ca6360, 0xc422a0abc0, 0x1, 0x9, 0x1, 0xc422707ce0, 0x3, 0xc420036f70)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:309 +0x86
io.ReadFull(0xad5000, 0xc422ca6360, 0xc422a0abc0, 0x1, 0x9, 0x428f34, 0xa8ca70, 0xc4207f99c8)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:327 +0x58
encoding/gob.decodeUintReader(0xad5000, 0xc422ca6360, 0xc422a0abc0, 0x9, 0x9, 0xc420baa000, 0xc4227d5cf8, 0xc4207f9a18, 0x428639)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decode.go:120 +0x63
encoding/gob.(*Decoder).recvMessage(0xc422ef3980, 0xc4207f9a30)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:80 +0x57
encoding/gob.(*Decoder).decodeTypeSequence(0xc422ef3980, 0xa8ca00, 0xc422ef3980)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:142 +0x136
encoding/gob.(*Decoder).DecodeValue(0xc422ef3980, 0x964000, 0xc422a0abd0, 0x16, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:210 +0xdc
encoding/gob.(*Decoder).Decode(0xc422ef3980, 0x964000, 0xc422a0abd0, 0xc42114e6f0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:187 +0x14f
github.com/nknorg/nkn/net/chord.(*TCPTransport).handleConn(0xc4201861b0, 0xc420baa000)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:762 +0x11a
created by github.com/nknorg/nkn/net/chord.(*TCPTransport).listen
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:741 +0x267
goroutine 875 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a8d9c98, 0x72, 0xc42065edc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42288c418, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42288c418, 0xc4219f6000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc42288c400, 0xc4219f6000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc42288c400, 0xc4219f6000, 0x3fff, 0x4000, 0x18, 0xc420446d80, 0xc42359e560)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc4204590e0, 0xc4219f6000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc421c6cfc0)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e
goroutine 1014 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86e3f8, 0x72, 0xc421cb4dc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42288c918, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42288c918, 0xc4228d0000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc42288c900, 0xc4228d0000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc42288c900, 0xc4228d0000, 0x3fff, 0x4000, 0x18, 0xc423131200, 0xc4210f7da0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42125cf98, 0xc4228d0000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc42041a480)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).initConnection
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:166 +0x8a
goroutine 1009 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86e4c8, 0x72, 0xc421ecf718)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42288c818, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42288c818, 0xc421e7d000, 0x1000, 0x1000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc42288c800, 0xc421e7d000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc42288c800, 0xc421e7d000, 0x1000, 0x1000, 0xc42288c800, 0xc420417648, 0x6)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42125ce40, 0xc421e7d000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
bufio.(*Reader).Read(0xc421e253e0, 0xc4202ecd60, 0x1, 0x9, 0xc421ecf910, 0x58136a, 0xc42288c800)
/usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:216 +0x238
io.ReadAtLeast(0xad5000, 0xc421e253e0, 0xc4202ecd60, 0x1, 0x9, 0x1, 0xc420417640, 0x3, 0xc420032570)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:309 +0x86
io.ReadFull(0xad5000, 0xc421e253e0, 0xc4202ecd60, 0x1, 0x9, 0x428f34, 0xa8ca70, 0xc421ecf9c8)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:327 +0x58
encoding/gob.decodeUintReader(0xad5000, 0xc421e253e0, 0xc4202ecd60, 0x9, 0x9, 0xc42125ce40, 0xc420370c18, 0xc421ecfa18, 0x428639)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decode.go:120 +0x63
encoding/gob.(*Decoder).recvMessage(0xc42288c880, 0xc421ecfa30)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:80 +0x57
encoding/gob.(*Decoder).decodeTypeSequence(0xc42288c880, 0xa8ca00, 0xc42288c880)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:142 +0x136
encoding/gob.(*Decoder).DecodeValue(0xc42288c880, 0x964000, 0xc4202ecd58, 0x16, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:210 +0xdc
encoding/gob.(*Decoder).Decode(0xc42288c880, 0x964000, 0xc4202ecd58, 0xc42114e5b0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:187 +0x14f
github.com/nknorg/nkn/net/chord.(*TCPTransport).handleConn(0xc4201861b0, 0xc42125ce40)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:762 +0x11a
created by github.com/nknorg/nkn/net/chord.(*TCPTransport).listen
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:741 +0x267
goroutine 133 [select]:
github.com/nknorg/nkn/api/websocket/server.(*WsServer).checkSessionsTimeout(0xc4204002c0, 0xc420672120)
/Users/skysniper/go/src/github.com/nknorg/nkn/api/websocket/server/server.go:227 +0x153
created by github.com/nknorg/nkn/api/websocket/server.(*WsServer).Start
/Users/skysniper/go/src/github.com/nknorg/nkn/api/websocket/server/server.go:87 +0x147
goroutine 135 [chan receive]:
github.com/nknorg/nkn/consensus/ising.(*ProbeService).Start(0xc42095fc80, 0x9d9460, 0xc4202c08f0)
/Users/skysniper/go/src/github.com/nknorg/nkn/consensus/ising/probeservice.go:64 +0xf7
created by github.com/nknorg/nkn/consensus/ising.(*ConsensusService).Start
/Users/skysniper/go/src/github.com/nknorg/nkn/consensus/ising/ising.go:24 +0x6c
goroutine 136 [chan receive]:
github.com/nknorg/nkn/consensus/ising.(*ProposerService).ProposerRoutine(0xc4200c2d10)
/Users/skysniper/go/src/github.com/nknorg/nkn/consensus/ising/proposerservice.go:268 +0x48
created by github.com/nknorg/nkn/consensus/ising.(*ProposerService).Start
/Users/skysniper/go/src/github.com/nknorg/nkn/consensus/ising/proposerservice.go:483 +0x210
goroutine 137 [chan receive, 60 minutes]:
github.com/nknorg/nkn/consensus/ising.(*ProposerService).ChangeProposerRoutine(0xc4200c2d10)
/Users/skysniper/go/src/github.com/nknorg/nkn/consensus/ising/proposerservice.go:332 +0xc8
created by github.com/nknorg/nkn/consensus/ising.(*ProposerService).Start
/Users/skysniper/go/src/github.com/nknorg/nkn/consensus/ising/proposerservice.go:485 +0x232
goroutine 138 [chan receive]:
github.com/nknorg/nkn/consensus/ising.(*ProposerService).TimeoutRoutine(0xc4200c2d10)
/Users/skysniper/go/src/github.com/nknorg/nkn/consensus/ising/proposerservice.go:287 +0x31
created by github.com/nknorg/nkn/consensus/ising.(*ProposerService).Start
/Users/skysniper/go/src/github.com/nknorg/nkn/consensus/ising/proposerservice.go:487 +0x254
goroutine 1594 [chan receive]:
github.com/nknorg/nkn/consensus/ising.(*ProposerService).ProbeRoutine(0xc4200c2d10)
/Users/skysniper/go/src/github.com/nknorg/nkn/consensus/ising/proposerservice.go:297 +0x9a
created by github.com/nknorg/nkn/consensus/ising.(*ProposerService).Start
/Users/skysniper/go/src/github.com/nknorg/nkn/consensus/ising/proposerservice.go:491 +0x289
goroutine 473533 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86cd48, 0x72, 0xc422744ba0)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc420134e98, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc420134e98, 0xc421edc000, 0x1000, 0x1000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc420134e80, 0xc421edc000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc420134e80, 0xc421edc000, 0x1000, 0x1000, 0xc420134e80, 0xc420112807, 0x89)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc420b45010, 0xc421edc000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
bufio.(*Reader).Read(0xc4201a7500, 0xc4202a1a70, 0x1, 0x9, 0xc4234cb598, 0x58136a, 0xc420134e80)
/usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:216 +0x238
io.ReadAtLeast(0xad5000, 0xc4201a7500, 0xc4202a1a70, 0x1, 0x9, 0x1, 0xc420112800, 0x3, 0xc420032570)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:309 +0x86
io.ReadFull(0xad5000, 0xc4201a7500, 0xc4202a1a70, 0x1, 0x9, 0x428f34, 0xa8ca70, 0xc4234cb650)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:327 +0x58
encoding/gob.decodeUintReader(0xad5000, 0xc4201a7500, 0xc4202a1a70, 0x9, 0x9, 0xc4234cb700, 0x410249, 0xc4234cb6a0, 0x428639)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decode.go:120 +0x63
encoding/gob.(*Decoder).recvMessage(0xc420134f80, 0xc4234cb6b8)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:80 +0x57
encoding/gob.(*Decoder).decodeTypeSequence(0xc420134f80, 0xa8ca00, 0xc420134f80)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:142 +0x136
encoding/gob.(*Decoder).DecodeValue(0xc420134f80, 0x963fc0, 0xc42392e9f0, 0x16, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:210 +0xdc
encoding/gob.(*Decoder).Decode(0xc420134f80, 0x963fc0, 0xc42392e9f0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:187 +0x14f
github.com/nknorg/nkn/net/chord.(*TCPTransport).Notify.func1(0xc4203799f0, 0xc4218fcd50, 0xc4203d30e0, 0xc421f002a0, 0xc421f000c0)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:446 +0x123
created by github.com/nknorg/nkn/net/chord.(*TCPTransport).Notify
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:431 +0x11f
goroutine 119 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86d228, 0x72, 0xc420173718)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202aa618, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202aa618, 0xc4218be000, 0x1000, 0x1000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4202aa600, 0xc4218be000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc4202aa600, 0xc4218be000, 0x1000, 0x1000, 0xc4202aa600, 0xc421308008, 0x6)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc4201a9b70, 0xc4218be000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
bufio.(*Reader).Read(0xc42068ee40, 0xc4202653f0, 0x1, 0x9, 0xc420173910, 0x58136a, 0xc4202aa600)
/usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:216 +0x238
io.ReadAtLeast(0xad5000, 0xc42068ee40, 0xc4202653f0, 0x1, 0x9, 0x1, 0xc421308000, 0x3, 0xc420030070)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:309 +0x86
io.ReadFull(0xad5000, 0xc42068ee40, 0xc4202653f0, 0x1, 0x9, 0x428f34, 0xa8ca70, 0xc4201739c8)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:327 +0x58
encoding/gob.decodeUintReader(0xad5000, 0xc42068ee40, 0xc4202653f0, 0x9, 0x9, 0xc4201a9b70, 0xc4203142b8, 0xc420173a18, 0x428639)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decode.go:120 +0x63
encoding/gob.(*Decoder).recvMessage(0xc4202aa780, 0xc420173a30)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:80 +0x57
encoding/gob.(*Decoder).decodeTypeSequence(0xc4202aa780, 0xa8ca00, 0xc4202aa780)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:142 +0x136
encoding/gob.(*Decoder).DecodeValue(0xc4202aa780, 0x964000, 0xc420265400, 0x16, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:210 +0xdc
encoding/gob.(*Decoder).Decode(0xc4202aa780, 0x964000, 0xc420265400, 0xc42114e158, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:187 +0x14f
github.com/nknorg/nkn/net/chord.(*TCPTransport).handleConn(0xc4201861b0, 0xc4201a9b70)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:762 +0x11a
created by github.com/nknorg/nkn/net/chord.(*TCPTransport).listen
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:741 +0x267
goroutine 121 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a93f6e0, 0x72, 0xc421cb2dc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc420199f98, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc420199f98, 0xc421ce0000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc420199f80, 0xc421ce0000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc420199f80, 0xc421ce0000, 0x3fff, 0x4000, 0x18, 0xc420231600, 0xc422df5280)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc4201a9ce0, 0xc421ce0000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc4200b06c0)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e
goroutine 142 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a93f470, 0x72, 0xc420421dc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202e8318, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202e8318, 0xc420622000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4202e8300, 0xc420622000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc4202e8300, 0xc420622000, 0x3fff, 0x4000, 0x18, 0xc420327600, 0xc422dcd6a0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc4204582f8, 0xc420622000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc421c6c240)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e
goroutine 186 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a93f3a0, 0x72, 0xc420665dc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202e8418, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202e8418, 0xc421daa000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4202e8400, 0xc421daa000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc4202e8400, 0xc421daa000, 0x3fff, 0x4000, 0x18, 0xc422830d80, 0xc421ba9640)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc4201a9d68, 0xc421daa000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc4200b1d40)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e
goroutine 200 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a93f880, 0x72, 0xc421e09dc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc420134a18, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc420134a18, 0xc421e14000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc420134a00, 0xc421e14000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc420134a00, 0xc421e14000, 0x3fff, 0x4000, 0x18, 0xc420328680, 0xc422dcd8a0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc420b44d20, 0xc421e14000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc42065a240)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).initConnection
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:166 +0x8a
goroutine 208 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86cfb8, 0x72, 0xc421e3d718)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc420134a98, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc420134a98, 0xc421e41000, 0x1000, 0x1000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc420134a80, 0xc421e41000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc420134a80, 0xc421e41000, 0x1000, 0x1000, 0xc420134a80, 0xc421308808, 0x6)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc420b44d38, 0xc421e41000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
bufio.(*Reader).Read(0xc420339b00, 0xc42027bea0, 0x1, 0x9, 0xc421e3d910, 0x58136a, 0xc420134a80)
/usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:216 +0x238
io.ReadAtLeast(0xad5000, 0xc420339b00, 0xc42027bea0, 0x1, 0x9, 0x1, 0xc421308800, 0x3, 0xc420032570)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:309 +0x86
io.ReadFull(0xad5000, 0xc420339b00, 0xc42027bea0, 0x1, 0x9, 0x428f34, 0xa8ca70, 0xc421e3d9c8)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:327 +0x58
encoding/gob.decodeUintReader(0xad5000, 0xc420339b00, 0xc42027bea0, 0x9, 0x9, 0xc420b44d38, 0xc420370718, 0xc421e3da18, 0x428639)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decode.go:120 +0x63
encoding/gob.(*Decoder).recvMessage(0xc4202e8f80, 0xc421e3da30)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:80 +0x57
encoding/gob.(*Decoder).decodeTypeSequence(0xc4202e8f80, 0xa8ca00, 0xc4202e8f80)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:142 +0x136
encoding/gob.(*Decoder).DecodeValue(0xc4202e8f80, 0x964000, 0xc42027beb0, 0x16, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:210 +0xdc
encoding/gob.(*Decoder).Decode(0xc4202e8f80, 0x964000, 0xc42027beb0, 0xc42114e378, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:187 +0x14f
github.com/nknorg/nkn/net/chord.(*TCPTransport).handleConn(0xc4201861b0, 0xc420b44d38)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:762 +0x11a
created by github.com/nknorg/nkn/net/chord.(*TCPTransport).listen
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:741 +0x267
goroutine 473708 [runnable]:
github.com/nknorg/nkn/net/message.HandleNodeMsg(0xae0b60, 0xc42065a000, 0xc420329700, 0x51f, 0x580, 0x51f, 0xc42065a000, 0xc421cb5ed8)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/message/message.go:213
created by github.com/nknorg/nkn/net/node.unpackNodeBuf
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:79 +0x46d
goroutine 2360 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a90c1c8, 0x72, 0xc420190dc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4211ea518, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4211ea518, 0xc420518000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4211ea500, 0xc420518000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc4211ea500, 0xc420518000, 0x3fff, 0x4000, 0x0, 0xc421ba94c0, 0xc421ba94c0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc422204e20, 0xc420518000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc421c6d200)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).initConnection
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:166 +0x8a
goroutine 957 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a8d9888, 0x72, 0xc420197dc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42288c718, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42288c718, 0xc421e48000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc42288c700, 0xc421e48000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc42288c700, 0xc421e48000, 0x3fff, 0x4000, 0x18, 0xc423130480, 0xc4210f7ba0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42125cde8, 0xc421e48000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc42041a000)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).initConnection
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:166 +0x8a
goroutine 827 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a8d9f08, 0x72, 0xc4204e5718)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42288c118, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42288c118, 0xc421a89000, 0x1000, 0x1000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc42288c100, 0xc421a89000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc42288c100, 0xc421a89000, 0x1000, 0x1000, 0xc42288c100, 0xc42008b788, 0x6)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42125c9a8, 0xc421a89000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
bufio.(*Reader).Read(0xc42006baa0, 0xc42031c510, 0x1, 0x9, 0xc4204e5910, 0x58136a, 0xc42288c100)
/usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:216 +0x238
io.ReadAtLeast(0xad5000, 0xc42006baa0, 0xc42031c510, 0x1, 0x9, 0x1, 0xc42008b780, 0x3, 0xc420030070)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:309 +0x86
io.ReadFull(0xad5000, 0xc42006baa0, 0xc42031c510, 0x1, 0x9, 0x428f34, 0xa8ca70, 0xc4204e59c8)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:327 +0x58
encoding/gob.decodeUintReader(0xad5000, 0xc42006baa0, 0xc42031c510, 0x9, 0x9, 0xc42125c9a8, 0xc420370998, 0xc4204e5a18, 0x428639)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decode.go:120 +0x63
encoding/gob.(*Decoder).recvMessage(0xc42288c180, 0xc4204e5a30)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:80 +0x57
encoding/gob.(*Decoder).decodeTypeSequence(0xc42288c180, 0xa8ca00, 0xc42288c180)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:142 +0x136
encoding/gob.(*Decoder).DecodeValue(0xc42288c180, 0x964000, 0xc42031c508, 0x16, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:210 +0xdc
encoding/gob.(*Decoder).Decode(0xc42288c180, 0x964000, 0xc42031c508, 0xc42114e048, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:187 +0x14f
github.com/nknorg/nkn/net/chord.(*TCPTransport).handleConn(0xc4201861b0, 0xc42125c9a8)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:762 +0x11a
created by github.com/nknorg/nkn/net/chord.(*TCPTransport).listen
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:741 +0x267
goroutine 1888 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a90c848, 0x72, 0xc42091ddc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42288d498, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42288d498, 0xc4227b8000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc42288d480, 0xc4227b8000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc42288d480, 0xc4227b8000, 0x3fff, 0x4000, 0x18, 0xc420329180, 0xc422dcdca0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42125c760, 0xc4227b8000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc421ef4000)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e
goroutine 261 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86d158, 0x72, 0xc4208eddc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc421cb6198, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc421cb6198, 0xc421e66000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc421cb6180, 0xc421e66000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc421cb6180, 0xc421e66000, 0x3fff, 0x4000, 0x18, 0xc420232680, 0xc422df5560)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42125c340, 0xc421e66000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc420ad8900)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).initConnection
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:166 +0x8a
goroutine 427 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86cad8, 0x72, 0xc4208e7dc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc421cb6618, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc421cb6618, 0xc421efa000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc421cb6600, 0xc421efa000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc421cb6600, 0xc421efa000, 0x3fff, 0x4000, 0x18, 0xc4233d5200, 0xc42359f8c0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42125c650, 0xc421efa000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc420ad8b40)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).initConnection
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:166 +0x8a
goroutine 364 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86ca08, 0x72, 0xc421caedc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc420135018, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b
Signature chain requires the signature to be random, unique, verifiable. No other signature should be valid. VRF should be used instead of (even deterministic) signature.
Currently we require node to have public IP address. It MAY be beneficial to add NAT traversal for nodes so that people behind NAT can start mining. However, this may cause a few troubles:
x
sign in the square brackets)Currently all websocket messages are encoded in JSON, which does not support transmitting binary data natively. Encode binary data with base64 introduces both CPU and bandwidth overhead. This can be avoided by sending binary data directly through websocket. The easy and backward/forward/cross-platform compatible way of doing it is to use protobuffer to encode/decode message.
x
sign in the square brackets)Describe the issue you are experiencing.
x
sign in the square brackets)What should happen?
What is actually happening?
If necessary, provide some extra information like code-snippets or error-logs.
The new version with balance model is now ready at branch v0.9. Future development work should be based on this branch except bug fix until merged into master.
NKN team can you please make a YouTube video on how to set up a NKN node on a Raspberry Pi? It would be a good way to grow the NKN network since it has a lower barrier of entry cost wise.
x
sign in the square brackets)Good suggestion, currently the software is written in Golang, it support to be compiled & running for arm processor which the Raspberry Pi used. but currently we are still focus on PC as the first priority due to lack of hands, if someone in community would like to do this, we'd glad to support no matter in technical or incentive.
For v0.9 version
x
sign in the square brackets)block should be verified locally when sync from neighbors
x
sign in the square brackets)It'd very useful (for debugging) if nknc info
shows when nknd started
x
sign in the square brackets)The root cause is the block hash filled signature chain have not beed synced.
Will handle it in block syncing module.
Most of unix daemons have a log rotation function by receiving HUP unix signal. Usially, it is not necessary to restart the whole daemon if I want only to rotate the log file, for example using logrotate.
x
sign in the square brackets)What should happen? When receive HUP unix signal, nknd will close current log file and start new one.
What is actually happening? Nothing.
when node reconnect with neighbors, such as keepalive timeouts, the node should re-join network rather than exits.
Hence we can parse the public key of the used nodes from the transaction payload it would be nice to get the node’s public key from the getnodestate RPC call.
In combination with the nknx nodecrawler we could then backtrace the way packets are relayed based on the geographic position and also create more „node utilization“ statistics.
x
sign in the square brackets)What should happen?
What is actually happening?
If necessary, provide some extra information like code-snippets or error-logs.
The first node is a bootstrap node. After networking started, the bootstrap node should be stopped. If use the first node as GenesisBlockProposer, when no signature chain sent in system, the default block proposer will missing. Then block producing will be blocked. So do not use the first node as GenesisBlockProposer in test version.
I have noticed that NKN uses Chord DHT.
What is the reason using Chord over Kademlia, when Kademlia has much simpler (and less error prone) implementation?
There are several reasons to switch:
My local rasperry pi gets regularly out of sync with the testnet. After that it shows following warnings and doesn't participate to the network at all:
AddVoteForBlock: block: 4e5c54f4b4805ecd3f0c1a95f4ef7f168889bf115318d10df456453fbc654885 doesn't exist, cache vote only
Problem starts round about 15 Minutes after starting the node with a fresh Chain. Node crashes with:
2018/09/13 11:04:01.669527 [WARN ] GID 12633, receive block which height is invalid, consensus height: 44578, received block height: 44579, hash: 452da64319ad18d55e986cd4134f09f78581d453dbb2b142cdd8ba2fad8636c3
2018/09/13 11:04:02.900955 [ERROR] GID 12817, Get block header error: leveldb: not found
2018/09/13 11:04:02.906263 [ERROR] GID 12740, state is different with neighbors, current voting height: 44580, neighbor height: 44581 (9/16), exits.
When it gets restarted it is out of sync.
Hope that helps!
x
sign in the square brackets)Raspbian stretch lite Kernel version 4.14
1.11 arm
v0.3.6-alpha-dirty
Not getting out of sync.
Described above.
For more information you can reach me on Discord (ChrisT).
RNG is probably one of the weakest point in EC based signature. Signing different msg with the same random number will immediately leak the private key. Switching to deterministic EC based signature where the random number is changed to the hash of the msg and private key (e.g. XEdDSA) could solve the problem by making sure different msg are signed with different "random" number.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.