research engineer focusing on cryptography (zk, mpc), decentralized/p2p systems, and privacy
currently working at СhainSafe
- twitter: @timoethey
- email: [email protected]
- linkedin: in/timofeyy
- keybase: ethotim
Embedded IoT sensor system for harvesting environment data and publishing it onto the permissioned blockchain network
License: Apache License 2.0
research engineer focusing on cryptography (zk, mpc), decentralized/p2p systems, and privacy
currently working at СhainSafe
Rarely occured concurrent map writes.
Seems like an issue with I2C scan routine.
See the full log bellow:
sudo ./bin/sensor
[fabsdk/core] 2021/05/08 02:28:04 UTC - cryptosuite.GetDefault -> INFO No default cryptosuite found, using default SW implementation
2021.05.08 03:28:05 0001 INFO [sensorsys] Init -> Device specs has being updated in blockchain with id: device3168171730c28bgrves05mif5eklbg
fatal error: concurrent map writes
goroutine 93 [running]:
runtime.throw(0x92e9e7, 0x15)
/usr/local/go/src/runtime/panic.go:1117 +0x5c fp=0x2eb2f44 sp=0x2eb2f30 pc=0x48804
runtime.mapassign_fast32(0x802fb8, 0x2b5ad80, 0x1, 0xf81e74)
/usr/local/go/src/runtime/map_fast32.go:101 +0x320 fp=0x2eb2f60 sp=0x2eb2f44 pc=0x21ba0
github.com/timoth-y/chainmetric-sensorsys/drivers/periphery.ScanI2C.func1(0x2bb80e0, 0x2b5ad80, 0x2b5efe0, 0xc, 0x10, 0x979660, 0xa3a5dc, 0x29fa9c0, 0x2b5ae60)
/home/pi/sensorsys/drivers/periphery/detect.go:47 +0xc8 fp=0x2eb2fc4 sp=0x2eb2f60 pc=0x4e0930
runtime.goexit()
/usr/local/go/src/runtime/asm_arm.s:841 +0x4 fp=0x2eb2fc4 sp=0x2eb2fc4 pc=0x7c224
created by github.com/timoth-y/chainmetric-sensorsys/drivers/periphery.ScanI2C
/home/pi/sensorsys/drivers/periphery/detect.go:38 +0x19c
goroutine 1 [chan receive]:
main.main()
/home/pi/sensorsys/main.go:58 +0x9c
goroutine 8 [select]:
github.com/syndtr/goleveldb/leveldb/util.(*BufferPool).drain(0x28c6b00)
/home/pi/sensorsys/vendor/github.com/syndtr/goleveldb/leveldb/util/buffer_pool.go:206 +0xdc
created by github.com/syndtr/goleveldb/leveldb/util.NewBufferPool
/home/pi/sensorsys/vendor/github.com/syndtr/goleveldb/leveldb/util/buffer_pool.go:237 +0x148
goroutine 10 [select]:
github.com/syndtr/goleveldb/leveldb.(*DB).compactionError(0x29eaea0)
/home/pi/sensorsys/vendor/github.com/syndtr/goleveldb/leveldb/db_compaction.go:90 +0x80
created by github.com/syndtr/goleveldb/leveldb.openDB
/home/pi/sensorsys/vendor/github.com/syndtr/goleveldb/leveldb/db.go:142 +0x304
goroutine 11 [select]:
github.com/syndtr/goleveldb/leveldb.(*DB).mpoolDrain(0x29eaea0)
/home/pi/sensorsys/vendor/github.com/syndtr/goleveldb/leveldb/db_state.go:101 +0xa0
created by github.com/syndtr/goleveldb/leveldb.openDB
/home/pi/sensorsys/vendor/github.com/syndtr/goleveldb/leveldb/db.go:143 +0x320
goroutine 12 [select]:
github.com/syndtr/goleveldb/leveldb.(*DB).tCompaction(0x29eaea0)
/home/pi/sensorsys/vendor/github.com/syndtr/goleveldb/leveldb/db_compaction.go:825 +0x1a4
created by github.com/syndtr/goleveldb/leveldb.openDB
/home/pi/sensorsys/vendor/github.com/syndtr/goleveldb/leveldb/db.go:149 +0x420
goroutine 13 [select]:
github.com/syndtr/goleveldb/leveldb.(*DB).mCompaction(0x29eaea0)
/home/pi/sensorsys/vendor/github.com/syndtr/goleveldb/leveldb/db_compaction.go:762 +0x100
created by github.com/syndtr/goleveldb/leveldb.openDB
/home/pi/sensorsys/vendor/github.com/syndtr/goleveldb/leveldb/db.go:150 +0x43c
goroutine 36 [select]:
github.com/go-ble/ble/linux/hci.(*HCI).Accept(0x29eac60, 0x1, 0x286a180, 0x2a5c140, 0x2a5c148)
/home/pi/sensorsys/vendor/github.com/go-ble/ble/linux/hci/gap.go:185 +0xac
github.com/go-ble/ble/linux.loop(0x29eac60, 0x2a60a60, 0x203)
/home/pi/sensorsys/vendor/github.com/go-ble/ble/linux/device.go:55 +0x1c
created by github.com/go-ble/ble/linux.NewDeviceWithNameAndHandler
/home/pi/sensorsys/vendor/github.com/go-ble/ble/linux/device.go:48 +0x230
goroutine 35 [syscall]:
syscall.Syscall(0x3, 0x56, 0x2ee6000, 0x1000, 0x4151e8, 0x2a5ea58, 0x0)
/usr/local/go/src/syscall/asm_linux_arm.s:14 +0x8
golang.org/x/sys/unix.read(0x56, 0x2ee6000, 0x1000, 0x1000, 0x2ee6000, 0x7, 0x2a5d617)
/home/pi/sensorsys/vendor/golang.org/x/sys/unix/zsyscall_linux.go:1215 +0x40
golang.org/x/sys/unix.Read(...)
/home/pi/sensorsys/vendor/golang.org/x/sys/unix/syscall_unix.go:156
github.com/go-ble/ble/linux/hci/socket.(*Socket).Read(0x2a5ea50, 0x2ee6000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/home/pi/sensorsys/vendor/github.com/go-ble/ble/linux/hci/socket/socket.go:123 +0x50
github.com/go-ble/ble/linux/hci.(*HCI).sktLoop(0x29eac60)
/home/pi/sensorsys/vendor/github.com/go-ble/ble/linux/hci/hci.go:300 +0x90
created by github.com/go-ble/ble/linux/hci.(*HCI).Init
/home/pi/sensorsys/vendor/github.com/go-ble/ble/linux/hci/hci.go:153 +0x4cc
goroutine 38 [syscall]:
os/signal.signal_recv(0x286a1c0)
/usr/local/go/src/runtime/sigqueue.go:168 +0x158
os/signal.loop()
/usr/local/go/src/os/signal/signal_unix.go:23 +0x14
created by os/signal.Notify.func1.1
/usr/local/go/src/os/signal/signal.go:151 +0x34
goroutine 43 [select]:
google.golang.org/grpc.(*ccBalancerWrapper).watcher(0x28f3110)
/home/pi/sensorsys/vendor/google.golang.org/grpc/balancer_conn_wrappers.go:69 +0x88
created by google.golang.org/grpc.newCCBalancerWrapper
/home/pi/sensorsys/vendor/google.golang.org/grpc/balancer_conn_wrappers.go:60 +0x108
goroutine 53 [select]:
github.com/hyperledger/fabric-sdk-go/pkg/util/concurrent/lazyref.checkTimeStarted(0x2898ae0, 0xf46b0400, 0x14)
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/util/concurrent/lazyref/lazyref.go:284 +0x110
created by github.com/hyperledger/fabric-sdk-go/pkg/util/concurrent/lazyref.(*Reference).ensureTimerStarted
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/util/concurrent/lazyref/lazyref.go:270 +0x98
goroutine 40 [chan receive]:
main.shutdown()
/home/pi/sensorsys/main.go:82 +0x28
created by main.main
/home/pi/sensorsys/main.go:56 +0x84
goroutine 39 [runnable]:
github.com/hyperledger/fabric-sdk-go/pkg/util/concurrent/futurevalue.(*Value).get(0x28d1480, 0x29d5a01, 0x2b60901, 0x1d900, 0x6c0038, 0x846398)
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/util/concurrent/futurevalue/futurevalue.go:93 +0x40
github.com/hyperledger/fabric-sdk-go/pkg/util/concurrent/futurevalue.(*Value).Get(0x28d1480, 0x0, 0x0, 0x0, 0x0)
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/util/concurrent/futurevalue/futurevalue.go:60 +0x48
github.com/hyperledger/fabric-sdk-go/pkg/util/concurrent/lazycache.(*Cache).Get(0x28f2390, 0xa594c288, 0x2b5ace0, 0x0, 0x0, 0x0, 0xa3a5fc, 0x900ce8, 0x394a6553, 0xc01d9bdb)
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/util/concurrent/lazycache/lazycache.go:109 +0xa0
github.com/hyperledger/fabric-sdk-go/pkg/fabsdk/provider/chpvdr.(*contextCache).loadChannelCfgRef(0x28f2360, 0x2943e60, 0xe, 0x1b500, 0x2b60900, 0x8)
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/fabsdk/provider/chpvdr/contextcache.go:202 +0x134
github.com/hyperledger/fabric-sdk-go/pkg/fabsdk/provider/chpvdr.(*contextCache).GetChannelConfig(0x28f2360, 0x2943e60, 0xe, 0x18, 0x2b456e0, 0x292cfc0, 0x129)
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/fabsdk/provider/chpvdr/contextcache.go:186 +0x34
github.com/hyperledger/fabric-sdk-go/pkg/fabsdk/provider/chpvdr.(*ChannelService).ChannelConfig(...)
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/fabsdk/provider/chpvdr/chprovider.go:115
github.com/hyperledger/fabric-sdk-go/pkg/fabsdk/provider/chpvdr.(*ChannelService).Transactor(0x289a7f8, 0xa3a5fc, 0x2b456e0, 0x89af98, 0x1, 0x2b456e0, 0x6a0060)
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/fabsdk/provider/chpvdr/chprovider.go:120 +0x30
github.com/hyperledger/fabric-sdk-go/pkg/client/channel.(*Client).prepareHandlerContexts(0x2ad26c0, 0xa3a5fc, 0x2b456e0, 0x90539b, 0x6, 0x90ad90, 0x8, 0x2b86e90, 0x1, 0x1, ...)
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/client/channel/chclient.go:223 +0xd8
github.com/hyperledger/fabric-sdk-go/pkg/client/channel.(*Client).InvokeHandler(0x2ad26c0, 0xa2fbac, 0x2b608f8, 0x90539b, 0x6, 0x90ad90, 0x8, 0x2b86e90, 0x1, 0x1, ...)
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/client/channel/chclient.go:155 +0x174
github.com/hyperledger/fabric-sdk-go/pkg/client/channel.callQuery(0x2ad26c0, 0x90539b, 0x6, 0x90ad90, 0x8, 0x2b86e90, 0x1, 0x1, 0x0, 0x0, ...)
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/client/channel/chclientrun_std.go:16 +0x84
github.com/hyperledger/fabric-sdk-go/pkg/client/channel.(*Client).Query(0x2ad26c0, 0x90539b, 0x6, 0x90ad90, 0x8, 0x2b86e90, 0x1, 0x1, 0x0, 0x0, ...)
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/client/channel/chclient.go:99 +0x100
github.com/hyperledger/fabric-sdk-go/pkg/gateway.(*Transaction).Evaluate(0x2b45638, 0x2e97e68, 0x1, 0x1, 0x0, 0x0, 0x2b45638, 0x0, 0x0)
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/gateway/transaction.go:94 +0x1dc
github.com/hyperledger/fabric-sdk-go/pkg/gateway.(*Contract).EvaluateTransaction(0x2af85b8, 0x90ad90, 0x8, 0x2e97e68, 0x1, 0x1, 0x0, 0x1c, 0x8ad3d0, 0x1d9a0, ...)
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/gateway/contract.go:54 +0x98
github.com/timoth-y/chainmetric-sensorsys/network/blockchain.(*AssetsContract).Receive(0x2963858, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2b20eec, 0x0, 0x0, ...)
/home/pi/sensorsys/network/blockchain/assets.go:33 +0xcc
github.com/timoth-y/chainmetric-sensorsys/drivers/device.(*Device).locateAssets(0x28de040, 0x0, 0x0)
/home/pi/sensorsys/drivers/device/cache.go:57 +0xd8
github.com/timoth-y/chainmetric-sensorsys/drivers/device.(*Device).CacheBlockchainState(0x28de040, 0x0, 0x0)
/home/pi/sensorsys/drivers/device/cache.go:37 +0x28
github.com/timoth-y/chainmetric-sensorsys/shared.MustExecute(0x2e97fd0, 0x94e549, 0x27)
/home/pi/sensorsys/shared/utils.go:22 +0x1c
main.startup()
/home/pi/sensorsys/main.go:74 +0x14c
created by main.main
/home/pi/sensorsys/main.go:55 +0x70
goroutine 74 [chan receive]:
github.com/hyperledger/fabric-sdk-go/pkg/fab/events/service/dispatcher.(*Dispatcher).Start.func1(0x2b06600)
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/fab/events/service/dispatcher/dispatcher.go:129 +0x98
created by github.com/hyperledger/fabric-sdk-go/pkg/fab/events/service/dispatcher.(*Dispatcher).Start
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/fab/events/service/dispatcher/dispatcher.go:122 +0xc0
goroutine 44 [chan receive]:
google.golang.org/grpc.(*addrConn).resetTransport(0x29fcf00)
/home/pi/sensorsys/vendor/google.golang.org/grpc/clientconn.go:1156 +0x470
created by google.golang.org/grpc.(*addrConn).connect
/home/pi/sensorsys/vendor/google.golang.org/grpc/clientconn.go:799 +0xa8
goroutine 50 [IO wait]:
internal/poll.runtime_pollWait(0xa59a2ae0, 0x72, 0xffffffff)
/usr/local/go/src/runtime/netpoll.go:222 +0x44
internal/poll.(*pollDesc).wait(0x289f914, 0x72, 0x5900, 0x599f, 0xffffffff)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x30
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0x289f900, 0x2a9e000, 0x599f, 0x599f, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:166 +0x1a4
net.(*netFD).Read(0x289f900, 0x2a9e000, 0x599f, 0x599f, 0x2a9e005, 0x97a004, 0x599a)
/usr/local/go/src/net/fd_posix.go:55 +0x38
net.(*conn).Read(0x28e2ea0, 0x2a9e000, 0x599f, 0x599f, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:183 +0x64
crypto/tls.(*atLeastReader).Read(0x2b86800, 0x2a9e000, 0x599f, 0x599f, 0x10, 0x2b86800, 0x292cfc0)
/usr/local/go/src/crypto/tls/conn.go:776 +0x78
bytes.(*Buffer).ReadFrom(0x29f156c, 0xa2f1d4, 0x2b86800, 0xe3, 0x1fc0ac, 0x823b60, 0x8e8e80)
/usr/local/go/src/bytes/buffer.go:204 +0xa4
crypto/tls.(*Conn).readFromUntil(0x29f1400, 0xa305ac, 0x28e2ea0, 0x5, 0x28e2ea0, 0xcd)
/usr/local/go/src/crypto/tls/conn.go:798 +0xc4
crypto/tls.(*Conn).readRecordOrCCS(0x29f1400, 0x0, 0x0, 0x168ec)
/usr/local/go/src/crypto/tls/conn.go:605 +0xfc
crypto/tls.(*Conn).readRecord(...)
/usr/local/go/src/crypto/tls/conn.go:573
crypto/tls.(*Conn).Read(0x29f1400, 0x298c000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
/usr/local/go/src/crypto/tls/conn.go:1276 +0x154
bufio.(*Reader).Read(0x295cb10, 0x289dc20, 0x9, 0x9, 0x567d74, 0x2b5a164, 0xffffffff)
/usr/local/go/src/bufio/bufio.go:227 +0x22c
io.ReadAtLeast(0xa2f0e4, 0x295cb10, 0x289dc20, 0x9, 0x9, 0x9, 0x561b3c, 0x2b5a164, 0x29c60f0)
/usr/local/go/src/io/io.go:328 +0x6c
io.ReadFull(...)
/usr/local/go/src/io/io.go:347
golang.org/x/net/http2.readFrameHeader(0x289dc20, 0x9, 0x9, 0xa2f0e4, 0x295cb10, 0x0, 0x0, 0x0, 0x289be01, 0x0)
/home/pi/sensorsys/vendor/golang.org/x/net/http2/frame.go:237 +0x54
golang.org/x/net/http2.(*Framer).ReadFrame(0x289dc00, 0x289bef0, 0x289bef0, 0x0, 0x0)
/home/pi/sensorsys/vendor/golang.org/x/net/http2/frame.go:492 +0x74
google.golang.org/grpc/internal/transport.(*http2Client).reader(0x29eb9e0)
/home/pi/sensorsys/vendor/google.golang.org/grpc/internal/transport/http2_client.go:1273 +0x10c
created by google.golang.org/grpc/internal/transport.newHTTP2Client
/home/pi/sensorsys/vendor/google.golang.org/grpc/internal/transport/http2_client.go:300 +0x9ac
goroutine 52 [select]:
github.com/hyperledger/fabric-sdk-go/pkg/fab/comm.(*CachingConnector).janitor(0x289efa0)
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/fab/comm/connector.go:309 +0x110
created by github.com/hyperledger/fabric-sdk-go/pkg/fab/comm.(*CachingConnector).ensureJanitorStarted
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/fab/comm/connector.go:284 +0xac
goroutine 51 [runnable]:
runtime.Gosched(...)
/usr/local/go/src/runtime/proc.go:292
google.golang.org/grpc/internal/transport.(*loopyWriter).run(0x295cba0, 0x0, 0x0)
/home/pi/sensorsys/vendor/google.golang.org/grpc/internal/transport/controlbuf.go:549 +0x18c
google.golang.org/grpc/internal/transport.newHTTP2Client.func3(0x29eb9e0)
/home/pi/sensorsys/vendor/google.golang.org/grpc/internal/transport/http2_client.go:346 +0x5c
created by google.golang.org/grpc/internal/transport.newHTTP2Client
/home/pi/sensorsys/vendor/google.golang.org/grpc/internal/transport/http2_client.go:344 +0xb9c
goroutine 54 [select]:
github.com/hyperledger/fabric-sdk-go/pkg/util/concurrent/lazyref.checkTimeStarted(0x2a59020, 0x0, 0x0)
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/util/concurrent/lazyref/lazyref.go:284 +0x110
created by github.com/hyperledger/fabric-sdk-go/pkg/util/concurrent/lazyref.(*Reference).ensureTimerStarted
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/util/concurrent/lazyref/lazyref.go:270 +0x98
goroutine 75 [select]:
google.golang.org/grpc.newClientStream.func5(0x29285a0, 0x2afed20, 0xa3a5fc, 0x2b44978)
/home/pi/sensorsys/vendor/google.golang.org/grpc/stream.go:318 +0x98
created by google.golang.org/grpc.newClientStream
/home/pi/sensorsys/vendor/google.golang.org/grpc/stream.go:317 +0xa7c
goroutine 67 [select]:
github.com/hyperledger/fabric-sdk-go/pkg/util/concurrent/lazyref.checkTimeStarted(0x2a596e0, 0x2a05f200, 0x1)
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/util/concurrent/lazyref/lazyref.go:284 +0x110
created by github.com/hyperledger/fabric-sdk-go/pkg/util/concurrent/lazyref.(*Reference).ensureTimerStarted
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/util/concurrent/lazyref/lazyref.go:270 +0x98
goroutine 77 [chan receive]:
github.com/hyperledger/fabric-sdk-go/pkg/fab/events/client.(*Client).monitorConnection(0x2b010a0)
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/fab/events/client/client.go:370 +0x7c
created by github.com/hyperledger/fabric-sdk-go/pkg/fab/events/client.(*Client).connect.func1
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/fab/events/client/client.go:234 +0xb8
goroutine 78 [select]:
github.com/hyperledger/fabric-sdk-go/pkg/util/concurrent/lazyref.checkTimeStarted(0x2a58fc0, 0xf08eb000, 0x1b)
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/util/concurrent/lazyref/lazyref.go:284 +0x110
created by github.com/hyperledger/fabric-sdk-go/pkg/util/concurrent/lazyref.(*Reference).ensureTimerStarted
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/util/concurrent/lazyref/lazyref.go:270 +0x98
goroutine 76 [select]:
google.golang.org/grpc/internal/transport.(*recvBufferReader).readClient(0x2b437a0, 0x2b41918, 0x5, 0x5, 0x84324, 0x2b5c090, 0x1)
/home/pi/sensorsys/vendor/google.golang.org/grpc/internal/transport/transport.go:186 +0x88
google.golang.org/grpc/internal/transport.(*recvBufferReader).Read(0x2b437a0, 0x2b41918, 0x5, 0x5, 0x2b5c090, 0x0, 0x2b5c090)
/home/pi/sensorsys/vendor/google.golang.org/grpc/internal/transport/transport.go:166 +0x18c
google.golang.org/grpc/internal/transport.(*transportReader).Read(0x2b449c0, 0x2b41918, 0x5, 0x5, 0x0, 0x83f01, 0x568d38)
/home/pi/sensorsys/vendor/google.golang.org/grpc/internal/transport/transport.go:479 +0x40
io.ReadAtLeast(0xa3041c, 0x2b449c0, 0x2b41918, 0x5, 0x5, 0x5, 0x0, 0x2826000, 0xf6fee4)
/usr/local/go/src/io/io.go:328 +0x6c
io.ReadFull(...)
/usr/local/go/src/io/io.go:347
google.golang.org/grpc/internal/transport.(*Stream).Read(0x2b305a0, 0x2b41918, 0x5, 0x5, 0x2b44f78, 0x29323c0, 0xbf)
/home/pi/sensorsys/vendor/google.golang.org/grpc/internal/transport/transport.go:463 +0x94
google.golang.org/grpc.(*parser).recvMsg(0x2b41910, 0x6400000, 0xed6610, 0x8ecfd0, 0x29c6048, 0x0, 0x0, 0x0)
/home/pi/sensorsys/vendor/google.golang.org/grpc/rpc_util.go:510 +0x3c
google.golang.org/grpc.recvAndDecompress(0x2b41910, 0x2b305a0, 0x0, 0x0, 0x6400000, 0x0, 0x0, 0x0, 0x29323c0, 0xbf, ...)
/home/pi/sensorsys/vendor/google.golang.org/grpc/rpc_util.go:641 +0x24
google.golang.org/grpc.recv(0x2b41910, 0xa59500f0, 0xf81e74, 0x2b305a0, 0x0, 0x0, 0x8dc660, 0x2b45518, 0x6400000, 0x0, ...)
/home/pi/sensorsys/vendor/google.golang.org/grpc/rpc_util.go:709 +0x54
google.golang.org/grpc.(*csAttempt).recvMsg(0x2addea0, 0x8dc660, 0x2b45518, 0x0, 0xffffffff, 0x0)
/home/pi/sensorsys/vendor/google.golang.org/grpc/stream.go:884 +0xb4
google.golang.org/grpc.(*clientStream).RecvMsg.func1(0x2addea0, 0xf82388, 0x1)
/home/pi/sensorsys/vendor/google.golang.org/grpc/stream.go:735 +0x34
google.golang.org/grpc.(*clientStream).withRetry(0x2afed20, 0x2977f70, 0x2977f58, 0xfff, 0xa59d9080)
/home/pi/sensorsys/vendor/google.golang.org/grpc/stream.go:589 +0x250
google.golang.org/grpc.(*clientStream).RecvMsg(0x2afed20, 0x8dc660, 0x2b45518, 0x845c01, 0x714a6c)
/home/pi/sensorsys/vendor/google.golang.org/grpc/stream.go:734 +0xcc
github.com/hyperledger/fabric-protos-go/peer.(*deliverDeliverFilteredClient).Recv(0x2b15f70, 0xa595dcf8, 0x2b15f70, 0x2b60698)
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-protos-go/peer/events.pb.go:568 +0x48
github.com/hyperledger/fabric-sdk-go/pkg/fab/events/deliverclient/connection.(*DeliverConnection).Receive(0x2b41920, 0x295b0c0)
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/fab/events/deliverclient/connection/connection.go:119 +0x5c
created by github.com/hyperledger/fabric-sdk-go/pkg/fab/events/client/dispatcher.(*Dispatcher).HandleConnectEvent
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/fab/events/client/dispatcher/dispatcher.go:139 +0x278
goroutine 70 [select]:
github.com/hyperledger/fabric-sdk-go/pkg/util/concurrent/lazyref.checkTimeStarted(0x2a595c0, 0x2a05f200, 0x1)
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/util/concurrent/lazyref/lazyref.go:284 +0x110
created by github.com/hyperledger/fabric-sdk-go/pkg/util/concurrent/lazyref.(*Reference).ensureTimerStarted
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/util/concurrent/lazyref/lazyref.go:270 +0x98
goroutine 79 [select]:
github.com/hyperledger/fabric-sdk-go/pkg/fab/events/client/dispatcher.(*Dispatcher).monitorPeer(0x2b01030, 0x2b51940)
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/fab/events/client/dispatcher/dispatcher.go:250 +0x154
created by github.com/hyperledger/fabric-sdk-go/pkg/fab/events/client/dispatcher.(*Dispatcher).HandleConnectedEvent
/home/pi/sensorsys/vendor/github.com/hyperledger/fabric-sdk-go/pkg/fab/events/client/dispatcher/dispatcher.go:191 +0x128
goroutine 80 [select]:
google.golang.org/grpc.(*ccBalancerWrapper).watcher(0x2b68120)
/home/pi/sensorsys/vendor/google.golang.org/grpc/balancer_conn_wrappers.go:69 +0x88
created by google.golang.org/grpc.newCCBalancerWrapper
/home/pi/sensorsys/vendor/google.golang.org/grpc/balancer_conn_wrappers.go:60 +0x108
goroutine 81 [chan receive]:
google.golang.org/grpc.(*addrConn).resetTransport(0x2af1980)
/home/pi/sensorsys/vendor/google.golang.org/grpc/clientconn.go:1156 +0x470
created by google.golang.org/grpc.(*addrConn).connect
/home/pi/sensorsys/vendor/google.golang.org/grpc/clientconn.go:799 +0xa8
goroutine 87 [IO wait]:
internal/poll.runtime_pollWait(0xa59a2a48, 0x72, 0xffffffff)
/usr/local/go/src/runtime/netpoll.go:222 +0x44
internal/poll.(*pollDesc).wait(0x2b62744, 0x72, 0x800, 0x800, 0xffffffff)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x30
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0x2b62730, 0x2b84000, 0x800, 0x800, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:166 +0x1a4
net.(*netFD).Read(0x2b62730, 0x2b84000, 0x800, 0x800, 0x2b84005, 0x97a004, 0x7fb)
/usr/local/go/src/net/fd_posix.go:55 +0x38
net.(*conn).Read(0x2b603b0, 0x2b84000, 0x800, 0x800, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:183 +0x64
crypto/tls.(*atLeastReader).Read(0x2b867d0, 0x2b84000, 0x800, 0x800, 0x10, 0x2b867d0, 0x292cfc0)
/usr/local/go/src/crypto/tls/conn.go:776 +0x78
bytes.(*Buffer).ReadFrom(0x2b0e36c, 0xa2f1d4, 0x2b867d0, 0x27, 0x1fc0ac, 0x823b60, 0x8e8e80)
/usr/local/go/src/bytes/buffer.go:204 +0xa4
crypto/tls.(*Conn).readFromUntil(0x2b0e200, 0xa305ac, 0x2b603b0, 0x5, 0x2b603b0, 0x11)
/usr/local/go/src/crypto/tls/conn.go:798 +0xc4
crypto/tls.(*Conn).readRecordOrCCS(0x2b0e200, 0x0, 0x0, 0x10601)
/usr/local/go/src/crypto/tls/conn.go:605 +0xfc
crypto/tls.(*Conn).readRecord(...)
/usr/local/go/src/crypto/tls/conn.go:573
crypto/tls.(*Conn).Read(0x2b0e200, 0x2b94000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
/usr/local/go/src/crypto/tls/conn.go:1276 +0x154
bufio.(*Reader).Read(0x2b92000, 0x2b068a0, 0x9, 0x9, 0x0, 0x811080a3, 0x121e4)
/usr/local/go/src/bufio/bufio.go:227 +0x22c
io.ReadAtLeast(0xa2f0e4, 0x2b92000, 0x2b068a0, 0x9, 0x9, 0x9, 0x562430, 0x2b62974, 0x0)
/usr/local/go/src/io/io.go:328 +0x6c
io.ReadFull(...)
/usr/local/go/src/io/io.go:347
golang.org/x/net/http2.readFrameHeader(0x2b068a0, 0x9, 0x9, 0xa2f0e4, 0x2b92000, 0x0, 0x0, 0x0, 0x3925320b, 0x3fa21e30)
/home/pi/sensorsys/vendor/golang.org/x/net/http2/frame.go:237 +0x54
golang.org/x/net/http2.(*Framer).ReadFrame(0x2b06880, 0x2b5c6a8, 0x2b5c6a8, 0x0, 0x0)
/home/pi/sensorsys/vendor/golang.org/x/net/http2/frame.go:492 +0x74
google.golang.org/grpc/internal/transport.(*http2Client).reader(0x28a06c0)
/home/pi/sensorsys/vendor/google.golang.org/grpc/internal/transport/http2_client.go:1273 +0x10c
created by google.golang.org/grpc/internal/transport.newHTTP2Client
/home/pi/sensorsys/vendor/google.golang.org/grpc/internal/transport/http2_client.go:300 +0x9ac
goroutine 92 [semacquire]:
sync.runtime_Semacquire(0x2bb80e8)
/usr/local/go/src/runtime/sema.go:56 +0x34
sync.(*WaitGroup).Wait(0x2bb80e0)
/usr/local/go/src/sync/waitgroup.go:130 +0x84
github.com/timoth-y/chainmetric-sensorsys/drivers/periphery.ScanI2C(0x2b5efe0, 0xc, 0x10, 0x979660, 0xa2f2c4)
/home/pi/sensorsys/drivers/periphery/detect.go:68 +0x1bc
github.com/timoth-y/chainmetric-sensorsys/drivers/device.(*Device).handleHotswap(0x28de040, 0xc01d9bae, 0x75ee774f)
/home/pi/sensorsys/drivers/device/hotswap.go:58 +0x74
github.com/timoth-y/chainmetric-sensorsys/drivers/device.(*Device).initHotswap.func1.1(0x2b45560, 0x28de040, 0xb2d05e00, 0x0)
/home/pi/sensorsys/drivers/device/hotswap.go:35 +0x3c
created by github.com/timoth-y/chainmetric-sensorsys/drivers/device.(*Device).initHotswap.func1
/home/pi/sensorsys/drivers/device/hotswap.go:31 +0x84
goroutine 88 [select]:
google.golang.org/grpc/internal/transport.(*controlBuffer).get(0x2b92060, 0x1, 0x0, 0x0, 0x0, 0x0)
/home/pi/sensorsys/vendor/google.golang.org/grpc/internal/transport/controlbuf.go:395 +0xc0
google.golang.org/grpc/internal/transport.(*loopyWriter).run(0x2b92090, 0x0, 0x0)
/home/pi/sensorsys/vendor/google.golang.org/grpc/internal/transport/controlbuf.go:513 +0x1bc
google.golang.org/grpc/internal/transport.newHTTP2Client.func3(0x28a06c0)
/home/pi/sensorsys/vendor/google.golang.org/grpc/internal/transport/http2_client.go:346 +0x5c
created by google.golang.org/grpc/internal/transport.newHTTP2Client
/home/pi/sensorsys/vendor/google.golang.org/grpc/internal/transport/http2_client.go:344 +0xb9c
goroutine 94 [runnable]:
github.com/timoth-y/chainmetric-sensorsys/drivers/periphery.ScanI2C.func1(0x2bb80e0, 0x2b5ad80, 0x2b5efe0, 0xc, 0x10, 0x979660, 0xa3a5dc, 0x29faa40, 0x2b5ae80)
/home/pi/sensorsys/drivers/periphery/detect.go:38
created by github.com/timoth-y/chainmetric-sensorsys/drivers/periphery.ScanI2C
/home/pi/sensorsys/drivers/periphery/detect.go:38 +0x19c
goroutine 95 [runnable]:
github.com/timoth-y/chainmetric-sensorsys/drivers/periphery.ScanI2C.func1(0x2bb80e0, 0x2b5ad80, 0x2b5efe0, 0xc, 0x10, 0x979660, 0xa3a5dc, 0x29faac0, 0x2b5aea0)
/home/pi/sensorsys/drivers/periphery/detect.go:38
created by github.com/timoth-y/chainmetric-sensorsys/drivers/periphery.ScanI2C
/home/pi/sensorsys/drivers/periphery/detect.go:38 +0x19c
goroutine 96 [runnable]:
github.com/timoth-y/chainmetric-sensorsys/drivers/periphery.ScanI2C.func1(0x2bb80e0, 0x2b5ad80, 0x2b5efe0, 0xc, 0x10, 0x979660, 0xa3a5dc, 0x29fab40, 0x2b5aec0)
/home/pi/sensorsys/drivers/periphery/detect.go:47 +0xc8
created by github.com/timoth-y/chainmetric-sensorsys/drivers/periphery.ScanI2C
/home/pi/sensorsys/drivers/periphery/detect.go:38 +0x19c
make: *** [Makefile:24: run] Error 2
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.