Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Leaking goroutines when adding massive amount of files #2823

Closed
magik6k opened this issue Jun 7, 2016 · 33 comments
Closed

Leaking goroutines when adding massive amount of files #2823

magik6k opened this issue Jun 7, 2016 · 33 comments
Labels
kind/bug A bug in existing code (including security flaws) topic/perf Performance

Comments

@magik6k
Copy link
Member

magik6k commented Jun 7, 2016

When adding some 1000 000's of files (~10/s), I noticed that memory usage increases. This is using branch fix/mfs-caching(PR #2795).

@Kubuxu
Copy link
Member

Kubuxu commented Jun 9, 2016

I think it is goroutine leak, there are over 9000 goroutines.

Goroutines heatlist:

   2027 sync.runtime_Semacquire(
   1474 gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Stream).Read(
    817 gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).waitForSendErr(
    711 gx/ipfs/QmX6DhWrpBB5NtadXmPSXYNdVvuLfJXoFNMvUMoVvP5UJa/go-context/io.(*ctxReader).Read(
    609 gx/ipfs/QmX6DhWrpBB5NtadXmPSXYNdVvuLfJXoFNMvUMoVvP5UJa/go-context/io.(*ctxWriter).Write(
    513 github.com/ipfs/go-ipfs/routing/dht.(*IpfsDHT).Provide(
    509 gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess/context.CloseAfterContext.func1(
    508 github.com/ipfs/go-ipfs/routing/dht.(*dhtQueryRunner).Run(
    503 gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context.propagateCancel.func1(
    500 gx/ipfs/QmZ62t46e9p7vMYqCmptwQC1RhRv5cpQ5cwoqYspedaXyq/go-libp2p-peerstore/queue.(*ChanQueue).process.func1(
    499 github.com/ipfs/go-ipfs/routing/dht.(*dhtQueryRunner).spawnWorkers(
     91 github.com/ipfs/go-ipfs/exchange/bitswap.(*msgQueue).runQueue(
     90 gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).AcceptStream(
     87 gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).keepalive(
     64 gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Swarm).setupStream.func1(
     57 github.com/ipfs/go-ipfs/routing/dht.(*IpfsDHT).Provide.func1(
     52 net.runtime_pollWait(
     51 gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).send(
     46 gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess.(*processLink).AddToChild(
     45 gx/ipfs/Qmf91yhgRLo2dhhbc5zZ7TxjMaR1oxaWaoc9zRZdi1kU4a/go-multistream.(*lazyConn).readHandshake(
     43 gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Swarm).removeStream.func1(
     30 gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess.(*process).doClose.func1(
     28 gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess.(*process).doClose(
     13 gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess.(*process).Close(
      8 sync.runtime_Syncsemacquire(
      8 github.com/ipfs/go-ipfs/exchange/bitswap.(*Bitswap).taskWorker(
      7 gx/ipfs/Qmf91yhgRLo2dhhbc5zZ7TxjMaR1oxaWaoc9zRZdi1kU4a/go-multistream.(*lazyConn).writeHandshake(
      7 gx/ipfs/QmaxuoSyFFzKgrujaburn4j3MQWFQu8ASqVSwrMER6Mk9L/utp.(*Socket).DialTimeout(
      3 github.com/ipfs/go-ipfs/routing/dht.(*IpfsDHT).GetClosestPeers.func2(
      2 main.merge.func1(
      2 gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).Ping(
      2 gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess.(*process).Go.func1(
      2 gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess/periodic.callOnTicker.func1(
      2 gx/ipfs/QmQgQeBQxQmJdeUSaDagc8cr2ompDwGn13Cybjdtzfuaki/go-libp2p/p2p/net/swarm.(*Swarm).addConnListener.func2(
      2 gx/ipfs/QmQgQeBQxQmJdeUSaDagc8cr2ompDwGn13Cybjdtzfuaki/go-libp2p/p2p/net/conn.(*listener).Accept(
      2 gx/ipfs/QmdhsRK1EK2fvAz2i2SH5DEfkL6seDuyMYEsxKa9Braim3/client_golang/prometheus.computeApproximateRequestSize(
      2 github.com/ipfs/go-ipfs/routing/dht.(*dhtQueryRunner).queryPeer(
      2 github.com/ipfs/go-ipfs/core/corehttp.Serve(
      1 syscall.Syscall(
      1 sync.(*Mutex).Lock(
      1 runtime/pprof.writeGoroutineStacks(
      1 runtime.gopark(
      1 runtime.goexit(
      1 os/signal.signal_recv(
      1 main.(*IntrHandler).Handle.func1(
      1 main.daemonFunc.func1(
      1 main.daemonFunc(
      1 gx/ipfs/QmSscYPCcE1H3UQr2tnsJ2a9dK9LsHTBGgP71VW6fz67e5/mdns.(*client).query(
      1 gx/ipfs/QmSHTSkxXGQgaHWz91oZV3CDy3hmKmDgpjbYRT6niACG4E/go-smux-yamux.(*conn).IsClosed(
      1 gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess.(*process).CloseAfterChildren(
      1 gx/ipfs/QmQgQeBQxQmJdeUSaDagc8cr2ompDwGn13Cybjdtzfuaki/go-libp2p/p2p/discovery.(*mdnsService).pollForEntries.func1(
      1 gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics.(*meterArbiter).tick(
      1 gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Swarm).connGarbageCollect(
      1 gx/ipfs/Qmazh5oNUVsDZTs2g59rq8aYQqwpss8tcUWQzor5sCCEuH/go-log.(*MirrorWriter).logRoutine(
      1 gx/ipfs/QmaDNZ4QMdBdku1YZWBysufYyoQt1negQGNav6PLYarbY8/go-log.(*MirrorWriter).logRoutine(
      1 github.com/ipfs/go-ipfs/routing/dht.(*ProviderManager).run(
      1 github.com/ipfs/go-ipfs/routing/dht.(*IpfsDHT).Bootstrap.func1(
      1 github.com/ipfs/go-ipfs/namesys/republisher.(*Republisher).Run(
      1 github.com/ipfs/go-ipfs/mfs.(*Republisher).Run(
      1 github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb/util.(*BufferPool).drain(
      1 github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb.(*DB).tCompaction(
      1 github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb.(*DB).mpoolDrain(
      1 github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb.(*DB).mCompaction(
      1 github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb.(*DB).jWriter(
      1 github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb.(*DB).compactionError(
      1 github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/ipfs/go-datastore/query.ResultsWithChan.func1(
      1 github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/ipfs/go-datastore/namespace.(*datastore).Query.func1(
      1 github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/ipfs/go-datastore/keytransform.(*ktds).Query.func1(
      1 github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/ipfs/go-datastore/flatfs.(*Datastore).Query.func1.1(
      1 github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/codahale/metrics.init.1.func2(
      1 github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/briantigerchow/pubsub.(*PubSub).start(
      1 github.com/ipfs/go-ipfs/exchange/bitswap.(*WantManager).Run(
      1 github.com/ipfs/go-ipfs/exchange/bitswap.New.func2(
      1 github.com/ipfs/go-ipfs/exchange/bitswap/decision.(*Engine).nextEnvelope(
      1 github.com/ipfs/go-ipfs/exchange/bitswap.(*Bitswap).rebroadcastWorker(
      1 github.com/ipfs/go-ipfs/exchange/bitswap.(*Bitswap).provideWorker(
      1 github.com/ipfs/go-ipfs/exchange/bitswap.(*Bitswap).providerQueryManager(
      1 github.com/ipfs/go-ipfs/exchange/bitswap.(*Bitswap).provideCollector(
      1 github.com/ipfs/go-ipfs/commands/http.internalHandler.ServeHTTP.func2(
      1 github.com/ipfs/go-ipfs/commands.(*ChannelMarshaler).Read(
      1 github.com/ipfs/go-ipfs/blocks/blockstore.(*blockstore).AllKeysChan.func2(

I will report more findings later.

@Kubuxu
Copy link
Member

Kubuxu commented Jun 9, 2016

Most popular full goroutines stacks:
https://gist.github.com/Kubuxu/42f39ea9b4a9fc06887bdae5e973e85f

@Kubuxu Kubuxu added kind/bug A bug in existing code (including security flaws) topic/perf Performance labels Jun 9, 2016
@Kubuxu Kubuxu changed the title Leaking memory when adding massive amount of files Leaking goroutines when adding massive amount of files Jun 11, 2016
@Kubuxu
Copy link
Member

Kubuxu commented Jun 12, 2016

So from my analysis: everything is bound to this context so it should finish inside 15s, for some reason it doesn't.

@Kubuxu
Copy link
Member

Kubuxu commented Jun 12, 2016

@whyrusleeping could you take a look at it. I am not best at debugging those leaks, yet.

@whyrusleeping
Copy link
Member

whyrusleeping commented Jun 12, 2016

@Kubuxu sure thing.

EDIT: sorry, didnt read the original comment thoroughly enough.

@whyrusleeping
Copy link
Member

I was actually just investigating this same exact issue on biham (our storage node) yesterday. I made a few small changes to the dht code which should help a little #2841

The issue here is that providing to the dht is expensive (relatively speaking) and we havent yet optimized the process to be smarter about batching outgoing provides.

The above PR isnt going to 'solve' the problem, but it will help reduce the memory usage and number of active goroutines during these scenarios.

@Kubuxu
Copy link
Member

Kubuxu commented Jun 12, 2016

But it looks like those goroutines are stuck (there is over 9000 of them), not only "working", some of them are waiting on channels and reads for tenths of minutes which shouldn't happen.

DHT providing is very expensive, @magik6k reported terabytes of transfer while adding 21GB.

@whyrusleeping
Copy link
Member

ouch... thats way too much... I'll keep debugging this, I had a PR a while ago that batched together provides requests and saved a huge amount of bandwidth, but the math wasnt quite right and we got distracted on other efforts. I'll work on reviving that

@Kubuxu
Copy link
Member

Kubuxu commented Jun 12, 2016

Let's move discussion about bandwidth to #2828

This is about memory/goroutine leak during adding files.

@parkan
Copy link

parkan commented Aug 19, 2016

We seem to be hitting this situation too, how can I pull a heatlist like in #2823 (comment) ?

@Kubuxu
Copy link
Member

Kubuxu commented Aug 19, 2016

grep -e '^goroutine' ipfs.stacks -A1 | grep -v '^goroutine' | grep -v -- '--' | sort| sed 's/[^\(]*$//' | uniq -c | sort -bg | tac where ipfs.stacks is from: https://github.com/ipfs/go-ipfs/blob/master/docs/debug-guide.md#beginning

@whyrusleeping
Copy link
Member

alternatively:

go get github.com/whyrusleeping/stackparse
stackparse --summary ipfs.stacks

@hobofan
Copy link

hobofan commented Aug 28, 2016

If you need another one here is one after adding ~300k new files (+1million that it didn't have to publish to the network):

    811 sync.runtime_Semacquire(
    537 gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Stream).Read(
    273 net.runtime_pollWait(
    237 gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).send(
    236 gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).keepalive(
    236 github.com/ipfs/go-ipfs/exchange/bitswap.(*msgQueue).runQueue(
    234 gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).AcceptStream(
    213 github.com/ipfs/go-ipfs/routing/dht.(*IpfsDHT).Provide(
    213 github.com/ipfs/go-ipfs/routing/dht.(*dhtQueryRunner).Run(
    191 gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess/context.CloseAfterContext.func1(
    184 gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context.propagateCancel.func1(
    184 gx/ipfs/QmSZi9ygLohBUGyHMqE5N6eToPwqcg7bZQTULeVLFu7Q6d/go-libp2p-peerstore/queue.(*ChanQueue).process.func1(
    184 github.com/ipfs/go-ipfs/routing/dht.(*dhtQueryRunner).spawnWorkers(
     94 gx/ipfs/QmX6DhWrpBB5NtadXmPSXYNdVvuLfJXoFNMvUMoVvP5UJa/go-context/io.(*ctxReader).Read(
     91 gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess.(*process).doClose(
     39 github.com/ipfs/go-ipfs/routing/dht.(*messageSender).ctxReadMsg(
     29 gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess.(*process).Close(
      8 syscall.Syscall6(
      8 gx/ipfs/Qmf4ETeAWXuThBfWwonVyFqGFSgTWepUDEr1txcctvpTXS/go-libp2p/p2p/net/conn.(*Dialer).Dial(
      8 github.com/ipfs/go-ipfs/exchange/bitswap.(*Bitswap).taskWorker(
      7 gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Stream).write(
      7 gx/ipfs/QmX6DhWrpBB5NtadXmPSXYNdVvuLfJXoFNMvUMoVvP5UJa/go-context/io.(*ctxWriter).Write(
      2 main.merge.func1(
      2 gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess/periodic.callOnTicker.func1(
      2 gx/ipfs/Qmf4ETeAWXuThBfWwonVyFqGFSgTWepUDEr1txcctvpTXS/go-libp2p/p2p/net/swarm.(*Swarm).addConnListener.func2(
      2 gx/ipfs/Qmf4ETeAWXuThBfWwonVyFqGFSgTWepUDEr1txcctvpTXS/go-libp2p/p2p/net/conn.(*listener).Accept(
      2 gx/ipfs/QmdhsRK1EK2fvAz2i2SH5DEfkL6seDuyMYEsxKa9Braim3/client_golang/prometheus.computeApproximateRequestSize(
      2 github.com/ipfs/go-ipfs/core/corehttp.Serve(
      1 syscall.Syscall(
      1 runtime/pprof.writeGoroutineStacks(
      1 runtime.gopark(
      1 runtime.goexit(
      1 os/signal.signal_recv(
      1 net.(*netFD).connect.func2(
      1 main.(*IntrHandler).Handle.func1(
      1 main.daemonFunc.func1(
      1 main.daemonFunc(
      1 gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).Ping(
      1 gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).IsClosed(
      1 gx/ipfs/QmV3NSS3A1kX5s28r7yLczhDsXzkgo65cqRgKFXYunWZmD/metrics.init.1.func2(
      1 gx/ipfs/QmSZi9ygLohBUGyHMqE5N6eToPwqcg7bZQTULeVLFu7Q6d/go-libp2p-peerstore.(*AddrManager).AddAddrs(
      1 gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log.(*MirrorWriter).logRoutine(
      1 gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess.(*process).CloseAfterChildren(
      1 gx/ipfs/QmNgqJarToRiq2GBaPJhkmW4B5BxS5B74E1rkGvv2JoaTp/go-datastore/query.ResultsWithChan.func1(
      1 gx/ipfs/QmNgqJarToRiq2GBaPJhkmW4B5BxS5B74E1rkGvv2JoaTp/go-datastore/namespace.(*datastore).Query.func1(
      1 gx/ipfs/QmNgqJarToRiq2GBaPJhkmW4B5BxS5B74E1rkGvv2JoaTp/go-datastore/keytransform.(*ktds).Query.func1(
      1 gx/ipfs/QmNgqJarToRiq2GBaPJhkmW4B5BxS5B74E1rkGvv2JoaTp/go-datastore/flatfs.(*Datastore).Query.func1.1(
      1 gx/ipfs/Qmf4ETeAWXuThBfWwonVyFqGFSgTWepUDEr1txcctvpTXS/go-libp2p/p2p/net/swarm.(*Swarm).dialAddrs(
      1 gx/ipfs/Qmf4ETeAWXuThBfWwonVyFqGFSgTWepUDEr1txcctvpTXS/go-libp2p/p2p/discovery.(*mdnsService).pollForEntries(
      1 gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics.(*meterArbiter).tick(
      1 gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Swarm).connGarbageCollect(
      1 gx/ipfs/QmbBhyDKsY4mbY6xsKt3qu9Y7FPvMJ6qbD8AMjYYvPRw1g/goleveldb/leveldb/util.(*BufferPool).drain(
      1 gx/ipfs/QmbBhyDKsY4mbY6xsKt3qu9Y7FPvMJ6qbD8AMjYYvPRw1g/goleveldb/leveldb.(*DB).tCompaction(
      1 gx/ipfs/QmbBhyDKsY4mbY6xsKt3qu9Y7FPvMJ6qbD8AMjYYvPRw1g/goleveldb/leveldb.(*DB).mpoolDrain(
      1 gx/ipfs/QmbBhyDKsY4mbY6xsKt3qu9Y7FPvMJ6qbD8AMjYYvPRw1g/goleveldb/leveldb.(*DB).mCompaction(
      1 gx/ipfs/QmbBhyDKsY4mbY6xsKt3qu9Y7FPvMJ6qbD8AMjYYvPRw1g/goleveldb/leveldb.(*DB).jWriter(
      1 gx/ipfs/QmbBhyDKsY4mbY6xsKt3qu9Y7FPvMJ6qbD8AMjYYvPRw1g/goleveldb/leveldb.(*DB).compactionError(
      1 github.com/ipfs/go-ipfs/routing/dht/providers.(*ProviderManager).run(
      1 github.com/ipfs/go-ipfs/routing/dht.(*IpfsDHT).Bootstrap.func1(
      1 github.com/ipfs/go-ipfs/namesys/republisher.(*Republisher).Run(
      1 github.com/ipfs/go-ipfs/mfs.(*Republisher).Run(
      1 github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/briantigerchow/pubsub.(*PubSub).start(
      1 github.com/ipfs/go-ipfs/exchange/bitswap.(*WantManager).Run(
      1 github.com/ipfs/go-ipfs/exchange/bitswap.New.func2(
      1 github.com/ipfs/go-ipfs/exchange/bitswap/decision.(*Engine).nextEnvelope(
      1 github.com/ipfs/go-ipfs/exchange/bitswap.(*Bitswap).rebroadcastWorker(
      1 github.com/ipfs/go-ipfs/exchange/bitswap.(*Bitswap).provideWorker(
      1 github.com/ipfs/go-ipfs/exchange/bitswap.(*Bitswap).providerQueryManager(
      1 github.com/ipfs/go-ipfs/exchange/bitswap.(*Bitswap).provideCollector(
      1 github.com/ipfs/go-ipfs/commands/http.internalHandler.ServeHTTP.func2(
      1 github.com/ipfs/go-ipfs/commands.(*ChannelMarshaler).Read(
      1 github.com/ipfs/go-ipfs/blocks/blockstore.(*blockstore).AllKeysChan.func2(
      1 crypto/hmac.(*hmac).Write(

The add process crashed a few times before that with a Error: Context arborted message. I haven't logged the memory usage the first times, but looking at it right now, it doesn't seem to be rising significantly.

Looking at it right now, it seems unlikely that the process died because it ran out of memory (negligable growth in 1hour and 30GB memory free), but I know little about the specialties of golang.

@Kubuxu
Copy link
Member

Kubuxu commented Aug 28, 2016

Which version of IPFS are you using, it was a known bug in 0.4.3.

@hobofan
Copy link

hobofan commented Aug 28, 2016

master from about a day ago

@Kubuxu
Copy link
Member

Kubuxu commented Aug 28, 2016

Ok, thanks, can you also send the whole gorutine dump?

@hobofan
Copy link

hobofan commented Aug 28, 2016

https://ipfs.io/ipfs/QmdJwjmpWqVYfnBUsxzGv3LgYyefDzhmXrcE4ysihy4ET3

This is a different newer one, but it's still from the same process.

@hobofan
Copy link

hobofan commented Aug 28, 2016

Wait, that are the goroutines of the server, right? Shouldn't I dump the ones of the add process, since that's the one dying? How would I go about doing that?

@Kubuxu
Copy link
Member

Kubuxu commented Aug 28, 2016

Is the daemon running after add died?

@hobofan
Copy link

hobofan commented Aug 28, 2016

Yes, and I was able to start another add after that without problem (within bounds of that bug).

@Kubuxu
Copy link
Member

Kubuxu commented Aug 28, 2016

Is there any message when the ipfs add dies?
You can create dump goroutine dump to the stdout using ctrl-\, it would be best to pipe the output to file as otherwise it will overflow the terminal buffer.

@hobofan
Copy link

hobofan commented Sep 11, 2016

Surprisingly after dying one more time the same day, the add has been running for 14 days straight now, adding ~16million files.

@whyrusleeping
Copy link
Member

@hobofan thats an awfully long time... Is it still making progress?

@hobofan
Copy link

hobofan commented Sep 11, 2016

@whyrusleeping Yes, still at it, I think the original estimate was 17 days, and it currently says it will finish in ~1d15h.

@whyrusleeping
Copy link
Member

@hobofan Haha, well thanks for sticking with it. Let me know when it completes, getting a full stack dumb of the daemon after its done will be helpful i think

@whyrusleeping whyrusleeping added the status/deferred Conscious decision to pause or backlog label Sep 14, 2016
@hobofan
Copy link

hobofan commented Sep 15, 2016

@matthewrobertbell
Copy link

matthewrobertbell commented Sep 23, 2016

Also getting this using the files API (0.4.3 64 bit linux official binary):

root@ipfs:~# grep -e '^goroutine' ipfs.stacks -A1 | grep -v '^goroutine' | grep -v -- '--' | sort| sed 's/[^\(]*$//' | uniq -c | sort -bg | tac
   3341 sync.runtime_Semacquire(
    491 github.com/ipfs/go-ipfs/routing/dht.(*IpfsDHT).Provide(
    491 github.com/ipfs/go-ipfs/routing/dht.(*dhtQueryRunner).Run(
    406 gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess/context.CloseAfterContext.func1(
    399 gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context.propagateCancel.func1(
    399 gx/ipfs/QmQdnfvZQuhdT93LNc5bos52wAmdr3G2p6G8teLJMEN32P/go-libp2p-peerstore/queue.(*ChanQueue).process.func1(
    399 github.com/ipfs/go-ipfs/routing/dht.(*dhtQueryRunner).spawnWorkers(
    372 gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess.(*process).doClose(
    300 gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Stream).Read(
    255 net.runtime_pollWait(
    248 gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).AcceptStream(
    247 gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).keepalive(
    247 github.com/ipfs/go-ipfs/exchange/bitswap.(*msgQueue).runQueue(
    245 gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).send(
    106 gx/ipfs/QmX6DhWrpBB5NtadXmPSXYNdVvuLfJXoFNMvUMoVvP5UJa/go-context/io.(*ctxReader).Read(
     92 gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess.(*process).Close(
     67 github.com/ipfs/go-ipfs/routing/dht.(*messageSender).ctxReadMsg(
      8 github.com/ipfs/go-ipfs/exchange/bitswap.(*Bitswap).taskWorker(
      4 syscall.Syscall(
      4 gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Swarm).removeStream.func1(
      3 gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).waitForSendErr(
      2 main.merge.func1(
      2 gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/swarm.(*Swarm).addConnListener.func2(
      2 gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*listener).Accept(
      2 gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess.(*process).doClose.func1(
      2 gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess/periodic.callOnTicker.func1(
      2 gx/ipfs/QmdhsRK1EK2fvAz2i2SH5DEfkL6seDuyMYEsxKa9Braim3/client_golang/prometheus.computeApproximateRequestSize(
      2 github.com/ipfs/go-ipfs/mfs.(*Republisher).Run(
      2 github.com/ipfs/go-ipfs/core/corehttp.Serve(
      1 sync.(*Mutex).Unlock(
      1 runtime/pprof.writeGoroutineStacks(
      1 runtime.gopark(
      1 runtime.goexit(
      1 os/signal.signal_recv(
      1 main.(*IntrHandler).Handle.func1(
      1 main.daemonFunc.func1(
      1 main.daemonFunc(
      1 gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Stream).write(
      1 gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).Ping(
      1 gx/ipfs/QmX6DhWrpBB5NtadXmPSXYNdVvuLfJXoFNMvUMoVvP5UJa/go-context/io.(*ctxWriter).Write(
      1 gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/discovery.(*mdnsService).pollForEntries(
      1 gx/ipfs/QmV3NSS3A1kX5s28r7yLczhDsXzkgo65cqRgKFXYunWZmD/metrics.init.1.func2(
      1 gx/ipfs/QmQdnfvZQuhdT93LNc5bos52wAmdr3G2p6G8teLJMEN32P/go-libp2p-peerstore.(*AddrManager).AddAddrs(
      1 gx/ipfs/QmNQynaz7qfriSUJkiEZUrm2Wen1u3Kj9goZzWtrPyu7XR/go-log.(*MirrorWriter).logRoutine(
      1 gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics.(*meterArbiter).tick(
      1 gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Swarm).connGarbageCollect(
      1 gx/ipfs/QmbBhyDKsY4mbY6xsKt3qu9Y7FPvMJ6qbD8AMjYYvPRw1g/goleveldb/leveldb/util.(*BufferPool).drain(
      1 gx/ipfs/QmbBhyDKsY4mbY6xsKt3qu9Y7FPvMJ6qbD8AMjYYvPRw1g/goleveldb/leveldb.(*DB).tCompaction(
      1 gx/ipfs/QmbBhyDKsY4mbY6xsKt3qu9Y7FPvMJ6qbD8AMjYYvPRw1g/goleveldb/leveldb.(*DB).mpoolDrain(
      1 gx/ipfs/QmbBhyDKsY4mbY6xsKt3qu9Y7FPvMJ6qbD8AMjYYvPRw1g/goleveldb/leveldb.(*DB).mCompaction(
      1 gx/ipfs/QmbBhyDKsY4mbY6xsKt3qu9Y7FPvMJ6qbD8AMjYYvPRw1g/goleveldb/leveldb.(*DB).jWriter(
      1 gx/ipfs/QmbBhyDKsY4mbY6xsKt3qu9Y7FPvMJ6qbD8AMjYYvPRw1g/goleveldb/leveldb.(*DB).compactionError(
      1 github.com/ipfs/go-ipfs/routing/dht/providers.(*ProviderManager).run(
      1 github.com/ipfs/go-ipfs/routing/dht.(*IpfsDHT).Bootstrap.func1(
      1 github.com/ipfs/go-ipfs/namesys/republisher.(*Republisher).Run(
      1 github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/briantigerchow/pubsub.(*PubSub).start(
      1 github.com/ipfs/go-ipfs/exchange/reprovide.(*Reprovider).ProvideEvery(
      1 github.com/ipfs/go-ipfs/exchange/bitswap.(*WantManager).Run(
      1 github.com/ipfs/go-ipfs/exchange/bitswap.New.func2(
      1 github.com/ipfs/go-ipfs/exchange/bitswap/decision.(*Engine).nextEnvelope(
      1 github.com/ipfs/go-ipfs/exchange/bitswap.(*Bitswap).rebroadcastWorker(
      1 github.com/ipfs/go-ipfs/exchange/bitswap.(*Bitswap).provideWorker(
      1 github.com/ipfs/go-ipfs/exchange/bitswap.(*Bitswap).providerQueryManager(
      1 github.com/ipfs/go-ipfs/exchange/bitswap.(*Bitswap).provideCollector(
      1 github.com/ipfs/go-ipfs/diagnostics.(*Diagnostics).getDiagnosticFromPeers.func1(
      1 github.com/ipfs/go-ipfs/commands/http.internalHandler.ServeHTTP.func2(

@Kubuxu
Copy link
Member

Kubuxu commented Sep 23, 2016

@mattseh I've added a code block around it, can you send us whole stack dump using github gist?

@brainstorm
Copy link

brainstorm commented Dec 14, 2016

Running into similar issues, but just barely 15 relatively small files in a Linux AWS 2GB RAM instance. The ipfs-go docker container dies after a few days running:

aca6751adee1        ipfs/go-ipfs:release   "/usr/local/bin/start"   13 days ago         Exited (2) 5 days ago                          ipfs

Here's the traceback:

goroutine 460578336 [semacquire, 5 minutes]:
sync.runtime_Semacquire(0xc42033e684)
	/usr/lib/go/src/runtime/sema.go:47 +0x32
sync.(*Mutex).Lock(0xc42033e680)
	/usr/lib/go/src/sync/mutex.go:85 +0xd2
sync.(*RWMutex).Lock(0xc42033e680)
	/usr/lib/go/src/sync/rwmutex.go:86 +0x33
gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics.(*StandardMeter).Mark(0xc42033e680, 0x4)
	/go/src/gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics/meter.go:152 +0x33
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics.(*BandwidthCounter).LogRecvMessage(0xc420046e80, 0x4)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/bw_stats.go:39 +0x40
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics.(Reporter).LogRecvMessage-fm(0x4)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn/conn.go:16 +0x3b
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn.(*MeteredConn).Read(0xc46bc6bd60, 0xc4647397b8, 0x4, 0x4, 0xc, 0x1000, 0xc46b59fee4)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn/conn.go:30 +0x87
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*singleConn).Read(0xc423b12500, 0xc4647397b8, 0x4, 0x4, 0xc, 0x1000, 0xc4619bf000)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/conn.go:123 +0x54
io.ReadAtLeast(0x7f58281dbd38, 0xc423b12500, 0xc4647397b8, 0x4, 0x4, 0x4, 0xc4619bf00c, 0x0, 0xff4)
	/usr/lib/go/src/io/io.go:307 +0xa6
io.ReadFull(0x7f58281dbd38, 0xc423b12500, 0xc4647397b8, 0x4, 0x4, 0xc, 0x2c, 0xc420244c28)
	/usr/lib/go/src/io/io.go:325 +0x5a
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.ReadLen(0x7f58281dbd38, 0xc423b12500, 0xc4647397b8, 0x4, 0x4, 0x55cf8c469c7e, 0xc420244c38, 0xc420244c48)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/num.go:27 +0x76
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*reader).nextMsgLen(0xc488135770, 0x55cf8ce1dca8, 0xc4647397c0, 0xc420244c78)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/msgio.go:163 +0x87
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*reader).NextMsgLen(0xc488135770, 0x0, 0x0, 0x0)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/msgio.go:158 +0x90
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*etmReader).Read(0xc423d60240, 0xc4619bf000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/rw.go:164 +0x10a
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*readWriter).Read(0xc437d2c1e0, 0xc4619bf000, 0x1000, 0x1000, 0xc, 0x0, 0x0)
	<autogenerated>:16 +0x6d
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*secureConn).Read(0xc4798b7e80, 0xc4619bf000, 0x1000, 0x1000, 0xc, 0x0, 0x0)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/secure_conn.go:113 +0x68
bufio.(*Reader).fill(0xc42a5d9980)
	/usr/lib/go/src/bufio/bufio.go:97 +0x10e
bufio.(*Reader).Read(0xc42a5d9980, 0xc436ca9000, 0xc, 0xc, 0xc420244e70, 0x55cf8c522d34, 0x10)
	/usr/lib/go/src/bufio/bufio.go:209 +0x1be
io.ReadAtLeast(0x55cf8ce16680, 0xc42a5d9980, 0xc436ca9000, 0xc, 0xc, 0xc, 0xc, 0x0, 0x0)
	/usr/lib/go/src/io/io.go:307 +0xa6
io.ReadFull(0x55cf8ce16680, 0xc42a5d9980, 0xc436ca9000, 0xc, 0xc, 0xc, 0x0, 0x0)
	/usr/lib/go/src/io/io.go:325 +0x5a
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).recvLoop(0xc42210def0, 0x0, 0x0)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:411 +0xf5
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).recv(0xc42210def0)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:399 +0x2d
created by gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.newSession
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:104 +0x43f

goroutine 460728619 [semacquire, 3 minutes]:
sync.runtime_Semacquire(0xc42033e684)
	/usr/lib/go/src/runtime/sema.go:47 +0x32
sync.(*Mutex).Lock(0xc42033e680)
	/usr/lib/go/src/sync/mutex.go:85 +0xd2
sync.(*RWMutex).Lock(0xc42033e680)
	/usr/lib/go/src/sync/rwmutex.go:86 +0x33
gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics.(*StandardMeter).Mark(0xc42033e680, 0x21)
	/go/src/gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics/meter.go:152 +0x33
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics.(*BandwidthCounter).LogRecvMessage(0xc420046e80, 0x21)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/bw_stats.go:39 +0x40
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics.(Reporter).LogRecvMessage-fm(0x21)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn/conn.go:16 +0x3b
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn.(*MeteredConn).Read(0xc452d3e1c0, 0xc42cc37000, 0x21, 0x1000, 0x0, 0xc4744117b8, 0x55cf8c04b084)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn/conn.go:30 +0x87
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*singleConn).Read(0xc4661c5040, 0xc42cc37000, 0x21, 0x1000, 0x0, 0xc474411818, 0x55cf8c07d4a6)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/conn.go:123 +0x54
io.ReadAtLeast(0x7f58281dbd38, 0xc4661c5040, 0xc42cc37000, 0x21, 0x1000, 0x21, 0x55cf8c469e34, 0xc474411848, 0xc474411858)
	/usr/lib/go/src/io/io.go:307 +0xa6
io.ReadFull(0x7f58281dbd38, 0xc4661c5040, 0xc42cc37000, 0x21, 0x1000, 0xc4744118c8, 0x55cf8c46ad86, 0x7f58281dbd38)
	/usr/lib/go/src/io/io.go:325 +0x5a
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*reader).Read(0xc4340e8e60, 0xc42cc37000, 0x21, 0x1000, 0x0, 0x0, 0x0)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/msgio.go:186 +0xfd
io.ReadAtLeast(0x7f58281dc0e0, 0xc4340e8e60, 0xc42cc37000, 0x21, 0x1000, 0x21, 0x55cf8c9d3e60, 0x0, 0x7f58281dc0e0)
	/usr/lib/go/src/io/io.go:307 +0xa6
io.ReadFull(0x7f58281dc0e0, 0xc4340e8e60, 0xc42cc37000, 0x21, 0x1000, 0xc4744119b0, 0x55cf8c2ab2a0, 0xc450eef8a0)
	/usr/lib/go/src/io/io.go:325 +0x5a
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*etmReader).Read(0xc43b8af680, 0xc42cc37000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/rw.go:182 +0x19b
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*readWriter).Read(0xc46dfd91a0, 0xc42cc37000, 0x1000, 0x1000, 0x106aa070f40e3585, 0xa8c2770547fc39ca, 0x439717ff701d7a3e)
	<autogenerated>:16 +0x6d
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*secureConn).Read(0xc46e883760, 0xc42cc37000, 0x1000, 0x1000, 0x160b5a274c5de76a, 0xb651e6da36709346, 0x187)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/secure_conn.go:113 +0x68
bufio.(*Reader).fill(0xc42e0a47e0)
	/usr/lib/go/src/bufio/bufio.go:97 +0x10e
bufio.(*Reader).Read(0xc42e0a47e0, 0xc44674102d, 0x1, 0xddb, 0x0, 0xc44d819679, 0x187)
	/usr/lib/go/src/bufio/bufio.go:209 +0x1be
io.(*LimitedReader).Read(0xc4276a48c0, 0xc44674102d, 0xddb, 0xddb, 0xc4340e8e10, 0x0, 0xc474411ba0)
	/usr/lib/go/src/io/io.go:436 +0x6e
bytes.(*Buffer).ReadFrom(0xc43efe1810, 0x55cf8ce18440, 0xc4276a48c0, 0xc474411c08, 0x1, 0x18)
	/usr/lib/go/src/bytes/buffer.go:176 +0x157
io.copyBuffer(0x55cf8ce16740, 0xc43efe1810, 0x55cf8ce18440, 0xc4276a48c0, 0x0, 0x0, 0x0, 0x55cf8c9c2440, 0x1, 0xc4276a48c0)
	/usr/lib/go/src/io/io.go:384 +0x325
io.Copy(0x55cf8ce16740, 0xc43efe1810, 0x55cf8ce18440, 0xc4276a48c0, 0xc474411d00, 0x55cf8c46b28d, 0xc43b8af680)
	/usr/lib/go/src/io/io.go:360 +0x6a
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Stream).readData(0xc435d004e0, 0xc455a41aa0, 0xc, 0xc, 0x55cf8bea0000, 0x55cf8ce16680, 0xc42e0a47e0, 0x55cf8c158e13, 0x55cf8c61e58d)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/stream.go:410 +0x2f0
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).handleStreamMessage(0xc4476fe790, 0xc455a41aa0, 0xc, 0xc, 0x1, 0xc4265132a0)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:488 +0x30a
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).(gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.handleStreamMessage)-fm(0xc455a41aa0, 0xc, 0xc, 0xc, 0xc)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:427 +0x4a
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).recvLoop(0xc4476fe790, 0x0, 0x0)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:439 +0x1b6
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).recv(0xc4476fe790)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:399 +0x2d
created by gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.newSession
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:104 +0x43f

goroutine 460576424 [select]:
github.com/ipfs/go-ipfs/exchange/bitswap.(*msgQueue).runQueue(0xc47c9abd40, 0x55cf8ce23300, 0xc4200470c0)
	/go/src/github.com/ipfs/go-ipfs/exchange/bitswap/wantmanager.go:166 +0x1cb
created by github.com/ipfs/go-ipfs/exchange/bitswap.(*WantManager).startPeerHandler
	/go/src/github.com/ipfs/go-ipfs/exchange/bitswap/wantmanager.go:139 +0x38a

goroutine 460680057 [select]:
github.com/ipfs/go-ipfs/exchange/bitswap.(*msgQueue).runQueue(0xc433e1d4a0, 0x55cf8ce23300, 0xc4200470c0)
	/go/src/github.com/ipfs/go-ipfs/exchange/bitswap/wantmanager.go:166 +0x1cb
created by github.com/ipfs/go-ipfs/exchange/bitswap.(*WantManager).startPeerHandler
	/go/src/github.com/ipfs/go-ipfs/exchange/bitswap/wantmanager.go:139 +0x38a

goroutine 460638308 [semacquire, 5 minutes]:
sync.runtime_Semacquire(0xc44a1d7b4c)
	/usr/lib/go/src/runtime/sema.go:47 +0x32
sync.(*Mutex).Lock(0xc44a1d7b48)
	/usr/lib/go/src/sync/mutex.go:85 +0xd2
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*writer).Close(0xc44d1e7fc0, 0x0, 0x0)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/msgio.go:108 +0x4c
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*etmWriter).Close(0xc458d029a0, 0x7f58281dbf58, 0xc458d029a0)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/rw.go:77 +0x3c
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*readWriter).Close(0xc43cfe0000, 0x55cf8ca6b538, 0xc44117f1e0)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/msgio.go:252 +0x2c6
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*secureSession).Close(0xc44117efc0, 0x0, 0x0)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/interface.go:92 +0x9f
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*secureConn).Close(0xc45e863d40, 0x55cf8ca6b538, 0xc441ad8200)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/secure_conn.go:49 +0x36
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).Close(0xc441ad8160, 0x0, 0x0)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:219 +0xea
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).exitErr(0xc441ad8160, 0x55cf8ce16c80, 0xc42015cd40)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:238 +0x6c
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).keepalive(0xc441ad8160)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:300 +0x198
created by gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.newSession
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:107 +0x4b0

goroutine 460659261 [select]:
github.com/ipfs/go-ipfs/exchange/bitswap.(*msgQueue).runQueue(0xc45911a600, 0x55cf8ce23300, 0xc4200470c0)
	/go/src/github.com/ipfs/go-ipfs/exchange/bitswap/wantmanager.go:166 +0x1cb
created by github.com/ipfs/go-ipfs/exchange/bitswap.(*WantManager).startPeerHandler
	/go/src/github.com/ipfs/go-ipfs/exchange/bitswap/wantmanager.go:139 +0x38a

goroutine 461673179 [semacquire, 3 minutes]:
sync.runtime_Semacquire(0xc42010476c)
	/usr/lib/go/src/runtime/sema.go:47 +0x32
sync.(*Mutex).Lock(0xc420104768)
	/usr/lib/go/src/sync/mutex.go:85 +0xd2
sync.(*RWMutex).Lock(0xc420104768)
	/usr/lib/go/src/sync/rwmutex.go:86 +0x33
gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Swarm).removeStream(0xc420104750, 0xc4705463c0, 0x0, 0xffffffffffffffff)
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/conn.go:292 +0x3c
gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Stream).Close(0xc4705463c0, 0xc422e74e80, 0x3)
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/stream.go:81 +0x3a
gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Conn).Close(0xc45e1ba580, 0x0, 0x0)
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/conn.go:151 +0xf4
created by gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Conn).GoClose
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/conn.go:131 +0xa0

goroutine 460704288 [semacquire, 5 minutes]:
sync.runtime_Semacquire(0xc42010476c)
	/usr/lib/go/src/runtime/sema.go:47 +0x32
sync.(*Mutex).Lock(0xc420104768)
	/usr/lib/go/src/sync/mutex.go:85 +0xd2
sync.(*RWMutex).Lock(0xc420104768)
	/usr/lib/go/src/sync/rwmutex.go:86 +0x33
gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Swarm).removeStream(0xc420104750, 0xc466514500, 0xc46b147db0, 0x55cf8bebe057)
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/conn.go:292 +0x3c
gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Stream).Close(0xc466514500, 0xc426ff2000, 0xc441d84000)
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/stream.go:81 +0x3a
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/swarm.(*Stream).Close(0xc466514500, 0x55cf8bee8950, 0xc431835540)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/swarm/swarm_stream.go:41 +0x2d
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/stream.(*meteredStream).Close(0xc480985980, 0x0, 0xc420775e28)
	<autogenerated>:1 +0x4c
github.com/ipfs/go-ipfs/exchange/bitswap/network.(*impl).handleNewStream(0xc4203105d0, 0x55cf8ce21e40, 0xc480985980)
	/go/src/github.com/ipfs/go-ipfs/exchange/bitswap/network/ipfs_impl.go:187 +0x596
github.com/ipfs/go-ipfs/exchange/bitswap/network.(*impl).(github.com/ipfs/go-ipfs/exchange/bitswap/network.handleNewStream)-fm(0x55cf8ce21e40, 0xc480985980)
	/go/src/github.com/ipfs/go-ipfs/exchange/bitswap/network/ipfs_impl.go:28 +0x40
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/host/basic.(*BasicHost).SetStreamHandler.func1(0x7f58282a5988, 0xc480985980, 0xc480985980, 0xc420046e80)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/host/basic/basic_host.go:151 +0x89
created by gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/host/basic.(*BasicHost).newStreamHandler
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/host/basic/basic_host.go:117 +0x3cd

goroutine 460728278 [semacquire]:
sync.runtime_Semacquire(0xc42e4dd8a4)
	/usr/lib/go/src/runtime/sema.go:47 +0x32
sync.(*Mutex).Lock(0xc42e4dd8a0)
	/usr/lib/go/src/sync/mutex.go:85 +0xd2
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*secureSession).Handshake(0xc42e4dd680, 0x0, 0x0)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/protocol.go:95 +0x51
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*secureSession).RemotePeer(0xc42e4dd680, 0x55cf8be947b0, 0xc433a90e78)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/interface.go:70 +0x2d
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*secureConn).RemotePeer(0xc45d85a0a0, 0x7f58281dbff0, 0xc45d85a0a0)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/secure_conn.go:98 +0x36
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/swarm.(*Conn).RemotePeer(0xc42825ef80, 0x55cf8ce26ec0, 0xc42825ef80)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/swarm/swarm_conn.go:65 +0x7a
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/host/basic.(*BasicHost).newStreamHandler(0xc4202f6fa0, 0x55cf8ce21e80, 0xc464ef9040)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/host/basic/basic_host.go:108 +0x261
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/host/basic.(*BasicHost).(gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/host/basic.newStreamHandler)-fm(0x55cf8ce21e80, 0xc464ef9040)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/host/basic/basic_host.go:92 +0x40
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/swarm.(*Swarm).SetStreamHandler.func1(0xc464ef9040)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/swarm/swarm.go:222 +0x3d
gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Swarm).addConn.func1(0x55cf8ce1fb80, 0xc4524d7ad0)
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/conn.go:203 +0x79
created by gx/ipfs/QmSHTSkxXGQgaHWz91oZV3CDy3hmKmDgpjbYRT6niACG4E/go-smux-yamux.(*conn).Serve
	/go/src/gx/ipfs/QmSHTSkxXGQgaHWz91oZV3CDy3hmKmDgpjbYRT6niACG4E/go-smux-yamux/yamux.go:70 +0x61

goroutine 299793617 [IO wait, 3605 minutes]:
net.runtime_pollWait(0x7f58256e1c70, 0x72, 0x17a)
	/usr/lib/go/src/runtime/netpoll.go:160 +0x5b
net.(*pollDesc).wait(0xc433dc7560, 0x72, 0xc42d855b40, 0xc420012180)
	/usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).waitRead(0xc433dc7560, 0x55cf8ce1b0c0, 0xc420012180)
	/usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc433dc7500, 0xc44c6e4c00, 0x17c, 0x200, 0x0, 0x55cf8ce1b0c0, 0xc420012180)
	/usr/lib/go/src/net/fd_unix.go:243 +0x1a3
net.(*conn).Read(0xc4449682b0, 0xc44c6e4c00, 0x17c, 0x200, 0x0, 0x0, 0x0)
	/usr/lib/go/src/net/net.go:173 +0x72
gx/ipfs/QmPpRcbNUXauP3zWZ1NJMLWpe4QnmEHrd2ba2D3yqWznw7/go-multiaddr-net.(*maConn).Read(0xc43194e210, 0xc44c6e4c00, 0x17c, 0x200, 0x55cf8bea2b8a, 0xc440cbfcc0, 0x20)
	<autogenerated>:3 +0x6d
gx/ipfs/QmWzfrG1PUeF8mDpYfNsRL3wh5Rkgnp68LAWUB2bhuDWRL/go-libp2p-transport.(*connWrap).Read(0xc43766d640, 0xc44c6e4c00, 0x17c, 0x200, 0xc440cbfcc0, 0x0, 0xc425117228)
	<autogenerated>:24 +0x6d
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn.(*MeteredConn).Read(0xc43766d880, 0xc44c6e4c00, 0x17c, 0x200, 0x18, 0x18, 0x1)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn/conn.go:28 +0x58
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*singleConn).Read(0xc468a1f1c0, 0xc44c6e4c00, 0x17c, 0x200, 0x55cf8bea3ea5, 0xc42d855e30, 0x18)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/conn.go:123 +0x54
io.ReadAtLeast(0x7f58281dbd38, 0xc468a1f1c0, 0xc44c6e4c00, 0x17c, 0x200, 0x17c, 0x55cf8c935700, 0xc440cbfcc0, 0x900000000)
	/usr/lib/go/src/io/io.go:307 +0xa6
io.ReadFull(0x7f58281dbd38, 0xc468a1f1c0, 0xc44c6e4c00, 0x17c, 0x200, 0xc449522658, 0x55cf8c46975a, 0x7f58281dbd60)
	/usr/lib/go/src/io/io.go:325 +0x5a
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*reader).ReadMsg(0xc46c49af00, 0x0, 0x0, 0x0, 0x0, 0x0)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/msgio.go:209 +0x1f6
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*readWriter).ReadMsg(0xc4306a05a0, 0xc42cf35180, 0x17c, 0x280, 0x0, 0xc4247abda0)
	<autogenerated>:17 +0x4b
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.readMsgCtx.func1(0xc4306a0c60, 0x7f58281dbec8, 0xc4306a05a0, 0xc420ce4f00, 0x55cf8ce23380, 0xc420ce4d80)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/rw.go:280 +0x4b
created by gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.readMsgCtx
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/rw.go:285 +0xe0

goroutine 460618996 [semacquire, 5 minutes]:
sync.runtime_Semacquire(0xc42033e684)
	/usr/lib/go/src/runtime/sema.go:47 +0x32
sync.(*Mutex).Lock(0xc42033e680)
	/usr/lib/go/src/sync/mutex.go:85 +0xd2
sync.(*RWMutex).Lock(0xc42033e680)
	/usr/lib/go/src/sync/rwmutex.go:86 +0x33
gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics.(*StandardMeter).Mark(0xc42033e680, 0x4)
	/go/src/gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics/meter.go:152 +0x33
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics.(*BandwidthCounter).LogRecvMessage(0xc420046e80, 0x4)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/bw_stats.go:39 +0x40
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics.(Reporter).LogRecvMessage-fm(0x4)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn/conn.go:16 +0x3b
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn.(*MeteredConn).Read(0xc4401fd1a0, 0xc44716f8c0, 0x4, 0x4, 0xc, 0x1000, 0xc42f46bb98)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn/conn.go:30 +0x87
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*singleConn).Read(0xc45d607e80, 0xc44716f8c0, 0x4, 0x4, 0xc, 0x1000, 0xc429c1b000)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/conn.go:123 +0x54
io.ReadAtLeast(0x7f58281dbd38, 0xc45d607e80, 0xc44716f8c0, 0x4, 0x4, 0x4, 0xc429c1b00c, 0x0, 0xff4)
	/usr/lib/go/src/io/io.go:307 +0xa6
io.ReadFull(0x7f58281dbd38, 0xc45d607e80, 0xc44716f8c0, 0x4, 0x4, 0xc, 0x2c, 0xc4813f1c28)
	/usr/lib/go/src/io/io.go:325 +0x5a
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.ReadLen(0x7f58281dbd38, 0xc45d607e80, 0xc44716f8c0, 0x4, 0x4, 0x55cf8c469c7e, 0xc4813f1c38, 0xc4813f1c48)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/num.go:27 +0x76
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*reader).nextMsgLen(0xc467953860, 0x55cf8ce1dca8, 0xc44716f8c8, 0xc4813f1c78)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/msgio.go:163 +0x87
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*reader).NextMsgLen(0xc467953860, 0x0, 0x0, 0x0)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/msgio.go:158 +0x90
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*etmReader).Read(0xc445c907e0, 0xc429c1b000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/rw.go:164 +0x10a
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*readWriter).Read(0xc431351f20, 0xc429c1b000, 0x1000, 0x1000, 0xc, 0x0, 0x0)
	<autogenerated>:16 +0x6d
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*secureConn).Read(0xc462240760, 0xc429c1b000, 0x1000, 0x1000, 0x1, 0x55cf8bec091d, 0xc4813f1d90)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/secure_conn.go:113 +0x68
bufio.(*Reader).fill(0xc461faca20)
	/usr/lib/go/src/bufio/bufio.go:97 +0x10e
bufio.(*Reader).Read(0xc461faca20, 0xc42d185730, 0xc, 0xc, 0xc4813f1e70, 0x55cf8c522cb2, 0xc441f1c3b4)
	/usr/lib/go/src/bufio/bufio.go:209 +0x1be
io.ReadAtLeast(0x55cf8ce16680, 0xc461faca20, 0xc42d185730, 0xc, 0xc, 0xc, 0xc, 0x0, 0x0)
	/usr/lib/go/src/io/io.go:307 +0xa6
io.ReadFull(0x55cf8ce16680, 0xc461faca20, 0xc42d185730, 0xc, 0xc, 0xc, 0x0, 0x0)
	/usr/lib/go/src/io/io.go:325 +0x5a
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).recvLoop(0xc441f1c370, 0x0, 0x0)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:411 +0xf5
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).recv(0xc441f1c370)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:399 +0x2d
created by gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.newSession
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:104 +0x43f

goroutine 460578605 [semacquire, 5 minutes]:
sync.runtime_Semacquire(0xc42033e684)
	/usr/lib/go/src/runtime/sema.go:47 +0x32
sync.(*Mutex).Lock(0xc42033e680)
	/usr/lib/go/src/sync/mutex.go:85 +0xd2
sync.(*RWMutex).Lock(0xc42033e680)
	/usr/lib/go/src/sync/rwmutex.go:86 +0x33
gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics.(*StandardMeter).Mark(0xc42033e680, 0x0)
	/go/src/gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics/meter.go:152 +0x33
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics.(*BandwidthCounter).LogRecvMessage(0xc420046e80, 0x0)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/bw_stats.go:39 +0x40
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics.(Reporter).LogRecvMessage-fm(0x0)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn/conn.go:16 +0x3b
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn.(*MeteredConn).Read(0xc476b37020, 0xc428220e60, 0x4, 0x4, 0xc, 0x1000, 0xc4772d90bb)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn/conn.go:30 +0x87
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*singleConn).Read(0xc444c87ec0, 0xc428220e60, 0x4, 0x4, 0xc, 0x1000, 0xc464d97000)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/conn.go:123 +0x54
io.ReadAtLeast(0x7f58281dbd38, 0xc444c87ec0, 0xc428220e60, 0x4, 0x4, 0x4, 0xc464d9700c, 0x0, 0xff4)
	/usr/lib/go/src/io/io.go:307 +0xa6
io.ReadFull(0x7f58281dbd38, 0xc444c87ec0, 0xc428220e60, 0x4, 0x4, 0xc, 0x2c, 0xc43341bc28)
	/usr/lib/go/src/io/io.go:325 +0x5a
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.ReadLen(0x7f58281dbd38, 0xc444c87ec0, 0xc428220e60, 0x4, 0x4, 0x55cf8c469c7e, 0xc43341bc38, 0xc43341bc48)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/num.go:27 +0x76
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*reader).nextMsgLen(0xc465dc9950, 0x55cf8ce1dca8, 0xc428220e68, 0xc43341bc78)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/msgio.go:163 +0x87
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*reader).NextMsgLen(0xc465dc9950, 0x0, 0x0, 0x0)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/msgio.go:158 +0x90
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*etmReader).Read(0xc423d613b0, 0xc464d97000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/rw.go:164 +0x10a
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*readWriter).Read(0xc46baec700, 0xc464d97000, 0x1000, 0x1000, 0xc, 0x0, 0x0)
	<autogenerated>:16 +0x6d
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*secureConn).Read(0xc44ee48c40, 0xc464d97000, 0x1000, 0x1000, 0xc, 0x0, 0x0)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/secure_conn.go:113 +0x68
bufio.(*Reader).fill(0xc459842960)
	/usr/lib/go/src/bufio/bufio.go:97 +0x10e
bufio.(*Reader).Read(0xc459842960, 0xc466286e60, 0xc, 0xc, 0xc43341be70, 0x55cf8c522cb2, 0xc437701e84)
	/usr/lib/go/src/bufio/bufio.go:209 +0x1be
io.ReadAtLeast(0x55cf8ce16680, 0xc459842960, 0xc466286e60, 0xc, 0xc, 0xc, 0xc, 0x0, 0x0)
	/usr/lib/go/src/io/io.go:307 +0xa6
io.ReadFull(0x55cf8ce16680, 0xc459842960, 0xc466286e60, 0xc, 0xc, 0xc, 0x0, 0x0)
	/usr/lib/go/src/io/io.go:325 +0x5a
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).recvLoop(0xc437701e40, 0x0, 0x0)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:411 +0xf5
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).recv(0xc437701e40)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:399 +0x2d
created by gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.newSession
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:104 +0x43f

goroutine 460669942 [select, 31 minutes]:
gx/ipfs/QmX6DhWrpBB5NtadXmPSXYNdVvuLfJXoFNMvUMoVvP5UJa/go-context/io.(*ctxReader).Read(0xc43d7d1aa0, 0xc4400a1000, 0x1000, 0x1000, 0x55cf8c61e704, 0xc41d1845bd, 0x0)
	/go/src/gx/ipfs/QmX6DhWrpBB5NtadXmPSXYNdVvuLfJXoFNMvUMoVvP5UJa/go-context/io/ctxio.go:113 +0x2b6
bufio.(*Reader).fill(0xc469b3a480)
	/usr/lib/go/src/bufio/bufio.go:97 +0x10e
bufio.(*Reader).ReadByte(0xc469b3a480, 0x0, 0x58, 0x68)
	/usr/lib/go/src/bufio/bufio.go:231 +0x53
encoding/binary.ReadUvarint(0x55cf8ce16640, 0xc469b3a480, 0x0, 0x55cf8ce23300, 0x1408)
	/usr/lib/go/src/encoding/binary/varint.go:110 +0x4c
gx/ipfs/QmZ4Qi3GaRbjcx28Sme5eMH7RQjGkt8wHxt2a65oLaeFEV/gogo-protobuf/io.(*varintReader).ReadMsg(0xc470765f00, 0x55cf8ce1f840, 0xc47cf747e0, 0x0, 0x0)
	/go/src/gx/ipfs/QmZ4Qi3GaRbjcx28Sme5eMH7RQjGkt8wHxt2a65oLaeFEV/gogo-protobuf/io/varint.go:105 +0x40
github.com/ipfs/go-ipfs/routing/dht.(*IpfsDHT).handleNewMessage(0xc4201826e0, 0x55cf8ce21e40, 0xc470765e80)
	/go/src/github.com/ipfs/go-ipfs/routing/dht/dht_net.go:37 +0x48c
created by github.com/ipfs/go-ipfs/routing/dht.(*IpfsDHT).handleNewStream
	/go/src/github.com/ipfs/go-ipfs/routing/dht/dht_net.go:21 +0x55

goroutine 460724415 [semacquire, 5 minutes]:
sync.runtime_Semacquire(0xc42033e704)
	/usr/lib/go/src/runtime/sema.go:47 +0x32
sync.(*Mutex).Lock(0xc42033e700)
	/usr/lib/go/src/sync/mutex.go:85 +0xd2
sync.(*RWMutex).Lock(0xc42033e700)
	/usr/lib/go/src/sync/rwmutex.go:86 +0x33
gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics.(*StandardMeter).Mark(0xc42033e700, 0x2c)
	/go/src/gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics/meter.go:152 +0x33
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics.(*BandwidthCounter).LogSentMessage(0xc420046e80, 0x2c)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/bw_stats.go:35 +0x40
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics.(Reporter).LogSentMessage-fm(0x2c)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn/conn.go:16 +0x3b
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn.(*MeteredConn).Write(0xc456a3f800, 0xc47e94e9c0, 0x2c, 0x30, 0x0, 0x0, 0xc4265135a8)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn/conn.go:37 +0x88
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*singleConn).Write(0xc4857b7f00, 0xc47e94e9c0, 0x2c, 0x30, 0x0, 0x0, 0x0)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/conn.go:128 +0x54
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*writer).WriteMsg(0xc448035720, 0xc47e94e9c0, 0x2c, 0x30, 0x0, 0x0)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/msgio.go:103 +0x107
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*etmWriter).WriteMsg(0xc4443c3ce0, 0xc4265135b0, 0xc, 0xc, 0x0, 0x0)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/rw.go:73 +0x28a
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*etmWriter).Write(0xc4443c3ce0, 0xc4265135b0, 0xc, 0xc, 0x0, 0x0, 0x0)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/rw.go:42 +0x4f
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*readWriter).Write(0xc4480357e0, 0xc4265135b0, 0xc, 0xc, 0xc442b0ce28, 0x55cf8c521908, 0x18)
	<autogenerated>:19 +0x6e
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*secureConn).Write(0xc462d226c0, 0xc4265135b0, 0xc, 0xc, 0xc, 0x0, 0x0)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/secure_conn.go:118 +0x68
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).send(0xc434a6d810)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:367 +0x182
created by gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.newSession
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:105 +0x461

goroutine 460588557 [select, 7 minutes]:
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Stream).Read(0xc446a492b0, 0xc46b8f1000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/stream.go:126 +0x26a
gx/ipfs/QmSHTSkxXGQgaHWz91oZV3CDy3hmKmDgpjbYRT6niACG4E/go-smux-yamux.(*stream).Read(0xc446a492b0, 0xc46b8f1000, 0x1000, 0x1000, 0xc42a6f29c0, 0x55cf8ca692e8, 0xc474737db0)
	/go/src/gx/ipfs/QmSHTSkxXGQgaHWz91oZV3CDy3hmKmDgpjbYRT6niACG4E/go-smux-yamux/yamux.go:20 +0x4b
gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Stream).Read(0xc469fa3340, 0xc46b8f1000, 0x1000, 0x1000, 0x55cf8cef3580, 0x0, 0x0)
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/stream.go:73 +0x53
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/swarm.(*Stream).Read(0xc469fa3340, 0xc46b8f1000, 0x1000, 0x1000, 0xc47cc638c0, 0xc45f8d3c58, 0x55cf8cef3580)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/swarm/swarm_stream.go:30 +0x4b
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/stream.(*meteredStream).Read(0xc4599f04c0, 0xc46b8f1000, 0x1000, 0x1000, 0x55cf8c61e59e, 0xc41fd0a80d, 0x0)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/stream/metered.go:37 +0x58
bufio.(*Reader).fill(0xc445fb4f60)
	/usr/lib/go/src/bufio/bufio.go:97 +0x10e
bufio.(*Reader).ReadByte(0xc445fb4f60, 0xc45f8d3db0, 0x28, 0x38)
	/usr/lib/go/src/bufio/bufio.go:231 +0x53
encoding/binary.ReadUvarint(0x55cf8ce16640, 0xc445fb4f60, 0xc46b7c6230, 0x0, 0xc4252ac8e0)
	/usr/lib/go/src/encoding/binary/varint.go:110 +0x4c
gx/ipfs/QmZ4Qi3GaRbjcx28Sme5eMH7RQjGkt8wHxt2a65oLaeFEV/gogo-protobuf/io.(*varintReader).ReadMsg(0xc4599f0500, 0x55cf8ce1f600, 0xc425eafe00, 0x55cf8c0cee6d, 0xc45f8d3db0)
	/go/src/gx/ipfs/QmZ4Qi3GaRbjcx28Sme5eMH7RQjGkt8wHxt2a65oLaeFEV/gogo-protobuf/io/varint.go:105 +0x40
github.com/ipfs/go-ipfs/exchange/bitswap/message.FromPBReader(0x7f5828172168, 0xc4599f0500, 0xc4599f0500, 0x7f5828172168, 0xc4599f0500, 0x55cf8ce27760)
	/go/src/github.com/ipfs/go-ipfs/exchange/bitswap/message/message.go:143 +0x62
github.com/ipfs/go-ipfs/exchange/bitswap/network.(*impl).handleNewStream(0xc4203105d0, 0x55cf8ce21e40, 0xc4599f04c0)
	/go/src/github.com/ipfs/go-ipfs/exchange/bitswap/network/ipfs_impl.go:181 +0x21e
github.com/ipfs/go-ipfs/exchange/bitswap/network.(*impl).(github.com/ipfs/go-ipfs/exchange/bitswap/network.handleNewStream)-fm(0x55cf8ce21e40, 0xc4599f04c0)
	/go/src/github.com/ipfs/go-ipfs/exchange/bitswap/network/ipfs_impl.go:28 +0x40
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/host/basic.(*BasicHost).SetStreamHandler.func1(0x7f58282a5988, 0xc4599f04c0, 0xc4599f04c0, 0xc420046e80)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/host/basic/basic_host.go:151 +0x89
created by gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/host/basic.(*BasicHost).newStreamHandler
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/host/basic/basic_host.go:117 +0x3cd

goroutine 193882292 [chan receive, 7482 minutes]:
gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess.(*process).Close(0xc43250ac00, 0x0, 0x0)
	/go/src/gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess/impl-mutex.go:148 +0xa1
gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess.(*process).CloseAfterChildren(0xc43250ac00, 0x0, 0x0)
	/go/src/gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess/impl-mutex.go:270 +0x1de
gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess.(*process).Go.func1(0xc42bfba530, 0xc43250ac00, 0xc43250ad80)
	/go/src/gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess/impl-mutex.go:114 +0x5a
created by gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess.(*process).Go
	/go/src/gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess/impl-mutex.go:115 +0x377

goroutine 460578808 [semacquire, 5 minutes]:
sync.runtime_Semacquire(0xc42033e704)
	/usr/lib/go/src/runtime/sema.go:47 +0x32
sync.(*Mutex).Lock(0xc42033e700)
	/usr/lib/go/src/sync/mutex.go:85 +0xd2
sync.(*RWMutex).Lock(0xc42033e700)
	/usr/lib/go/src/sync/rwmutex.go:86 +0x33
gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics.(*StandardMeter).Mark(0xc42033e700, 0x4)
	/go/src/gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics/meter.go:152 +0x33
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics.(*BandwidthCounter).LogSentMessage(0xc420046e80, 0x4)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/bw_stats.go:35 +0x40
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics.(Reporter).LogSentMessage-fm(0x4)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn/conn.go:16 +0x3b
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn.(*MeteredConn).Write(0xc4296f6ce0, 0xc42331eed0, 0x4, 0x8, 0x55cf8c9576c0, 0xd24259024c9d4d01, 0xc42331eed0)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn/conn.go:37 +0x88
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*singleConn).Write(0xc462234d00, 0xc42331eed0, 0x4, 0x8, 0x2715033e0000002c, 0x3c0590767ae807d6, 0x71374491428a2f98)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/conn.go:128 +0x54
encoding/binary.Write(0x7f58281dbd60, 0xc462234d00, 0x55cf8ce26bc0, 0x55cf8cef3580, 0x55cf8c92c400, 0xc42331eea8, 0x55cf8c46972e, 0xc43341ec90)
	/usr/lib/go/src/encoding/binary/binary.go:324 +0x2f7
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.WriteLen(0x7f58281dbd60, 0xc462234d00, 0x2c, 0x40, 0x40)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/num.go:14 +0xab
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*writer).WriteMsg(0xc46b71e2a0, 0xc477584420, 0x2c, 0x30, 0x0, 0x0)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/msgio.go:100 +0xaa
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*etmWriter).WriteMsg(0xc44da4db80, 0xc422e2c7f0, 0xc, 0xc, 0x0, 0x0)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/rw.go:73 +0x28a
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*etmWriter).Write(0xc44da4db80, 0xc422e2c7f0, 0xc, 0xc, 0x0, 0x0, 0x0)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/rw.go:42 +0x4f
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*readWriter).Write(0xc46b71e380, 0xc422e2c7f0, 0xc, 0xc, 0xc43341ee28, 0x55cf8c521908, 0x18)
	<autogenerated>:19 +0x6e
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*secureConn).Write(0xc45ce4b420, 0xc422e2c7f0, 0xc, 0xc, 0xc, 0x0, 0x0)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/secure_conn.go:118 +0x68
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).send(0xc437701ef0)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:367 +0x182
created by gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.newSession
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:105 +0x461

goroutine 461672802 [semacquire, 5 minutes]:
sync.runtime_Semacquire(0xc42010476c)
	/usr/lib/go/src/runtime/sema.go:47 +0x32
sync.(*Mutex).Lock(0xc420104768)
	/usr/lib/go/src/sync/mutex.go:85 +0xd2
sync.(*RWMutex).Lock(0xc420104768)
	/usr/lib/go/src/sync/rwmutex.go:86 +0x33
gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Swarm).removeStream(0xc420104750, 0xc48157c380, 0x0, 0x0)
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/conn.go:292 +0x3c
gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Stream).Close(0xc48157c380, 0x0, 0x0)
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/stream.go:81 +0x3a
gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Conn).Close(0xc43a0cb100, 0x0, 0x0)
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/conn.go:151 +0xf4
created by gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Conn).GoClose
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/conn.go:131 +0xa0

goroutine 460728036 [select]:
github.com/ipfs/go-ipfs/exchange/bitswap.(*msgQueue).runQueue(0xc42f0a1b60, 0x55cf8ce23300, 0xc4200470c0)
	/go/src/github.com/ipfs/go-ipfs/exchange/bitswap/wantmanager.go:166 +0x1cb
created by github.com/ipfs/go-ipfs/exchange/bitswap.(*WantManager).startPeerHandler
	/go/src/github.com/ipfs/go-ipfs/exchange/bitswap/wantmanager.go:139 +0x38a

goroutine 460695066 [semacquire, 5 minutes]:
sync.runtime_Semacquire(0xc42010476c)
	/usr/lib/go/src/runtime/sema.go:47 +0x32
sync.(*Mutex).Lock(0xc420104768)
	/usr/lib/go/src/sync/mutex.go:85 +0xd2
sync.(*RWMutex).Lock(0xc420104768)
	/usr/lib/go/src/sync/rwmutex.go:86 +0x33
gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Swarm).removeStream(0xc420104750, 0xc45da58b80, 0x1b, 0x55cf8bebe057)
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/conn.go:292 +0x3c
gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Stream).Close(0xc45da58b80, 0xc427b60000, 0xc443e0d040)
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/stream.go:81 +0x3a
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/swarm.(*Stream).Close(0xc45da58b80, 0x55cf8bee8950, 0xc463fe48c0)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/swarm/swarm_stream.go:41 +0x2d
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/stream.(*meteredStream).Close(0xc45da58d80, 0x55cf8c2a7b17, 0x7f58281dc140)
	<autogenerated>:1 +0x4c
github.com/ipfs/go-ipfs/routing/dht.(*IpfsDHT).handleNewMessage(0xc4201826e0, 0x55cf8ce21e40, 0xc45da58d80)
	/go/src/github.com/ipfs/go-ipfs/routing/dht/dht_net.go:39 +0xa0f
created by github.com/ipfs/go-ipfs/routing/dht.(*IpfsDHT).handleNewStream
	/go/src/github.com/ipfs/go-ipfs/routing/dht/dht_net.go:21 +0x55

goroutine 461672825 [semacquire, 5 minutes]:
sync.runtime_Semacquire(0xc42010476c)
	/usr/lib/go/src/runtime/sema.go:47 +0x32
sync.(*Mutex).Lock(0xc420104768)
	/usr/lib/go/src/sync/mutex.go:85 +0xd2
sync.(*RWMutex).Lock(0xc420104768)
	/usr/lib/go/src/sync/rwmutex.go:86 +0x33
gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Swarm).removeStream(0xc420104750, 0xc479f22900, 0x0, 0x0)
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/conn.go:292 +0x3c
gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Stream).Close(0xc479f22900, 0x0, 0x0)
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/stream.go:81 +0x3a
gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Conn).Close(0xc44a874180, 0x0, 0x0)
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/conn.go:151 +0xf4
created by gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Conn).GoClose
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/conn.go:131 +0xa0

goroutine 460576694 [semacquire, 5 minutes]:
sync.runtime_Semacquire(0xc42033e704)
	/usr/lib/go/src/runtime/sema.go:47 +0x32
sync.(*Mutex).Lock(0xc42033e700)
	/usr/lib/go/src/sync/mutex.go:85 +0xd2
sync.(*RWMutex).Lock(0xc42033e700)
	/usr/lib/go/src/sync/rwmutex.go:86 +0x33
gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics.(*StandardMeter).Mark(0xc42033e700, 0x2c)
	/go/src/gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics/meter.go:152 +0x33
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics.(*BandwidthCounter).LogSentMessage(0xc420046e80, 0x2c)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/bw_stats.go:35 +0x40
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics.(Reporter).LogSentMessage-fm(0x2c)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn/conn.go:16 +0x3b
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn.(*MeteredConn).Write(0xc423776960, 0xc47e94ebd0, 0x2c, 0x30, 0x0, 0x0, 0xc426513920)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn/conn.go:37 +0x88
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*singleConn).Write(0xc4789903c0, 0xc47e94ebd0, 0x2c, 0x30, 0x0, 0x0, 0x0)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/conn.go:128 +0x54
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*writer).WriteMsg(0xc427d3b620, 0xc47e94ebd0, 0x2c, 0x30, 0x0, 0x0)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/msgio.go:103 +0x107
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*etmWriter).WriteMsg(0xc47c9a66e0, 0xc4265128e0, 0xc, 0xc, 0x0, 0x0)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/rw.go:73 +0x28a
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*etmWriter).Write(0xc47c9a66e0, 0xc4265128e0, 0xc, 0xc, 0x0, 0x0, 0x55cf8c525a9c)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/rw.go:42 +0x4f
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*readWriter).Write(0xc427d3b640, 0xc4265128e0, 0xc, 0xc, 0xc43be20e28, 0x55cf8c521908, 0x18)
	<autogenerated>:19 +0x6e
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*secureConn).Write(0xc4256e2ec0, 0xc4265128e0, 0xc, 0xc, 0x1, 0x0, 0x0)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/secure_conn.go:118 +0x68
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).send(0xc44e37f3f0)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:367 +0x182
created by gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.newSession
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:105 +0x461

goroutine 460608155 [semacquire, 5 minutes]:
sync.runtime_Semacquire(0xc42033e704)
	/usr/lib/go/src/runtime/sema.go:47 +0x32
sync.(*Mutex).Lock(0xc42033e700)
	/usr/lib/go/src/sync/mutex.go:85 +0xd2
sync.(*RWMutex).Lock(0xc42033e700)
	/usr/lib/go/src/sync/rwmutex.go:86 +0x33
gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics.(*StandardMeter).Mark(0xc42033e700, 0x4)
	/go/src/gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics/meter.go:152 +0x33
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics.(*BandwidthCounter).LogSentMessage(0xc420046e80, 0x4)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/bw_stats.go:35 +0x40
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics.(Reporter).LogSentMessage-fm(0x4)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn/conn.go:16 +0x3b
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn.(*MeteredConn).Write(0xc447139580, 0xc42331e818, 0x4, 0x8, 0x55cf8c9576c0, 0xffd51c90f69ea001, 0xc42331e818)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn/conn.go:37 +0x88
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*singleConn).Write(0xc43b677940, 0xc42331e818, 0x4, 0x8, 0xf8bb26ff0000002c, 0x2fa50fb58a7f20b4, 0x71374491428a2f98)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/conn.go:128 +0x54
encoding/binary.Write(0x7f58281dbd60, 0xc43b677940, 0x55cf8ce26bc0, 0x55cf8cef3580, 0x55cf8c92c400, 0xc42331e810, 0x55cf8c46972e, 0xc426bd6c90)
	/usr/lib/go/src/encoding/binary/binary.go:324 +0x2f7
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.WriteLen(0x7f58281dbd60, 0xc43b677940, 0x2c, 0x40, 0x40)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/num.go:14 +0xab
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*writer).WriteMsg(0xc45b0a00a0, 0xc477578930, 0x2c, 0x30, 0x0, 0x0)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/msgio.go:100 +0xaa
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*etmWriter).WriteMsg(0xc44340de40, 0xc42331e4c0, 0xc, 0xc, 0x0, 0x0)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/rw.go:73 +0x28a
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*etmWriter).Write(0xc44340de40, 0xc42331e4c0, 0xc, 0xc, 0x0, 0x0, 0x55cf8c525a9c)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/rw.go:42 +0x4f
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*readWriter).Write(0xc45b0a00c0, 0xc42331e4c0, 0xc, 0xc, 0xc426bd6e28, 0x55cf8c521908, 0x18)
	<autogenerated>:19 +0x6e
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*secureConn).Write(0xc441028ae0, 0xc42331e4c0, 0xc, 0xc, 0xc, 0x0, 0x0)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/secure_conn.go:118 +0x68
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).send(0xc441ad80b0)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:367 +0x182
created by gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.newSession
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:105 +0x461

goroutine 461673091 [semacquire, 5 minutes]:
sync.runtime_Semacquire(0xc42010476c)
	/usr/lib/go/src/runtime/sema.go:47 +0x32
sync.(*Mutex).Lock(0xc420104768)
	/usr/lib/go/src/sync/mutex.go:85 +0xd2
sync.(*RWMutex).Lock(0xc420104768)
	/usr/lib/go/src/sync/rwmutex.go:86 +0x33
gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Swarm).removeStream(0xc420104750, 0xc473e39300, 0x0, 0x0)
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/conn.go:292 +0x3c
gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Stream).Close(0xc473e39300, 0x0, 0x0)
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/stream.go:81 +0x3a
gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Conn).Close(0xc4645f4080, 0x0, 0x0)
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/conn.go:151 +0xf4
created by gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Conn).GoClose
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/conn.go:131 +0xa0

goroutine 460650856 [semacquire, 5 minutes]:
sync.runtime_Semacquire(0xc466cca034)
	/usr/lib/go/src/runtime/sema.go:47 +0x32
sync.(*Mutex).Lock(0xc466cca030)
	/usr/lib/go/src/sync/mutex.go:85 +0xd2
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*writer).Close(0xc46b890100, 0x0, 0x0)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/msgio.go:108 +0x4c
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*etmWriter).Close(0xc464ebec60, 0x7f58281dbf58, 0xc464ebec60)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/rw.go:77 +0x3c
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*readWriter).Close(0xc46b8901a0, 0x55cf8ca6b538, 0xc4305b9f60)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/msgio.go:252 +0x2c6
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*secureSession).Close(0xc4305b9d40, 0x0, 0x0)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/interface.go:92 +0x9f
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*secureConn).Close(0xc447831080, 0x55cf8ca6b538, 0xc434a6d330)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/secure_conn.go:49 +0x36
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).Close(0xc434a6d290, 0x0, 0x0)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:219 +0xea
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).exitErr(0xc434a6d290, 0x55cf8ce16c80, 0xc42015cd40)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:238 +0x6c
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).keepalive(0xc434a6d290)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:300 +0x198
created by gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.newSession
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:107 +0x4b0

goroutine 460576693 [semacquire, 3 minutes]:
sync.runtime_Semacquire(0xc42033e684)
	/usr/lib/go/src/runtime/sema.go:47 +0x32
sync.(*Mutex).Lock(0xc42033e680)
	/usr/lib/go/src/sync/mutex.go:85 +0xd2
sync.(*RWMutex).Lock(0xc42033e680)
	/usr/lib/go/src/sync/rwmutex.go:86 +0x33
gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics.(*StandardMeter).Mark(0xc42033e680, 0x2c)
	/go/src/gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics/meter.go:152 +0x33
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics.(*BandwidthCounter).LogRecvMessage(0xc420046e80, 0x2c)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/bw_stats.go:39 +0x40
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics.(Reporter).LogRecvMessage-fm(0x2c)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn/conn.go:16 +0x3b
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn.(*MeteredConn).Read(0xc423776960, 0xc4267e2000, 0x2c, 0x1000, 0x0, 0xc464622ac8, 0x55cf8c04b084)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn/conn.go:30 +0x87
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*singleConn).Read(0xc4789903c0, 0xc4267e2000, 0x2c, 0x1000, 0x0, 0xc464622b28, 0x55cf8c07d4a6)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/conn.go:123 +0x54
io.ReadAtLeast(0x7f58281dbd38, 0xc4789903c0, 0xc4267e2000, 0x2c, 0x1000, 0x2c, 0x55cf8c469e34, 0xc464622b58, 0xc464622b68)
	/usr/lib/go/src/io/io.go:307 +0xa6
io.ReadFull(0x7f58281dbd38, 0xc4789903c0, 0xc4267e2000, 0x2c, 0x1000, 0xc464622bd8, 0x55cf8c46ad86, 0x7f58281dbd38)
	/usr/lib/go/src/io/io.go:325 +0x5a
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*reader).Read(0xc4857ae730, 0xc4267e2000, 0x2c, 0x1000, 0x0, 0x0, 0x0)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/msgio.go:186 +0xfd
io.ReadAtLeast(0x7f58281dc0e0, 0xc4857ae730, 0xc4267e2000, 0x2c, 0x1000, 0x2c, 0x55cf8c9d3e60, 0x0, 0x7f58281dc0e0)
	/usr/lib/go/src/io/io.go:307 +0xa6
io.ReadFull(0x7f58281dc0e0, 0xc4857ae730, 0xc4267e2000, 0x2c, 0x1000, 0xc464622cc0, 0x55cf8c2ab2a0, 0xc45d6cefa0)
	/usr/lib/go/src/io/io.go:325 +0x5a
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*etmReader).Read(0xc44bab5cb0, 0xc4267e2000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/rw.go:182 +0x19b
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*readWriter).Read(0xc427d3b640, 0xc4267e2000, 0x1000, 0x1000, 0xc, 0x0, 0x0)
	<autogenerated>:16 +0x6d
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*secureConn).Read(0xc4256e2ec0, 0xc4267e2000, 0x1000, 0x1000, 0xc, 0x0, 0x0)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/secure_conn.go:113 +0x68
bufio.(*Reader).fill(0xc480b4cc60)
	/usr/lib/go/src/bufio/bufio.go:97 +0x10e
bufio.(*Reader).Read(0xc480b4cc60, 0xc42710b6b0, 0xc, 0xc, 0xc464622e70, 0x55cf8c522d34, 0x10)
	/usr/lib/go/src/bufio/bufio.go:209 +0x1be
io.ReadAtLeast(0x55cf8ce16680, 0xc480b4cc60, 0xc42710b6b0, 0xc, 0xc, 0xc, 0xc, 0x0, 0x0)
	/usr/lib/go/src/io/io.go:307 +0xa6
io.ReadFull(0x55cf8ce16680, 0xc480b4cc60, 0xc42710b6b0, 0xc, 0xc, 0xc, 0x0, 0x0)
	/usr/lib/go/src/io/io.go:325 +0x5a
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).recvLoop(0xc44e37f3f0, 0x0, 0x0)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:411 +0xf5
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).recv(0xc44e37f3f0)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:399 +0x2d
created by gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.newSession
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:104 +0x43f

goroutine 461628544 [select, 5 minutes]:
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Stream).Read(0xc442016dd0, 0xc436780000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/stream.go:126 +0x26a
gx/ipfs/QmSHTSkxXGQgaHWz91oZV3CDy3hmKmDgpjbYRT6niACG4E/go-smux-yamux.(*stream).Read(0xc442016dd0, 0xc436780000, 0x1000, 0x1000, 0xc47797bd98, 0x0, 0xc47797bce0)
	/go/src/gx/ipfs/QmSHTSkxXGQgaHWz91oZV3CDy3hmKmDgpjbYRT6niACG4E/go-smux-yamux/yamux.go:20 +0x4b
gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Stream).Read(0xc47eb522c0, 0xc436780000, 0x1000, 0x1000, 0x0, 0x55cf8bebe000, 0xc423316510)
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/stream.go:73 +0x53
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/swarm.(*Stream).Read(0xc47eb522c0, 0xc436780000, 0x1000, 0x1000, 0x0, 0xc47797bc80, 0x55cf8c1b1a7f)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/swarm/swarm_stream.go:30 +0x4b
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/stream.(*meteredStream).Read(0xc4612a6240, 0xc436780000, 0x1000, 0x1000, 0x55cf8ce27960, 0xc477986360, 0xc4779880e0)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/stream/metered.go:37 +0x58
gx/ipfs/QmX6DhWrpBB5NtadXmPSXYNdVvuLfJXoFNMvUMoVvP5UJa/go-context/io.(*ctxReader).Read.func1(0xc47b09b800, 0xc436780000, 0x1000, 0x1000, 0xc46c0e15c0)
	/go/src/gx/ipfs/QmX6DhWrpBB5NtadXmPSXYNdVvuLfJXoFNMvUMoVvP5UJa/go-context/io/ctxio.go:108 +0x57
created by gx/ipfs/QmX6DhWrpBB5NtadXmPSXYNdVvuLfJXoFNMvUMoVvP5UJa/go-context/io.(*ctxReader).Read
	/go/src/gx/ipfs/QmX6DhWrpBB5NtadXmPSXYNdVvuLfJXoFNMvUMoVvP5UJa/go-context/io/ctxio.go:111 +0xdf

goroutine 460695337 [semacquire, 5 minutes]:
sync.runtime_Semacquire(0xc4466b929c)
	/usr/lib/go/src/runtime/sema.go:47 +0x32
sync.(*Mutex).Lock(0xc4466b9298)
	/usr/lib/go/src/sync/mutex.go:85 +0xd2
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*reader).Close(0xc445c5ab90, 0x0, 0x0)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/msgio.go:219 +0x4c
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*etmReader).Close(0xc458c85290, 0x7f58281dbf88, 0xc458c85290)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/rw.go:240 +0x36
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*readWriter).Close(0xc44596c320, 0x55cf8ca6b538, 0xc451e45ae0)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/msgio.go:257 +0x1cb
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*secureSession).Close(0xc451e458c0, 0x0, 0x0)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/interface.go:92 +0x9f
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*secureConn).Close(0xc42e8bbda0, 0x55cf8ca6b538, 0xc441ad9e30)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/secure_conn.go:49 +0x36
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).Close(0xc441ad9d90, 0x0, 0x0)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:219 +0xea
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).exitErr(0xc441ad9d90, 0x55cf8ce16c80, 0xc42015cd40)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:238 +0x6c
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).keepalive(0xc441ad9d90)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:300 +0x198
created by gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.newSession
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:107 +0x4b0

goroutine 460724446 [semacquire, 5 minutes]:
sync.runtime_Semacquire(0xc4365d3664)
	/usr/lib/go/src/runtime/sema.go:47 +0x32
sync.(*Mutex).Lock(0xc4365d3660)
	/usr/lib/go/src/sync/mutex.go:85 +0xd2
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*secureSession).Handshake(0xc4365d3440, 0x0, 0x0)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/protocol.go:95 +0x51
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*secureSession).RemotePeer(0xc4365d3440, 0x55cf8be947b0, 0xc4289e8e78)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/interface.go:70 +0x2d
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*secureConn).RemotePeer(0xc462d226c0, 0x7f58281dbff0, 0xc462d226c0)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/secure_conn.go:98 +0x36
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/swarm.(*Conn).RemotePeer(0xc42e985800, 0x55cf8ce26ec0, 0xc42e985800)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/swarm/swarm_conn.go:65 +0x7a
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/host/basic.(*BasicHost).newStreamHandler(0xc4202f6fa0, 0x55cf8ce21e80, 0xc451f82100)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/host/basic/basic_host.go:108 +0x261
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/host/basic.(*BasicHost).(gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/host/basic.newStreamHandler)-fm(0x55cf8ce21e80, 0xc451f82100)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/host/basic/basic_host.go:92 +0x40
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/swarm.(*Swarm).SetStreamHandler.func1(0xc451f82100)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/swarm/swarm.go:222 +0x3d
gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Swarm).addConn.func1(0x55cf8ce1fb80, 0xc44c8c1450)
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/conn.go:203 +0x79
created by gx/ipfs/QmSHTSkxXGQgaHWz91oZV3CDy3hmKmDgpjbYRT6niACG4E/go-smux-yamux.(*conn).Serve
	/go/src/gx/ipfs/QmSHTSkxXGQgaHWz91oZV3CDy3hmKmDgpjbYRT6niACG4E/go-smux-yamux/yamux.go:70 +0x61

goroutine 460685965 [semacquire, 5 minutes]:
sync.runtime_Semacquire(0xc43d7d815c)
	/usr/lib/go/src/runtime/sema.go:47 +0x32
sync.(*Mutex).Lock(0xc43d7d8158)
	/usr/lib/go/src/sync/mutex.go:85 +0xd2
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*writer).Close(0xc4639ccee0, 0x0, 0x0)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/msgio.go:108 +0x4c
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*etmWriter).Close(0xc420a34dc0, 0x7f58281dbf58, 0xc420a34dc0)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/rw.go:77 +0x3c
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*readWriter).Close(0xc4639ccf00, 0x55cf8ca6b538, 0xc46c02eb20)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/msgio.go:252 +0x2c6
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*secureSession).Close(0xc46c02e900, 0x0, 0x0)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/interface.go:92 +0x9f
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*secureConn).Close(0xc43499fcc0, 0x55cf8ca6b538, 0xc435836e60)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/secure_conn.go:49 +0x36
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).Close(0xc435836dc0, 0x0, 0x0)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:219 +0xea
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).exitErr(0xc435836dc0, 0x55cf8ce16c80, 0xc42015cd40)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:238 +0x6c
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).keepalive(0xc435836dc0)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:300 +0x198
created by gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.newSession
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:107 +0x4b0

goroutine 460678674 [select]:
github.com/ipfs/go-ipfs/exchange/bitswap.(*msgQueue).runQueue(0xc4488ec540, 0x55cf8ce23300, 0xc4200470c0)
	/go/src/github.com/ipfs/go-ipfs/exchange/bitswap/wantmanager.go:166 +0x1cb
created by github.com/ipfs/go-ipfs/exchange/bitswap.(*WantManager).startPeerHandler
	/go/src/github.com/ipfs/go-ipfs/exchange/bitswap/wantmanager.go:139 +0x38a

goroutine 460578809 [semacquire, 5 minutes]:
sync.runtime_Semacquire(0xc44c627fb4)
	/usr/lib/go/src/runtime/sema.go:47 +0x32
sync.(*Mutex).Lock(0xc44c627fb0)
	/usr/lib/go/src/sync/mutex.go:85 +0xd2
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*writer).Close(0xc46b71e2a0, 0x0, 0x0)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/msgio.go:108 +0x4c
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*etmWriter).Close(0xc44da4db80, 0x7f58281dbf58, 0xc44da4db80)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/rw.go:77 +0x3c
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*readWriter).Close(0xc46b71e380, 0x55cf8ca6b538, 0xc44c058b20)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/msgio.go:252 +0x2c6
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*secureSession).Close(0xc44c058900, 0x0, 0x0)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/interface.go:92 +0x9f
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*secureConn).Close(0xc45ce4b420, 0x55cf8ca6b538, 0xc437701f90)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/secure_conn.go:49 +0x36
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).Close(0xc437701ef0, 0x0, 0x0)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:219 +0xea
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).exitErr(0xc437701ef0, 0x55cf8ce16c80, 0xc42015cd40)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:238 +0x6c
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).keepalive(0xc437701ef0)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:300 +0x198
created by gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.newSession
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:107 +0x4b0

goroutine 460591548 [select]:
github.com/ipfs/go-ipfs/exchange/bitswap.(*msgQueue).runQueue(0xc42e131d40, 0x55cf8ce23300, 0xc4200470c0)
	/go/src/github.com/ipfs/go-ipfs/exchange/bitswap/wantmanager.go:166 +0x1cb
created by github.com/ipfs/go-ipfs/exchange/bitswap.(*WantManager).startPeerHandler
	/go/src/github.com/ipfs/go-ipfs/exchange/bitswap/wantmanager.go:139 +0x38a

goroutine 461673201 [semacquire, 5 minutes]:
sync.runtime_Semacquire(0xc42010476c)
	/usr/lib/go/src/runtime/sema.go:47 +0x32
sync.(*Mutex).Lock(0xc420104768)
	/usr/lib/go/src/sync/mutex.go:85 +0xd2
sync.(*RWMutex).Lock(0xc420104768)
	/usr/lib/go/src/sync/rwmutex.go:86 +0x33
gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Swarm).removeStream(0xc420104750, 0xc4534cc640, 0x0, 0xffffffffffffffff)
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/conn.go:292 +0x3c
gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Stream).Close(0xc4534cc640, 0xc422e750a0, 0x4)
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/stream.go:81 +0x3a
gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Conn).Close(0xc446de3900, 0x0, 0x0)
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/conn.go:151 +0xf4
created by gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Conn).GoClose
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/conn.go:131 +0xa0

goroutine 460654723 [select]:
github.com/ipfs/go-ipfs/exchange/bitswap.(*msgQueue).runQueue(0xc422e92660, 0x55cf8ce23300, 0xc4200470c0)
	/go/src/github.com/ipfs/go-ipfs/exchange/bitswap/wantmanager.go:166 +0x1cb
created by github.com/ipfs/go-ipfs/exchange/bitswap.(*WantManager).startPeerHandler
	/go/src/github.com/ipfs/go-ipfs/exchange/bitswap/wantmanager.go:139 +0x38a

goroutine 461673101 [semacquire, 5 minutes]:
sync.runtime_Semacquire(0xc42010476c)
	/usr/lib/go/src/runtime/sema.go:47 +0x32
sync.(*Mutex).Lock(0xc420104768)
	/usr/lib/go/src/sync/mutex.go:85 +0xd2
sync.(*RWMutex).Lock(0xc420104768)
	/usr/lib/go/src/sync/rwmutex.go:86 +0x33
gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Swarm).removeStream(0xc420104750, 0xc476dc4800, 0x0, 0x0)
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/conn.go:292 +0x3c
gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Stream).Close(0xc476dc4800, 0x0, 0x0)
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/stream.go:81 +0x3a
gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Conn).Close(0xc45ff36e00, 0x0, 0x0)
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/conn.go:151 +0xf4
created by gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Conn).GoClose
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/conn.go:131 +0xa0

goroutine 460701561 [select, 23 minutes]:
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Stream).Read(0xc43b7215f0, 0xc4254c1000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/stream.go:126 +0x26a
gx/ipfs/QmSHTSkxXGQgaHWz91oZV3CDy3hmKmDgpjbYRT6niACG4E/go-smux-yamux.(*stream).Read(0xc43b7215f0, 0xc4254c1000, 0x1000, 0x1000, 0x55cf8bea1450, 0xc456872d18, 0xc400000001)
	/go/src/gx/ipfs/QmSHTSkxXGQgaHWz91oZV3CDy3hmKmDgpjbYRT6niACG4E/go-smux-yamux/yamux.go:20 +0x4b
gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Stream).Read(0xc45e84f300, 0xc4254c1000, 0x1000, 0x1000, 0x55cf8be97a7d, 0xc456872d18, 0x0)
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/stream.go:73 +0x53
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/swarm.(*Stream).Read(0xc45e84f300, 0xc4254c1000, 0x1000, 0x1000, 0x0, 0xc456872cc0, 0xc42003ff70)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/swarm/swarm_stream.go:30 +0x4b
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/stream.(*meteredStream).Read(0xc45e84f540, 0xc4254c1000, 0x1000, 0x1000, 0x29, 0x0, 0x0)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/stream/metered.go:37 +0x58
gx/ipfs/QmX6DhWrpBB5NtadXmPSXYNdVvuLfJXoFNMvUMoVvP5UJa/go-context/io.(*ctxReader).Read.func1(0xc442f71660, 0xc4254c1000, 0x1000, 0x1000, 0xc456873140)
	/go/src/gx/ipfs/QmX6DhWrpBB5NtadXmPSXYNdVvuLfJXoFNMvUMoVvP5UJa/go-context/io/ctxio.go:108 +0x57
created by gx/ipfs/QmX6DhWrpBB5NtadXmPSXYNdVvuLfJXoFNMvUMoVvP5UJa/go-context/io.(*ctxReader).Read
	/go/src/gx/ipfs/QmX6DhWrpBB5NtadXmPSXYNdVvuLfJXoFNMvUMoVvP5UJa/go-context/io/ctxio.go:111 +0xdf

goroutine 460611441 [semacquire, 5 minutes]:
sync.runtime_Semacquire(0xc42033e704)
	/usr/lib/go/src/runtime/sema.go:47 +0x32
sync.(*Mutex).Lock(0xc42033e700)
	/usr/lib/go/src/sync/mutex.go:85 +0xd2
sync.(*RWMutex).Lock(0xc42033e700)
	/usr/lib/go/src/sync/rwmutex.go:86 +0x33
gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics.(*StandardMeter).Mark(0xc42033e700, 0x4)
	/go/src/gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics/meter.go:152 +0x33
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics.(*BandwidthCounter).LogSentMessage(0xc420046e80, 0x4)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/bw_stats.go:35 +0x40
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics.(Reporter).LogSentMessage-fm(0x4)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn/conn.go:16 +0x3b
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn.(*MeteredConn).Write(0xc43c586660, 0xc42331f878, 0x4, 0x8, 0x55cf8c9576c0, 0xdb57a0d18fb37901, 0xc42331f878)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn/conn.go:37 +0x88
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*singleConn).Write(0xc44ca94580, 0xc42331f878, 0x4, 0x8, 0x906eadfd0000002c, 0xc501fe277c0842eb, 0x71374491428a2f98)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/conn.go:128 +0x54
encoding/binary.Write(0x7f58281dbd60, 0xc44ca94580, 0x55cf8ce26bc0, 0x55cf8cef3580, 0x55cf8c92c400, 0xc42331f870, 0x55cf8c46972e, 0xc4634f7c90)
	/usr/lib/go/src/encoding/binary/binary.go:324 +0x2f7
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.WriteLen(0x7f58281dbd60, 0xc44ca94580, 0x2c, 0x40, 0x40)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/num.go:14 +0xab
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*writer).WriteMsg(0xc43ac47ba0, 0xc477579200, 0x2c, 0x30, 0x0, 0x0)
	/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/msgio.go:100 +0xaa
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*etmWriter).WriteMsg(0xc4530ecb00, 0xc422e2d460, 0xc, 0xc, 0x0, 0x0)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/rw.go:73 +0x28a
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*etmWriter).Write(0xc4530ecb00, 0xc422e2d460, 0xc, 0xc, 0x0, 0x0, 0x0)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/rw.go:42 +0x4f
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*readWriter).Write(0xc43ac47c00, 0xc422e2d460, 0xc, 0xc, 0xc4634f7e28, 0x55cf8c521908, 0x18)
	<autogenerated>:19 +0x6e
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*secureConn).Write(0xc44fccc5c0, 0xc422e2d460, 0xc, 0xc, 0xc, 0x0, 0x0)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/secure_conn.go:118 +0x68
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).send(0xc44ee3e790)
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:367 +0x182
created by gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.newSession
	/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:105 +0x461

goroutine 460629561 [select]:
github.com/ipfs/go-ipfs/exchange/bitswap.(*msgQueue).runQueue(0xc43a474600, 0x55cf8ce23300, 0xc4200470c0)
	/go/src/github.com/ipfs/go-ipfs/exchange/bitswap/wantmanager.go:166 +0x1cb
created by github.com/ipfs/go-ipfs/exchange/bitswap.(*WantManager).startPeerHandler
	/go/src/github.com/ipfs/go-ipfs/exchange/bitswap/wantmanager.go:139 +0x38a

goroutine 460652269 [semacquire, 5 minutes]:
sync.runtime_Semacquire(0xc44a5d5664)
	/usr/lib/go/src/runtime/sema.go:47 +0x32
sync.(*Mutex).Lock(0xc44a5d5660)
	/usr/lib/go/src/sync/mutex.go:85 +0xd2
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*secureSession).Handshake(0xc44a5d5440, 0x0, 0x0)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/protocol.go:95 +0x51
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*secureSession).RemotePeer(0xc44a5d5440, 0x55cf8be947b0, 0xc441ce2e78)
	/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/interface.go:70 +0x2d
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*secureConn).RemotePeer(0xc440071c20, 0x7f58281dbff0, 0xc440071c20)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/secure_conn.go:98 +0x36
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/swarm.(*Conn).RemotePeer(0xc451850580, 0x55cf8ce26ec0, 0xc451850580)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/swarm/swarm_conn.go:65 +0x7a
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/host/basic.(*BasicHost).newStreamHandler(0xc4202f6fa0, 0x55cf8ce21e80, 0xc43fd54200)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/host/basic/basic_host.go:108 +0x261
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/host/basic.(*BasicHost).(gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/host/basic.newStreamHandler)-fm(0x55cf8ce21e80, 0xc43fd54200)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/host/basic/basic_host.go:92 +0x40
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/swarm.(*Swarm).SetStreamHandler.func1(0xc43fd54200)
	/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/swarm/swarm.go:222 +0x3d
gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream.(*Swarm).addConn.func1(0x55cf8ce1fb80, 0xc44b312410)
	/go/src/gx/ipfs/QmduCCgTaLnxwwf9RFQy2PMUytrKcEH9msohtVxSBZUdgu/go-peerstream/conn.go:203 +0x79
created by gx/ipfs/QmSHTSkxXGQgaHWz91oZV3CDy3hmKmDgpjbYRT6niACG4E/go-smux-yamux.(*conn).Serve
	/go/src/gx/ipfs/QmSHTSkxXGQgaHWz91oZV3CDy3hmKmDgpjbYRT6niACG4E/go-smux-yamux/yamux.go:70 +0x61

@Stebalien
Copy link
Member

I believe the parts of this issue that haven't been fixed are covered by:

We still leak go routines but should probably have individual issues for each case (and again, the main ones mentioned here have been fixed).

@ghost ghost removed the status/deferred Conscious decision to pause or backlog label Nov 22, 2017
@Stebalien Stebalien reopened this Dec 11, 2017
@Stebalien
Copy link
Member

I'm reopening this because that goroutine dump in #2823 (comment) is gold mine.

Stebalien added a commit to libp2p/go-msgio that referenced this issue Dec 11, 2017
In libp2p, Close is assumed to be threadsafe and we'd like to interrupt
in-progress reads/writes.

As a matter of fact, we're lucky this hasn't caused close to hang. If we had
tried to close the reader before closing the writer, we would have blocked on a
concurrent read call.

Part of ipfs/kubo#2823
@Stebalien
Copy link
Member

OK, there's only one additional unfixed issue: libp2p/go-msgio#8

Another issue is that peerstream.removeStream was blocking. However, this has already been fixed in the latest peerstream (which is in the latest go-ipfs release).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug A bug in existing code (including security flaws) topic/perf Performance
Projects
None yet
Development

No branches or pull requests

8 participants