Giter Site home page Giter Site logo

ethersphere / bee Goto Github PK

View Code? Open in Web Editor NEW
1.4K 55.0 337.0 100.37 MB

Bee is a Swarm client implemented in Go. It’s the basic building block for the Swarm network: a private; decentralized; and self-sustaining network for permissionless publishing and access to your (application) data.

Home Page: https://www.ethswarm.org

License: BSD 3-Clause "New" or "Revised" License

Go 99.59% Makefile 0.14% Dockerfile 0.02% Shell 0.24% JavaScript 0.02%
ethereum swarm go golang bee

bee's People

Contributors

acha-bill avatar acud avatar agazso avatar aloknerurkar avatar anatollupacescu avatar auhau avatar dependabot[bot] avatar eknir avatar gasperx93 avatar istae avatar janos avatar jmozah avatar ldeffenb avatar metacertain avatar mortelli avatar mrekucci avatar nolash avatar notanatol avatar paxthemax avatar pradovic avatar r0qs avatar ralph-pichler avatar santicomp2014 avatar significance avatar svetomir avatar umerm-work avatar vandot avatar vladopajic avatar zbiljic avatar zelig avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bee's Issues

PSS

Description

As a decentralized application developer, I want to send private messages to other nodes who might be offline or online, such that we can interact without being noticed and without risk of being censored.

Background

  • BOS (sec 4.4)

Acceptance criteria

  • A message can be send to any other node in the Swarm network without leaking the content of the message nor the fact that we are messaging
  • The message should be received, even if not online at, or directly after, the moment of sending

Handle handshake of already connected node

Task

Currently, we check if the handshake is performed for already connectd node, and disconnect the node if this is the case. However, this is not covering the case when 2 nodes try to connect to each other at the same time. There is not way to handle this, as it will result in a disconnect of the node.
One solution is to disconnect the node only if it is trying to perform multiple handshakes from one direction. This way, multiple handshakes will be banned, but we will still not have a race condition when 2 nodes connect to each other, as it can happen just by the nature of the design.

Acceptance criterea

Full connectivity driver should not result in multiple handshake failures when connecting multiple nodes at once (this result in multiple parallel connection attemts between nodes, but only one attempt in one directiopn)

Local pinning

Story

As a Swarm gateway operator, I want to persist certain chunks, such that I can give my users the possibility of persisting their content.

Background

Acceptance criteria

TestBroadcastPeers failed

TestBroadcastPeers in hive failed in CI https://github.com/ethersphere/bee/runs/564693796#step:10:92 with less addresses received than expected.

=== RUN   TestBroadcastPeers
##[error]    TestBroadcastPeers: hive_test.go:157: Overlays got [733401bd68dae68b4df1a8c634fede66007b9c7f082af0ab6915823941290512 7926529c878a0c5ffbf91653a8fba3483d61c314d4bbd97551615bf710f99673 4750b5056b539512de01178d44c97e6c41d47748f4f54cbce4ef14b0a2b1b9c3 3694a211c57eb63844c4c7a0eb59a91c58f4e80a5dc3e5732caef3d19b5eb094 25df6a9d1e3434f25770d4844d05102f1d5652ba6b92c7f68739c48234a42ff7 013ddafe7a64c86b6a64a611f58896a299f4fcce45f2ac649c7515880dfbcea1 03e224f942d4cc8b5d3caa5dca29544a4940146e82f09a4ef16764a746525e21 d85c3ebb1fd43396dc516087b40362346ba5a06de1a5df6e5db32e2215e9f0f1 52c1cb86d85caf5a7b71c47f6bd883f33ac05a8551a55f07771b859f1c0e89be fc071b9f08c4f1b3db06e5607df7a77e1a3e43b9e3a1f26dcae8f11977be4569 e6e026bcbb23a7bdfc1d3c97cd507c86d42d6b6ada8dd64da9288fbe299d210a 11b3fb805efaa218bfbb76ba9843ed1889a3c695d60c801f9953787ed68d8df4 cc555fe51b3eebaf1416c726d419d7ad46b843e02a01433f84dda26e83497992 9aa6b170cf125927d2bf0bc7dc22786003642ae3f0dbcf30a37cb9343d485a97 6e914987cf56be80810992d9f3a0a2fe16c3e85c27bb26c9d9730465e51c3063 396cc1bf9b82ecc4fd9dd66a42ddba6399ac8feb0faa0cc31f9da9fccd96b1fc c2145fd9be4f114888fdc7dce7a99ef3df69c12ea65d48a71e98017a5f575ef5 3cae61cfb3ee7d1d819b2b122f55c611aeded2f4c7218e5de6fbdb9499145939 191e248439e4036cd7d3c4ed70dce1300f9bf1663478ab174942540e88617162], want [013ddafe7a64c86b6a64a611f58896a299f4fcce45f2ac649c7515880dfbcea1 191e248439e4036cd7d3c4ed70dce1300f9bf1663478ab174942540e88617162 e6e026bcbb23a7bdfc1d3c97cd507c86d42d6b6ada8dd64da9288fbe299d210a 396cc1bf9b82ecc4fd9dd66a42ddba6399ac8feb0faa0cc31f9da9fccd96b1fc 733401bd68dae68b4df1a8c634fede66007b9c7f082af0ab6915823941290512 7926529c878a0c5ffbf91653a8fba3483d61c314d4bbd97551615bf710f99673 c2145fd9be4f114888fdc7dce7a99ef3df69c12ea65d48a71e98017a5f575ef5 03e224f942d4cc8b5d3caa5dca29544a4940146e82f09a4ef16764a746525e21 11b3fb805efaa218bfbb76ba9843ed1889a3c695d60c801f9953787ed68d8df4 d85c3ebb1fd43396dc516087b40362346ba5a06de1a5df6e5db32e2215e9f0f1 cc555fe51b3eebaf1416c726d419d7ad46b843e02a01433f84dda26e83497992 3cae61cfb3ee7d1d819b2b122f55c611aeded2f4c7218e5de6fbdb9499145939 4750b5056b539512de01178d44c97e6c41d47748f4f54cbce4ef14b0a2b1b9c3 9aa6b170cf125927d2bf0bc7dc22786003642ae3f0dbcf30a37cb9343d485a97 52c1cb86d85caf5a7b71c47f6bd883f33ac05a8551a55f07771b859f1c0e89be 3694a211c57eb63844c4c7a0eb59a91c58f4e80a5dc3e5732caef3d19b5eb094 25df6a9d1e3434f25770d4844d05102f1d5652ba6b92c7f68739c48234a42ff7 6e914987cf56be80810992d9f3a0a2fe16c3e85c27bb26c9d9730465e51c3063 2926b58f7013b26bac9fc00736d414ba1cca595cb4e7ede28e1f6a5dd2ede4a3 aaee37864a187b770046adbb3b70b4fc25949ef5ba6021f176f488d4f2ca8bba ad88270832a38fbb66bf8acbb801a1464591ee62a8c63d38433df4491e960da9 0127ecdff2f7945effd30cd18f1a8b6d21f20fa965eff2726ada463db5249a18 1346793328c801c257722c00da363a1ed0b5524e1ca14c177c95b5eb483a636a 7ef66b94ccac12e906e72203dbe39525651f298f7ebcbb745c5c28a46ffbcaf2 462dc9d1a066832dec5a609a457da4278677c736bc4faa62352b9952cd19fb3f ba9f0c60aa1ef136c9e470db5ee2ec30cb1857c7341c90aefca2c0b70798c7e0 0c6c1c3547de8f7a25f84bcca27d4edc4b0620e6ef3798dc3d75d7005552444b 979b58daf4a5e5d1cac0581cfbef4c5c9c37bee49c63286ecaa4934d375cd8d9 d334b3fccff802bf0385ec9c2b6aa116fbc58285cb44c71d7f5dcd1fc458ecaf 7eb9e503862f39bd832ce66ba355a7f66573c47937ff9af0e1f735d90040a5cf 867b16cbaaca81e844a28f922e0497a8fde9c33dc3aa285b85d1691579700d97 60c31e313602be9bb9dbacad90118b1b69111c72932ba63404abf34170479045 18852c742dff01b9f61ff145e4797847e300f711c40aa8fc11dfe73e6d419727 bbb128caec96e74c73e7dc5d6c8dcd57a5d5f5c10237f5702720605e838b49a0 4e4c30d47e33f93d780f87cf720d3d1b21afb3d31c83277088bc15c60b483c04 7e5f21762d0608474ef8dc175bd93f9c3b4809f97e7c6ba2938d26e02a52a92c 7b3cc9e0841b4810ccca4a5f21c731990e8344f361d7edaf7b3e8566f46406ca 273a85faaba071280f70e310778c591972d8d00af4ccb7c896b168b04dded55b bba4913bbc8f0c6ab8d87311961b47f414eca1b3d532f34ae85502bf3285b1c2 5f9162029d54221cf0e12e7afed63cd7308a27279df05c10d29d4193e950b8a9 d84a4e2600ccf947ad0efaaa103d140d60d6f332d979d8b7a3ffaddbfa08a79e 3a39d69f122be44db0fb2d274fb0f7eabef0e494adeb9615610dcb7c2f53c58e 9a15acdd3e1a3dd4460879f4a6333db18c379723788b5c2db222ff69a81952e4 2c3d14ea8f299a69df78eb55693d03578d6a1254680207506fec622d7f1b99aa a89721323acd8d60de469dba3530ca869ee66bed8c47121f35864c25d0d2c8d4 c756ffa579fd7c7b4ec14db57399dd243c1898707a795f3e7fa2b9096d4bfd92 bd3f466e4a4e0049f7368dc49a4c811b21c3e008a7c52fb5f839cde6ba348163 cf73fdc76c5c76b1a0863e288456bad4c6d883c72b2de2a04872de7620dbf542 14cecf2daf2a5d9949f6d56ab7f08f941a721d839c4bb4966f9f71c1403b5715 4fb03aa474898116e75d93796d7781577061011cd35f69eb9b1a3654743d726e fc071b9f08c4f1b3db06e5607df7a77e1a3e43b9e3a1f26dcae8f11977be4569 f1c9f1e3fcd64ad2acad54c9a40a686571875f4f0f8ce9b4e27d2d44ff71bbf2 a34a0ca225b33554421bd2e7c49fe4c103d12458c3c5d21b829b8cfa26f174d1 2e29d83bc9b3db7cdd75866176d512ec12952f7cf85a10fd1bf7716488dc04a0 0a6f92f67dce2ae16fde0b8ee15d53fc92e24de8007c0a774802d866a85d7af6 f3faaac45bc7c7c94ccd8af6f00f3cf03e29a98e54d8393c56be553e9393194e 268a93de1c00809d0fb7c15f6713381aa0f2f8764ba835a9185eaf9c70e34ec4 ff127a5235678d96cd3e76b460030921feda0cbc8c4bdbc6dcc6fab23c448ed6 70a6a3f2ebfea9df7ebfa31b707699f158cd6ad7b8455167376cda2a787b4f7e 88fcb27ed825c22fe4b2dbcb378b21e44ca08d0364369ca159086bd7b656cd68]
##[error]    TestBroadcastPeers: hive_test.go:161: Multiaddresses got [/ip4/127.0.0.1/udp/0 /ip4/127.0.0.1/udp/4 /ip4/127.0.0.1/udp/5 /ip4/127.0.0.1/udp/12 /ip4/127.0.0.1/udp/15 /ip4/127.0.0.1/udp/16 /ip4/127.0.0.1/udp/2 /ip4/127.0.0.1/udp/7 /ip4/127.0.0.1/udp/9 /ip4/127.0.0.1/udp/14 /ip4/127.0.0.1/udp/50 /ip4/127.0.0.1/udp/3 /ip4/127.0.0.1/udp/8 /ip4/127.0.0.1/udp/10 /ip4/127.0.0.1/udp/13 /ip4/127.0.0.1/udp/17 /ip4/127.0.0.1/udp/1 /ip4/127.0.0.1/udp/6 /ip4/127.0.0.1/udp/11], want [/ip4/127.0.0.1/udp/0 /ip4/127.0.0.1/udp/1 /ip4/127.0.0.1/udp/2 /ip4/127.0.0.1/udp/3 /ip4/127.0.0.1/udp/4 /ip4/127.0.0.1/udp/5 /ip4/127.0.0.1/udp/6 /ip4/127.0.0.1/udp/7 /ip4/127.0.0.1/udp/8 /ip4/127.0.0.1/udp/9 /ip4/127.0.0.1/udp/10 /ip4/127.0.0.1/udp/11 /ip4/127.0.0.1/udp/12 /ip4/127.0.0.1/udp/13 /ip4/127.0.0.1/udp/14 /ip4/127.0.0.1/udp/15 /ip4/127.0.0.1/udp/16 /ip4/127.0.0.1/udp/17 /ip4/127.0.0.1/udp/18 /ip4/127.0.0.1/udp/19 /ip4/127.0.0.1/udp/20 /ip4/127.0.0.1/udp/21 /ip4/127.0.0.1/udp/22 /ip4/127.0.0.1/udp/23 /ip4/127.0.0.1/udp/24 /ip4/127.0.0.1/udp/25 /ip4/127.0.0.1/udp/26 /ip4/127.0.0.1/udp/27 /ip4/127.0.0.1/udp/28 /ip4/127.0.0.1/udp/29 /ip4/127.0.0.1/udp/30 /ip4/127.0.0.1/udp/31 /ip4/127.0.0.1/udp/32 /ip4/127.0.0.1/udp/33 /ip4/127.0.0.1/udp/34 /ip4/127.0.0.1/udp/35 /ip4/127.0.0.1/udp/36 /ip4/127.0.0.1/udp/37 /ip4/127.0.0.1/udp/38 /ip4/127.0.0.1/udp/39 /ip4/127.0.0.1/udp/40 /ip4/127.0.0.1/udp/41 /ip4/127.0.0.1/udp/42 /ip4/127.0.0.1/udp/43 /ip4/127.0.0.1/udp/44 /ip4/127.0.0.1/udp/45 /ip4/127.0.0.1/udp/46 /ip4/127.0.0.1/udp/47 /ip4/127.0.0.1/udp/48 /ip4/127.0.0.1/udp/49 /ip4/127.0.0.1/udp/50 /ip4/127.0.0.1/udp/51 /ip4/127.0.0.1/udp/52 /ip4/127.0.0.1/udp/53 /ip4/127.0.0.1/udp/54 /ip4/127.0.0.1/udp/55 /ip4/127.0.0.1/udp/56 /ip4/127.0.0.1/udp/57 /ip4/127.0.0.1/udp/58 /ip4/127.0.0.1/udp/59]
--- FAIL: TestBroadcastPeers (0.05s)
FAIL
FAIL	github.com/ethersphere/bee/pkg/hive	0.082s

Saturation Depth

User story

Story

As a user of Swarm, I want to know my saturation depth, such that I can easily gauge how well I am connected and take action if I'm not well connected

Acceptance criteria

  • Given a set of connected nodes, user can ask the node about it's current saturation depth

Background

Definition of neighborhood depth (BOS): The neighbourhood depth in the context of saturation (minimum cardinality) constraints on proximity bins outside the nearest neighbourhood.

Tasks

Task Assignee Done (1), or 0
Be able to calculate neighborhood depth, given own node and set of other nodes unassigned 0
Calculate neighborhood depth based on current connectivity unassigned 0
Expose neighborhood depth metric unassigned 0

Storage incentivization

Description

Providing nodes a way to earn money on storing chunks, even when they are not accessed.

Resources

  • Postage lottery (see BOS)
  • RACE
  • REAR (not yet published)

Push sync receipts

Implement the receipts for push sync

  • message format for the receipt in pb and generate the code

  • while sending keep a note of chunks to receive receipts

  • In handler if the chunk is stored successfully, send a receipt

  • in the handler, if the message is a receipt, see if it is expected and remove from the list

  • How to handle chunks which don't receive receipts?

[USER-STORY] Discovery

Story

As a user of Swarm, I want to connect to all other nodes, such that I can start interacting with them

Acceptance criteria

  • Cluster of nodes is fired up all nodes connect to each other

Background

Tasks

Task Assignee Done (1), or 0
unassigned 0
give bootnode as cli parameter unassigned 1
connect to bootnode upon startup unassigned 1
improvement to connect to bootnode upon startup (see comment code) unassigned 0
API to learn about all connected / know about nodes unassigned 1
implement protocols unassigned 1
integration testing environment unassigned 0
add debug api endpoint to expose underlay multiaddresses to be used by infrastructure janos 0

Dependencies

Devops

  • Inferred DevOps infrastracture regarding cluster bootstrapping (k8s etc)
  • Either by using grafana charts or by monitoring logs
  • Production cluster of BEE nodes, exposed to the internet, select DNS names to be used as hardcoded bootnodes in BEE-code

Research

Protocol messages for discovery must be defined

URL based addressing

What: Serve websites from Swarm, using RNS/ENS domain names
Sub-stories:

  • Amend manifest to allow for serving websites in browser
  • Be able to connect Swarm node to Ethereum node and use ENS/RNS

Kademlia connectivity

Epic

Divided into 3 phases:

  • phase 0 - basic kademlia implementation - depth calculation and connection management
  • phase 1 - wire in kademlia to be used by the node by default (including all protocols)
  • phase 2 - choose protocol and implement scoring function

Story

As a user of Swarm, I don't want to connect to all online Swarm nodes, but still maintain the possibility to reach all online nodes, such that I can manage my peer connections more efficiently.

Background

Kademlia Connectivity

Tasks:

  • introduce notion of depth
  • create separate test vectors for pslice type
  • plug disconnection notification from peer registry to topology + tests
  • JSON API kademlia representation
  • Human consumable table format representation (I've settled for json.MarshalIndent for now...)
  • bootstrapping and connectivity maintenance:
    • add peers to kademlia but not necessarily connect to them directly
    • sync.Cond for new (known but unconnected) peers? but also for when a peer disconnects
    • worker goroutine to choose what to do with new peers added
    • mark and sweep when depth changes
    • short-circuit initial connections to build topology faster(not sure about this one)

Variable prices

Story

  • As a forwarding node, I want that my node chooses economical prices, such that I am making a profit on forwarding and my node is not too expensive, causing it to be avoided by peers.
  • As a final consumer of bandwidth, I want that my node chooses decently priced peers to forward my requests to, such that I don't overpay on bandwidth incentives.

Background

The prices for bandwidth in Swarm is currently hardcoded as an array of constants, that price the chunks which are further away as more expensive. Having hardcoded prices won't work, given expected volatility of the BZZ price. Furthermore, with hardcoded prices, Swarm developers will decide what the price of using Swarm should be and whenever this needs to change, we need to update the sourcecode which then should be simultaneously applied by all nodes. This is obviously not a working solution.
Variable pricing solves both issues, by introducing the possibility for nodes to signal what price they charge for delivering/requesting a chunk that proximity orders away. When we combine this with economical behavior of nodes (send requests to the cheapest nodes, initiate new connections if your current connections are overpriced), then we can create a market, where nodes compete with each other on price.
Economically, the market for bandwidth is close to perfect competition. Hence, we expect that introducing variable pricing will cause a strong downward pressure on prices, eventually benefiting the consumers of bandwidth on Swarm.

Status

🔨 communicate price table upon connection
🔨 continuously update price table based on information from retrieval and push sync protocols
✍️ price-based routing
✍️ guarantee profit for each request

Upload confirmation

Tags for chunks and files would be several PRs. But this is the scope

  • Chunk Upload

    • When uploading a chunk if the header has x-swarm-tag add a unique tagId to it
    • This tag-id is sent in the return http header of the upload for further querying
    • This tagId will be intercepted in the bee and added in the push sync struct
    • when a receipt is received for a given tagId, it is set in the tags DB as StateSynced
  • File Upload

    • during HTTP upload response send the tag-id of the file
    • A unique ID is generated for this file as in chunks
    • During splitting of the file, all the chunks are tagged with this ID and pushed to localstore
    • Pushed then takes it over and sends through pushsync and set StateSynced when receipts are received
  • Expose HTTP APIs GET https://host:port/bzz-tag/{tag-id}

  • Store tag information of files and their progress to be queried later

Encryption

What: be able to upload encrypted chunks, be able to download and decrypt them

API and Debug API documentation

As a user or developer I want to have a documentation on exposed API and Debug API such that I can use it to make correct HTTP requests to them.

In order to have a documentation of exposed HTTP APIs, the best format would be OpenAPI 3.0.

A previous attempt to automate generation of such specification #62 (comment) resulted in a conclusion that the tooling is not flexible and mature enough, with the suggestion to manually create and update specifications.

OpenAPI specifications can be put into docs/api/spec.yaml and docs/debugapi/spec.yaml in the bee repository. Autogenerated swagger files https://github.com/ethersphere/bee/blob/go-swagger/docs/api/swagger.yaml and https://github.com/ethersphere/bee/blob/go-swagger/docs/debugapi/swagger.yaml can be used as starting point, but not required.

Specifications should reflect functionalities implemented in pkg/api and pkg/debugapi packages with their router.go files as starting point. Following their handlers, would reveal request requirements and what responses are providing.

Additionally, a static Redoc can be added to the code for easier reading https://github.com/Redocly/redoc#tldr, alongside the spec.yaml files. Probably avoiding external cdn links for page assets.

Upload syncs to closest node

Epic

Story

As a user of Swarm, I want that my chunk is stored at the node whose address is closest to the address of the chunk, such that anybody who requests the chunk afterwards, knows where to find this chunk.

Background

Full connectivity

This epic can be fulfilled on a full-connectivity network. The node who uploads a chunk looks in his address book for the node whose address is closest to the address of the chunk. In a full connectivity network, this happens to be the node who is closest to the address of the chunk. In a partial connectivity network (i.e. Kademlia), this may or may not be the node who is closest to the address of the chunk. From the perspective of the node, however, this doesn't matter. He just forwards the push sync request to the connected node who is closest to the address of the chunk.

Note on pricing

For this epic, it will be sufficient to upload the chunk to the closest connected node. However, in the future, there might be a possibility where the closest connected node is not the node to whom we should forward the push-sync, if there is a node who is further away, but cheaper.

See (picture from BOS):
image

Acceptance criteria

  • In a network with full connectivity, 100 random chunks are uploaded, and every chunk is stored only at the node whose address is closest to the chunks address

Dependencies

  • Modify topology driver interface to have a SyncPeer method
  • Modify full topology driver implementation to return closest peer for SyncPeer
  • Create protocol boilerplate
  • Protocol sinks chunks from two sources - push sync localstore subscription and chunks coming from the network on the same protocol

Protocol test vectors:

  • make sure chunk gets picked up from localstore push index and gets sent to the closest peer
  • forwarding test - incoming message with chunk, check if there's a closer peer (there is, or maybe there is not) - forward to that peer
  • no forwarding test - check that node does not forward when it is the closest (handle toplogy.ErrWantSelf)

Migrate localstore from swarm to bee

Task

Localstore is the chunk storage implementation in the swarm project that needs to me migrated to the bee project. It depends on the shed package which currently uses leveldb to store data. It is agreed that badgerdb should be used instead, but in order to have clear trace of the changes and for easier code reviews, a multiple pull requests are beneficial. It is fine to have swarm and ethereum as dependencies between PRs, even if it does not look very nice, but it contributes to the clarity in the process.

  • 1. A PR that would include swarm shed package as it is.
  • 2. A PR that changes StructField to use encoding/json instead ethereum's rlp for encoding, to remove a dependency on ethereum codebase
  • 3. A PR that replaces shed ethereum's metrics with bee metrics, to remove a dependency on ethereum codebase
  • 4. A PR that replaces shed log library with bee logging library, to remove a dependency on swarm codebase
  • 5. A PR that replaces leveldb with badgerdb
  • 6. A PR that contains the localstore from swarm
  • 7. A PR that replaces localstore ethereum's metrics with bee metrics, to remove a dependency on ethereum codebase
  • 8. A PR that replaces localstore log library with bee logging library, to remove a dependency on swarm codebase
  • 9. A PR that removes explicit localstore migrations, but leaves the functionality to add new migrations
  • 10. A PR that migrates only needed swarm ethersphere/swarm/chunk package types to bee and replacing them in localstore
  • 11. A PR that replaces swarm shed with bee shed in localstore, and any references to leveldb that are left in localstore
  • 12. move localstore out of storage package
  • 13. fix SubscribePush tests that are set skipped in PR 11

Acceptance criterea

The goal would be to have localstore migrated to bee with the same exported api without any dependencies to swarm or ethereum projects.

Task: Automated Full Connectivity Integration Test

This test should serve as the POC for creating automated integration tests using private bee cluster in a form of executable application or script.

The test should relay that install (link needed) script would provide a cluster for test execution:

  • a specified number of bee nodes running in private cluster under a specified kubernetes namespace
  • predictable api and debug api addressing (domain) for each bee node
  • that the nodes are connected by using bootnode option upon start

The test should execute the following scenario:

  1. get from every bee node an overlay address through a debug api call GET /addresses (PR #78) field overlay
  2. get from every bee node a list of all connected node overlay addresses from debug api GET /peers HTTP response
  3. validate that every bee node has the list (from step 2.) of all other node's addresses
  4. if 3. fails retry from steps 2. and 3. after a short interval until a timeout is reached
  5. at the end, log gathered data for eventual manual validation

Suggested timeout is 1 minute and retry pause 1 second.

Further improvements would include running this application as a job in kubernetes bee cluster.

As previously discussed three approaches would be tried by @svetomir (go) @santicomp2014 (uber cadence) @acud (rust/python). This POC is expected to end on 14th April, where findings will be presented on a meeting.

Join chunks into sequential data

Epic

Story

As a node, i want to follow all references in merkle tree of swarm hashes to return the sequential data it represents

Background

This is a pre-requisite of being able to retrieve any data of size greater than a single chunk from a node.

Test discovery

Requirements for isolated testing:

  • ability to create an isolated (network ports only available through vpn) temporary cluster of bee nodes where an underlay multiaddress of one node should be used as --bootnode value configuration parameter so that all other nodes connect to it
  • ability to monitor the number of established connections for every node, preferably with bee_libp2p_created_connection_count and bee_libp2p_handled_connection_count metrics
  • ability to make http calls to bee API endpoint to every node in order to manually test pingpong protocol between nodes
  • ability to make http calls to bee Debug API endpoint to every node in order to list connected peers
  • ability to completely destroy created cluster

List of bee's underlay multiaddresses can be retrieved by issuing an HTTP call to $IP:$DEBUG_API_PORT/addresses when #44 is merged. An address which is not on a loopback interface should be selected to be provided to other nodes as --bootnode parameter.

Metrics are exposed for prometheus to be collected on $IP:$DEBUG_API_PORT/metrics.

Requirements for public testing:

  • two permanent publicly accessible bee nodes (over P2P and API ports) which underlay multiaddresses would be provided to be used as bootnodes while manually testing
  • ability to access their Debug API endpoints though vpn

Optional but useful:

  • access to tracing data and log messages for every node

cc @svetomir @vandot

Spam protection

Description

Attaches a cost to upload, similar to a postage stamp in normal mail. With this postage stamp, nodes will be able to make a better distinction on the value of recently-uploaded chunks. Hence, providing more information to the garbage collector process which protects chunks that are already in the network, while still allowing new chunks to join

Chunk upload / download

Epic

Story

As a user of Swarm, I want to be able to upload and download a single chunk across restarts, such that I can view content which I uploaded.

Acceptance criteria

  • Upload chunk to node via API, shut down node, retrieve same chunk via other API

Background

This epic implements basic functionality of Swarm:

  • uploading
  • downloading

Downloading of uploaded content should work after node restart and uploading should make sure that the chunk is valid.

The user story, explicitly doesn't involve a network and only allows for uploading of single-chunks.

Dependencies

Devops

Storage should not be deleted when we remove the pod - datadir should remain so the next pod gets scheduled with the same storage

Other

BMT dependency to ensure chunk is valid

Addressbook persistence

Task

implement addressbook persistence, pass errors in its methods and handle them

Acceptance criterea

Test addressbook persistence when node is started, while node is up and running, and after the node is shutdown

Value based garbage collection

Description

The garbage collection makes estimations on the profitabilty of chunks, including information from the storage incentive, as well as the bandwidth incentives and uses this information to make an economical decision on which chunks to delete

Balanced Kademlia

User story

Story

As a node operator, I want to evenly spread the connections that I make each bin, such that I minimize the expected hop count for any random request (given a fixed amount of connections)

Acceptance criteria

  • The average hopcount is reduced (compared to the current implementation)

Background

Old Swarm

Work on this was done in old Swarm (this PR as a reference).

Metabins

@metacertain has done research on this and he proposes to implement this concept with metabins. Each normal Kademlia bin contains a metabin, that on it's turn can contain 2 additional metabins or an array of peers. A metabin contains a value R which stands for the required number of peers in that bin and it is defined as the binSize (for the top metabin) or 1/2*R of the parent. When a metabin splits in two children metabins, the address space of the parent metabin is equally divided to the two children.
With this structure in place in both the connected peers and known peers, it becomes possible to implement the balanced kademlia logic, needed to fulfill the acceptance criteria of this issue.

Tasks

Task Assignee Done (1), or 0

partial full connectivity upload/download

Epic

Story

As a Swarm node which is only connected to one other Swarm node, I want that my chunk is stored at the node whose address is closest to the address of the chunk, such that anybody who requests the chunk afterwards, knows where to find this chunk.

Background

This epic builds on top of #48 and #49, but adds the forwarding of push-sync and retrieval messages. If a node is only connected to one other Swarm node, this one Swarm node always must forward the push-sync/retrieval messages.

Acceptance criteria

  • Given a node who is only connected to one (random) other node, an upload from this particular node reaches the destination (closest node).
  • Given a chunk that exists in the network, the node who is only connected to one (random) other node can download this chunk from the network

Maintaining connectivity

Epic

Story

As a Swarm node which is already in the network, I want to continuously adapt my connections based on the information which I get from my peer nodes and my own findings about nodes joining or leaving the network, such that I can route a message to any part of the network.

Background

Acceptance criteria

  • Given a node that has Kademlia connectivity, if any of his peer connections drop, Kademlia Connectivity is re-established again

push sync integration testing

Requirements for syncing integration testing:

  • generate random chunk data
  • upload the data to bee http api, register the content addressed hash returned by the api
  • iterate over all node addresses with DistanceCmp function, and for each chunk that is being uploaded, check which node address is closest to a given chunk address, i.e. which node should store that chunk
  • after a certain amount of time given to the nodes to sync, check for each chunk, that the closest node in the cluster has the chunk using the chunk debug api. if this fails the operation should be retried for resilience, until a certain timeout is reached
  • tests should be done on a cluster of minimum 3 nodes
  • should be tested ideally on larger clusters of 50 or 100 nodes
  • test should not test that chunk exists only on closer node, since intermediate node caching might occur, so for now, at least - this is not needed
  • multiple chunks should be uploaded on each run, not one chunk per run
  • seeds for random number generator that creates the data for the random chunk should be determined from time.Now().UnixNano() and should be logged in order to reproduce scenario in case of faliure

Global pinning

Story

  • As the uploader of Swarm content, I want that the pinners of my file are known, such that they can be contacted when one or more of my chunks are unavailable in the network.

  • As a user of Swarm who is downloading a file that is pinned and from which a chunk is lost, I want to reach out to the pinner and send him a message, such that the chunk is repaired and I can download the file.

Background

  • Pinners are announced via a single-owner chunk where the owner is the uploader and the identifier the content address of the pinned chunk (or root chunk of a collection of chunks).
  • POC code in the Swarm repo is available and implemented by @santicomp2014 and @mortelli

When a pinned content disappears from the network, it is not available to the downloaders. This Epic is about repairing the chunks which are missing.

Phases

  • Phase 0, Port from Swarm #440
  • Phase 1, Full integration with BEE #441
  • Phase 2, Integration Tests and Tweaks #442

Download fetches from closest node

Epic

Story

As a user of Swarm, I want to know to which node I should ask for delivery of a certain chunk, such that chunk that exists in the network is found by the node whom I ask.

Background

Global vs local closest

If chunk are stored by the node whose address is closest to the chunk (see #48), then the node should request chunk delivery from the node whose address is closest to the chunk. In a network with full connectivity, the node who is closest (local) is also the node who is closest (global), but when we implement partial connectivity, the decision to ask the closest (local) node should be a step in the direction towards the closest (global).

Incentivized protocol

The retrieval protocol was incentivized in the old Swarm. The incentives team made a post-mortem based on their work. For the acceptance criteria for this PR, it is not needed to be incentivized, but the ground should be made ready for this protocol to become incentivized.

Acceptance criteria

  • In a network where n random chunks are stored at the nodes whose addresses are closest to the respective chunks (see #48), a node is able to download all n chunks with 1 attempt per chunk

Dependencies

  • Adjust full topology ChunkPeer method to return closest peer
  • Introduce notion of NetStore. Strong emphasis on how we are going to do caching
  • Wire HTTP JSON API to try to retrieve chunk from localstore; when that fails - initiate network request through retrieval protocol, get the chunk, optionally store it then serve it to the requester

Bootstrapping

Epic

Story

As a user of Swarm, I want to join the Swarm network and connect to a subset of the online nodes, chosen such that I can reach the whole network, such that I am fully connected efficiently and quick.

Background

BOS:

As a node is being notified of new peer addresses, it stores them in a Kademlia table of known peers, also called \gloss{address book}. 

While it listens to incoming connections, it also proactively attempts to connect to nodes in order to achieve saturation: It 
(1) dials each known node that is within the \gloss{proximity order boundary} of $n$ \gloss{nearest neighbours} ($d$, \gloss{neighbourhood depth}) and 
(2) it tries to fill each bin up to $d$ with healthy peers (see figure \ref{fig:bootstrapping-kademlia}). 

To satisfy (1) most efficiently, it attempts to connect to the peer that is most needed at any point in time.
 Shallow (far) bins are more important to fill than deep (near) ones since they handle more volume. 
Filling an \gloss{empty bin} with one peer is more important than adding new peer to a non-empty bin, since it leads to a saturated Kademlia earlier. 
Therefore the protocol uses a \gloss{bottom-up  depth-first strategy} to choose a peer to connect to.   
Nodes that have been tried but failed to get connected are retried after a time interval that doubles after each attempt. 
After a certain number of attempts such nodes are no longer considered and eventually removed from the address book.

Acceptance criteria

From the point of view of a new node, joining the network:

  • Given a set of already running nodes, my node joins the network and establishes a connection with one node in every proximity order bin (see definition in BOS)

Routed ping-pong

User story

Story

As a devops engineer and user of Swarm, I want to send a ping message to any node in the network, such that I can estimate latency and verify connectivity

Acceptance criteria

  • Be able to send a ping message to any destination in the network, which is answered by a pong by the node whose address is closest to the address of the destination
  • pong is signed by the destination node
  • upon pass-back, counter increases for every hop

Background

Tasks

Task Assignee Done (1), or 0

Implement a breaker on frequent connection failures

Task

implement a breaker on frequent connection failures to protect from node connectivity issues


A potential problem can arise if a node has problems with establishing connections with other nodes, such as when the network does not work, or stops working. When there are a large number of connection errors for as short period of time to multiple nodes, a node should have a backoff implemented not to be too aggressive on trying to connect to peers from the addressbook, as that may result in a spike in resource utilisation (most notably cpu). This can happen when the node is started and when it tries to connect to peers from the addressbook. If the network is not working, it will produce a errors while trying to connect to peers, this rate of errors should be detected and a backoff mechanism should be imposed on the following connection attempts. As an additional feature, a retry to connect to previously failed known peers can be implemented so that the node can recover when it is back online. This may be a separate task, but it is highly related to this one.

Handshake timeout in CI

There has been an error while receiving a handshake message on GitHub Actions on macOS which tends to be slow.

=== RUN   TestConnectDisconnect
--- PASS: TestConnectDisconnect (1.10s)
=== RUN   TestDoubleConnect
--- PASS: TestDoubleConnect (1.48s)
=== RUN   TestDoubleDisconnect
--- PASS: TestDoubleDisconnect (2.77s)
=== RUN   TestMultipleConnectDisconnect
--- PASS: TestMultipleConnectDisconnect (0.68s)
=== RUN   TestConnectDisconnectOnAllAddresses
##[error]    TestConnectDisconnectOnAllAddresses: connections_test.go:181: handshake: read synack message: timeout
--- FAIL: TestConnectDisconnectOnAllAddresses (6.03s)

I have pasted more test results than just the one that failed as a sign that the root cause may be indeed only the slower environment where the test is run. It may be just goo enough to raise the timeout which is currently 5 seconds. WDYT @pradovic @acud ?

task: improve test time on p2p package

Task

Our p2p/libp2p abstraction tests take too long to complete (10-15s locally)
Also, p2p/protobuf takes 5 seconds to complete

Acceptance criteria

Improved execution time of test suite

Proximity metric

User story

Story

As a Swarm node, I want to know the proximity and distance of any address with another, such that I can use this information to start build up a Kademlia topology

Acceptance criteria

  • Given two random addresses, the node can calculate the proximity and distance between those addresses

Background

Note: distance is needed for the squared gaps issue
See:

  • BOS (Appendix A1)
  • ReadTheDocs, Architecture:
    image.png

Tasks

Task Assignee Done (1), or 0

Discovery

Story

As a user of Swarm, I want to connect to all other nodes, such that I can start interacting with them

Acceptance criteria

  • Cluster of nodes is fired up all nodes connect to each other

Background

Tasks

Task Assignee Done (1), or 0
unassigned 0
give bootnode as cli parameter unassigned 1
connect to bootnode upon startup unassigned 1
improvement to connect to bootnode upon startup (see comment code) unassigned 0
API to learn about all connected / know about nodes unassigned 1
implement protocols unassigned 1
integration testing environment unassigned 0
add debug api endpoint to expose underlay multiaddresses to be used by infrastructure janos 0

Dependencies

Devops

  • Inferred DevOps infrastracture regarding cluster bootstrapping (k8s etc)
  • Either by using grafana charts or by monitoring logs
  • Production cluster of BEE nodes, exposed to the internet, select DNS names to be used as hardcoded bootnodes in BEE-code

Research

Protocol messages for discovery must be defined

Topology init on node start

When node is starting, it will add initial nodes to connectivity driver from addressbook and connect to bootnodes if necessary. It can happen that it will get turned off by libp2p because bad network. This is a safety switch to reduce huge amount of connect calls/retries during network instability. In this case node should not die, and it should retry initial driver add when connectivity is restored.

Deadlock in libp2p Connect method

This issue is about a deadlock in the Connect method that happened in GitHub Actions (timed out after 10 minutes). I am providing the complete stack from the failure where it can be seen that there is only one goroutine 3816 which is running bee related code. This could be a sign that the deadlock is not caused by bee application logic. This issue is to document the problem that is observed. Maybe it would be good to update libp2p dependencies and solve this issue if it happens again.

https://pipelines.actions.githubusercontent.com/8SvviSJuBQKTgmsRevbi8TRLCmQQtM9TFQ7eGjsrArtrYh0rUh/_apis/pipelines/1/runs/1222/signedlogcontent/6?urlExpires=2020-04-16T11%3A27%3A58.2560940Z&urlSigningMethod=HMACV1&urlSignature=TbKXm1sw67v9tXYKy2Mm7cU1NOLZRwCCd8NLQ1cNobg%3D

2020-04-16T11:10:47.3530160Z === RUN   TestDoubleConnectOnAllAddresses
2020-04-16T11:10:47.3530350Z panic: test timed out after 10m0s
2020-04-16T11:10:47.3530520Z 
2020-04-16T11:10:47.3530780Z goroutine 5364 [running]:
2020-04-16T11:10:47.3530980Z testing.(*M).startAlarm.func1()
2020-04-16T11:10:47.3531300Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/testing/testing.go:1459 +0xdf
2020-04-16T11:10:47.3531510Z created by time.goFunc
2020-04-16T11:10:47.3531770Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/time/sleep.go:168 +0x44
2020-04-16T11:10:47.3531850Z 
2020-04-16T11:10:47.3532120Z goroutine 1 [chan receive, 9 minutes]:
2020-04-16T11:10:47.3547600Z testing.(*T).Run(0xc00013f320, 0x19932a8, 0x1f, 0x1ad89a0, 0x108c401)
2020-04-16T11:10:47.3547830Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/testing/testing.go:1043 +0x37e
2020-04-16T11:10:47.3548000Z testing.runTests.func1(0xc000234000)
2020-04-16T11:10:47.3548210Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/testing/testing.go:1284 +0x78
2020-04-16T11:10:47.3548460Z testing.tRunner(0xc000234000, 0xc00033fe10)
2020-04-16T11:10:47.3548670Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/testing/testing.go:991 +0xdc
2020-04-16T11:10:47.3549360Z testing.runTests(0xc000220020, 0x2237c60, 0x11, 0x11, 0x0)
2020-04-16T11:10:47.3549630Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/testing/testing.go:1282 +0x2a7
2020-04-16T11:10:47.3549790Z testing.(*M).Run(0xc0000cdc00, 0x0)
2020-04-16T11:10:47.3550000Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/testing/testing.go:1199 +0x15f
2020-04-16T11:10:47.3550130Z main.main()
2020-04-16T11:10:47.3550260Z 	_testmain.go:78 +0x135
2020-04-16T11:10:47.3550320Z 
2020-04-16T11:10:47.3550470Z goroutine 18 [select, 10 minutes]:
2020-04-16T11:10:47.3551140Z github.com/ipfs/go-log/writer.(*MirrorWriter).logRoutine(0xc0000aa4e0)
2020-04-16T11:10:47.3552200Z 	/Users/runner/go/pkg/mod/github.com/ipfs/[email protected]/writer/writer.go:71 +0x128
2020-04-16T11:10:47.3552810Z created by github.com/ipfs/go-log/writer.NewMirrorWriter
2020-04-16T11:10:47.3553400Z 	/Users/runner/go/pkg/mod/github.com/ipfs/[email protected]/writer/writer.go:36 +0xb9
2020-04-16T11:10:47.3554000Z 
2020-04-16T11:10:47.3554220Z goroutine 19 [select]:
2020-04-16T11:10:47.3554470Z go.opencensus.io/stats/view.(*worker).start(0xc0000d0140)
2020-04-16T11:10:47.3554730Z 	/Users/runner/go/pkg/mod/[email protected]/stats/view/worker.go:154 +0x100
2020-04-16T11:10:47.3554910Z created by go.opencensus.io/stats/view.init.0
2020-04-16T11:10:47.3555120Z 	/Users/runner/go/pkg/mod/[email protected]/stats/view/worker.go:32 +0x57
2020-04-16T11:10:47.3555200Z 
2020-04-16T11:10:47.3555390Z goroutine 3816 [select, 9 minutes]:
2020-04-16T11:10:47.3556170Z github.com/libp2p/go-libp2p/p2p/host/basic.(*BasicHost).dialPeer(0xc0000ad810, 0x1bd4b20, 0xc000c32e40, 0xc00048cea0, 0x27, 0x9, 0x1bf08eb000)
2020-04-16T11:10:47.3556840Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/p2p/host/basic/basic_host.go:625 +0x2fc
2020-04-16T11:10:47.3557680Z github.com/libp2p/go-libp2p/p2p/host/basic.(*BasicHost).Connect(0xc0000ad810, 0x1bd4b20, 0xc000c32e40, 0xc00048cea0, 0x27, 0xc00022fbd0, 0x1, 0x1, 0xc3f3293ea322750b, 0x638385e00e7d68bc)
2020-04-16T11:10:47.3558350Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/p2p/host/basic/basic_host.go:539 +0x2b4
2020-04-16T11:10:47.3558710Z github.com/ethersphere/bee/pkg/p2p/libp2p.(*Service).Connect(0xc000708780, 0x1bd4b20, 0xc000c32e40, 0x1bdf7e0, 0xc0008570a0, 0x0, 0x0, 0x0, 0x1bc1380, 0xc0000687f0)
2020-04-16T11:10:47.3558940Z 	/Users/runner/runners/2.169.0/work/bee/bee/pkg/p2p/libp2p/libp2p.go:317 +0x127
2020-04-16T11:10:47.3559180Z github.com/ethersphere/bee/pkg/p2p/libp2p_test.TestDoubleConnectOnAllAddresses(0xc00013f320)
2020-04-16T11:10:47.3559410Z 	/Users/runner/runners/2.169.0/work/bee/bee/pkg/p2p/libp2p/connections_test.go:211 +0x2ae
2020-04-16T11:10:47.3559640Z testing.tRunner(0xc00013f320, 0x1ad89a0)
2020-04-16T11:10:47.3559840Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/testing/testing.go:991 +0xdc
2020-04-16T11:10:47.3559990Z created by testing.(*T).Run
2020-04-16T11:10:47.3560200Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/testing/testing.go:1042 +0x357
2020-04-16T11:10:47.3560280Z 
2020-04-16T11:10:47.3560430Z goroutine 3962 [select, 9 minutes]:
2020-04-16T11:10:47.3560670Z github.com/jbenet/goprocess/context.CloseAfterContext.func1(0x1bd4b20, 0xc000b837c0, 0x1bdd460, 0xc00085c240)
2020-04-16T11:10:47.3560950Z 	/Users/runner/go/pkg/mod/github.com/jbenet/[email protected]/context/context.go:65 +0xd8
2020-04-16T11:10:47.3561150Z created by github.com/jbenet/goprocess/context.CloseAfterContext
2020-04-16T11:10:47.3561440Z 	/Users/runner/go/pkg/mod/github.com/jbenet/[email protected]/context/context.go:64 +0xa7
2020-04-16T11:10:47.3561520Z 
2020-04-16T11:10:47.3561720Z goroutine 761 [select, 9 minutes]:
2020-04-16T11:10:47.3562410Z github.com/libp2p/go-libp2p-peerstore/pstoremem.(*memoryAddrBook).background(0xc00043a000)
2020-04-16T11:10:47.3563050Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:93 +0x126
2020-04-16T11:10:47.3563620Z created by github.com/libp2p/go-libp2p-peerstore/pstoremem.NewAddrBook
2020-04-16T11:10:47.3564620Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:83 +0x18e
2020-04-16T11:10:47.3564750Z 
2020-04-16T11:10:47.3564910Z goroutine 3961 [select, 9 minutes]:
2020-04-16T11:10:47.3565620Z github.com/libp2p/go-libp2p-peerstore/pstoremem.(*memoryAddrBook).background(0xc000540900)
2020-04-16T11:10:47.3566250Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:93 +0x126
2020-04-16T11:10:47.3566810Z created by github.com/libp2p/go-libp2p-peerstore/pstoremem.NewAddrBook
2020-04-16T11:10:47.3567430Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:83 +0x18e
2020-04-16T11:10:47.3567520Z 
2020-04-16T11:10:47.3567670Z goroutine 1358 [select, 9 minutes]:
2020-04-16T11:10:47.3568260Z github.com/libp2p/go-libp2p-peerstore/pstoremem.(*memoryAddrBook).background(0xc000838000)
2020-04-16T11:10:47.3569300Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:93 +0x126
2020-04-16T11:10:47.3570240Z created by github.com/libp2p/go-libp2p-peerstore/pstoremem.NewAddrBook
2020-04-16T11:10:47.3571060Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:83 +0x18e
2020-04-16T11:10:47.3571150Z 
2020-04-16T11:10:47.3571300Z goroutine 3905 [select, 9 minutes]:
2020-04-16T11:10:47.3571880Z github.com/lucas-clemente/quic-go.(*baseServer).run(0xc00083e2c0)
2020-04-16T11:10:47.3572480Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/server.go:200 +0xdc
2020-04-16T11:10:47.3573010Z created by github.com/lucas-clemente/quic-go.listen
2020-04-16T11:10:47.3573630Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/server.go:187 +0x47a
2020-04-16T11:10:47.3573730Z 
2020-04-16T11:10:47.3573870Z goroutine 3969 [select, 9 minutes]:
2020-04-16T11:10:47.3574490Z github.com/libp2p/go-libp2p/p2p/protocol/identify.(*IDService).handleEvents(0xc0000bed20)
2020-04-16T11:10:47.3575130Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/p2p/protocol/identify/id.go:156 +0x1a9
2020-04-16T11:10:47.3575710Z created by github.com/libp2p/go-libp2p/p2p/protocol/identify.NewIDService
2020-04-16T11:10:47.3576330Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/p2p/protocol/identify/id.go:123 +0x907
2020-04-16T11:10:47.3576420Z 
2020-04-16T11:10:47.3576570Z goroutine 3817 [select, 9 minutes]:
2020-04-16T11:10:47.3577160Z github.com/libp2p/go-libp2p-peerstore/pstoremem.(*memoryAddrBook).background(0xc000bd8900)
2020-04-16T11:10:47.3577780Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:93 +0x126
2020-04-16T11:10:47.3578340Z created by github.com/libp2p/go-libp2p-peerstore/pstoremem.NewAddrBook
2020-04-16T11:10:47.3578960Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:83 +0x18e
2020-04-16T11:10:47.3579040Z 
2020-04-16T11:10:47.3579180Z goroutine 3931 [select, 9 minutes]:
2020-04-16T11:10:47.3579850Z github.com/libp2p/go-libp2p/p2p/protocol/identify.(*ObservedAddrSet).worker(0xc0002dde00, 0x1bd4b20, 0xc000c335c0)
2020-04-16T11:10:47.3580500Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/p2p/protocol/identify/obsaddr.go:145 +0x192
2020-04-16T11:10:47.3581070Z created by github.com/libp2p/go-libp2p/p2p/protocol/identify.NewObservedAddrSet
2020-04-16T11:10:47.3581700Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/p2p/protocol/identify/obsaddr.go:80 +0xd3
2020-04-16T11:10:47.3581780Z 
2020-04-16T11:10:47.3581910Z goroutine 4007 [select]:
2020-04-16T11:10:47.3582500Z github.com/libp2p/go-libp2p-autonat-svc.(*AutoNATService).resetRateLimiter(0xc000b9eb70)
2020-04-16T11:10:47.3583100Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/svc.go:207 +0x10b
2020-04-16T11:10:47.3583770Z created by github.com/libp2p/go-libp2p-autonat-svc.NewAutoNATService
2020-04-16T11:10:47.3584350Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/svc.go:56 +0x1df
2020-04-16T11:10:47.3584450Z 
2020-04-16T11:10:47.3584880Z goroutine 3916 [IO wait, 9 minutes]:
2020-04-16T11:10:47.3585090Z internal/poll.runtime_pollWait(0x2b75930, 0x72, 0x0)
2020-04-16T11:10:47.3585290Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/runtime/netpoll.go:203 +0x55
2020-04-16T11:10:47.3585480Z internal/poll.(*pollDesc).wait(0xc00045a618, 0x72, 0x500, 0x5ac, 0x0)
2020-04-16T11:10:47.3585700Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_poll_runtime.go:87 +0x45
2020-04-16T11:10:47.3586310Z internal/poll.(*pollDesc).waitRead(...)
2020-04-16T11:10:47.3586630Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_poll_runtime.go:92
2020-04-16T11:10:47.3586870Z internal/poll.(*FD).ReadFrom(0xc00045a600, 0xc000b70600, 0x5ac, 0x5ac, 0x0, 0x0, 0x0, 0x0, 0x0)
2020-04-16T11:10:47.3587090Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_unix.go:219 +0x1a3
2020-04-16T11:10:47.3587350Z net.(*netFD).readFrom(0xc00045a600, 0xc000b70600, 0x5ac, 0x5ac, 0x18bf820, 0x1008201, 0xc000f4acc0, 0x8, 0x20)
2020-04-16T11:10:47.3587790Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/fd_unix.go:208 +0x5b
2020-04-16T11:10:47.3588120Z net.(*UDPConn).readFrom(0xc000228200, 0xc000b70600, 0x5ac, 0x5ac, 0x18bf820, 0xc000c3d901, 0xc000fd90e0, 0xc00081eef8)
2020-04-16T11:10:47.3588390Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/udpsock_posix.go:47 +0x6a
2020-04-16T11:10:47.3588620Z net.(*UDPConn).ReadFrom(0xc000228200, 0xc000b70600, 0x5ac, 0x5ac, 0x0, 0x0, 0x0, 0x2, 0x0)
2020-04-16T11:10:47.3588820Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/udpsock.go:118 +0x5d
2020-04-16T11:10:47.3589490Z github.com/lucas-clemente/quic-go.(*packetHandlerMap).listen(0xc000ad2aa0)
2020-04-16T11:10:47.3590150Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/packet_handler_map.go:234 +0x116
2020-04-16T11:10:47.3590690Z created by github.com/lucas-clemente/quic-go.newPacketHandlerMap
2020-04-16T11:10:47.3591310Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/packet_handler_map.go:73 +0x19f
2020-04-16T11:10:47.3591400Z 
2020-04-16T11:10:47.3591530Z goroutine 3921 [select]:
2020-04-16T11:10:47.3592080Z github.com/libp2p/go-libp2p-autonat.(*AmbientAutoNAT).background(0xc00083e420)
2020-04-16T11:10:47.3592670Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/autonat.go:173 +0x2d3
2020-04-16T11:10:47.3593190Z created by github.com/libp2p/go-libp2p-autonat.New
2020-04-16T11:10:47.3593800Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/autonat.go:122 +0x61e
2020-04-16T11:10:47.3593900Z 
2020-04-16T11:10:47.3594040Z goroutine 102 [select, 9 minutes]:
2020-04-16T11:10:47.3594640Z github.com/libp2p/go-libp2p-peerstore/pstoremem.(*memoryAddrBook).background(0xc000259600)
2020-04-16T11:10:47.3595250Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:93 +0x126
2020-04-16T11:10:47.3595790Z created by github.com/libp2p/go-libp2p-peerstore/pstoremem.NewAddrBook
2020-04-16T11:10:47.3596420Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:83 +0x18e
2020-04-16T11:10:47.3596500Z 
2020-04-16T11:10:47.3596630Z goroutine 3904 [IO wait]:
2020-04-16T11:10:47.3596800Z internal/poll.runtime_pollWait(0x2b75770, 0x72, 0x0)
2020-04-16T11:10:47.3597000Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/runtime/netpoll.go:203 +0x55
2020-04-16T11:10:47.3597300Z internal/poll.(*pollDesc).wait(0xc00045a418, 0x72, 0x500, 0x5ac, 0x0)
2020-04-16T11:10:47.3597540Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_poll_runtime.go:87 +0x45
2020-04-16T11:10:47.3597700Z internal/poll.(*pollDesc).waitRead(...)
2020-04-16T11:10:47.3597920Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_poll_runtime.go:92
2020-04-16T11:10:47.3598150Z internal/poll.(*FD).ReadFrom(0xc00045a400, 0xc000a78000, 0x5ac, 0x5ac, 0x0, 0x0, 0x0, 0x0, 0x0)
2020-04-16T11:10:47.3598360Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_unix.go:219 +0x1a3
2020-04-16T11:10:47.3598920Z net.(*netFD).readFrom(0xc00045a400, 0xc000a78000, 0x5ac, 0x5ac, 0xc000061e50, 0x1008244, 0xc000e730e0, 0xc000061e78, 0x2283400)
2020-04-16T11:10:47.3599180Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/fd_unix.go:208 +0x5b
2020-04-16T11:10:47.3599410Z net.(*UDPConn).readFrom(0xc0002281e8, 0xc000a78000, 0x5ac, 0x5ac, 0x4, 0xc000034638, 0x1, 0x0)
2020-04-16T11:10:47.3599620Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/udpsock_posix.go:47 +0x6a
2020-04-16T11:10:47.3599870Z net.(*UDPConn).ReadFrom(0xc0002281e8, 0xc000a78000, 0x5ac, 0x5ac, 0x1, 0x1bcbfe0, 0x18d7700, 0xc000ad2960, 0xc000220560)
2020-04-16T11:10:47.3600200Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/udpsock.go:118 +0x5d
2020-04-16T11:10:47.3600840Z github.com/lucas-clemente/quic-go.(*packetHandlerMap).listen(0xc000ad2960)
2020-04-16T11:10:47.3602070Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/packet_handler_map.go:234 +0x116
2020-04-16T11:10:47.3602930Z created by github.com/lucas-clemente/quic-go.newPacketHandlerMap
2020-04-16T11:10:47.3603670Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/packet_handler_map.go:73 +0x19f
2020-04-16T11:10:47.3603770Z 
2020-04-16T11:10:47.3603900Z goroutine 4003 [select]:
2020-04-16T11:10:47.3604460Z github.com/libp2p/go-libp2p-autonat.(*AmbientAutoNAT).background(0xc0000acbb0)
2020-04-16T11:10:47.3605040Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/autonat.go:173 +0x2d3
2020-04-16T11:10:47.3605550Z created by github.com/libp2p/go-libp2p-autonat.New
2020-04-16T11:10:47.3606120Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/autonat.go:122 +0x61e
2020-04-16T11:10:47.3606200Z 
2020-04-16T11:10:47.3606330Z goroutine 3850 [select]:
2020-04-16T11:10:47.3606870Z github.com/libp2p/go-libp2p-autonat.(*AmbientAutoNAT).background(0xc0000ad760)
2020-04-16T11:10:47.3607450Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/autonat.go:173 +0x2d3
2020-04-16T11:10:47.3607970Z created by github.com/libp2p/go-libp2p-autonat.New
2020-04-16T11:10:47.3608550Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/autonat.go:122 +0x61e
2020-04-16T11:10:47.3608630Z 
2020-04-16T11:10:47.3608780Z goroutine 3898 [chan receive, 9 minutes]:
2020-04-16T11:10:47.3609440Z github.com/libp2p/go-libp2p-transport-upgrader.(*listener).Accept(0xc0003314a0, 0x1ad9b08, 0xc000c7aa80, 0x1bddf60, 0xc001000140)
2020-04-16T11:10:47.3610050Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:144 +0x51
2020-04-16T11:10:47.3610870Z github.com/libp2p/go-libp2p-swarm.(*Swarm).AddListenAddr.func2(0x1bd5060, 0xc0003314a0, 0xc000c7aa80, 0x1bdf7e0, 0xc00001e420)
2020-04-16T11:10:47.3611860Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_listen.go:84 +0x18e
2020-04-16T11:10:47.3612430Z created by github.com/libp2p/go-libp2p-swarm.(*Swarm).AddListenAddr
2020-04-16T11:10:47.3613050Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_listen.go:69 +0x257
2020-04-16T11:10:47.3613140Z 
2020-04-16T11:10:47.3613290Z goroutine 610 [select, 9 minutes]:
2020-04-16T11:10:47.3614010Z github.com/libp2p/go-libp2p-peerstore/pstoremem.(*memoryAddrBook).background(0xc000258d00)
2020-04-16T11:10:47.3614620Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:93 +0x126
2020-04-16T11:10:47.3615170Z created by github.com/libp2p/go-libp2p-peerstore/pstoremem.NewAddrBook
2020-04-16T11:10:47.3615760Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:83 +0x18e
2020-04-16T11:10:47.3615850Z 
2020-04-16T11:10:47.3615990Z goroutine 345 [select, 9 minutes]:
2020-04-16T11:10:47.3616560Z github.com/libp2p/go-libp2p-peerstore/pstoremem.(*memoryAddrBook).background(0xc00043bb00)
2020-04-16T11:10:47.3617810Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:93 +0x126
2020-04-16T11:10:47.3618610Z created by github.com/libp2p/go-libp2p-peerstore/pstoremem.NewAddrBook
2020-04-16T11:10:47.3619380Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:83 +0x18e
2020-04-16T11:10:47.3619470Z 
2020-04-16T11:10:47.3619620Z goroutine 3964 [select, 5 minutes]:
2020-04-16T11:10:47.3620440Z github.com/libp2p/go-libp2p-swarm.(*DialBackoff).background(0xc00070ab88, 0x1bd4b20, 0xc000b82080)
2020-04-16T11:10:47.3621240Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_dial.go:120 +0x110
2020-04-16T11:10:47.3621870Z created by github.com/libp2p/go-libp2p-swarm.(*DialBackoff).init
2020-04-16T11:10:47.3622470Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_dial.go:113 +0x5d
2020-04-16T11:10:47.3622570Z 
2020-04-16T11:10:47.3622710Z goroutine 222 [select, 9 minutes]:
2020-04-16T11:10:47.3623290Z github.com/libp2p/go-libp2p-peerstore/pstoremem.(*memoryAddrBook).background(0xc000258400)
2020-04-16T11:10:47.3624200Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:93 +0x126
2020-04-16T11:10:47.3624780Z created by github.com/libp2p/go-libp2p-peerstore/pstoremem.NewAddrBook
2020-04-16T11:10:47.3625400Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:83 +0x18e
2020-04-16T11:10:47.3625500Z 
2020-04-16T11:10:47.3625640Z goroutine 3965 [select, 9 minutes]:
2020-04-16T11:10:47.3625890Z github.com/jbenet/goprocess/context.CloseAfterContext.func1(0x1bd4b20, 0xc000b837c0, 0x1bdd460, 0xc00085c360)
2020-04-16T11:10:47.3626120Z 	/Users/runner/go/pkg/mod/github.com/jbenet/[email protected]/context/context.go:65 +0xd8
2020-04-16T11:10:47.3626310Z created by github.com/jbenet/goprocess/context.CloseAfterContext
2020-04-16T11:10:47.3626530Z 	/Users/runner/go/pkg/mod/github.com/jbenet/[email protected]/context/context.go:64 +0xa7
2020-04-16T11:10:47.3626600Z 
2020-04-16T11:10:47.3626730Z goroutine 3924 [select]:
2020-04-16T11:10:47.3627390Z github.com/libp2p/go-libp2p/p2p/host/basic.(*BasicHost).background(0xc00083e160, 0x1bdd460, 0xc0003318c0)
2020-04-16T11:10:47.3628030Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/p2p/host/basic/basic_host.go:356 +0x1b5
2020-04-16T11:10:47.3628360Z github.com/jbenet/goprocess.(*process).Go.func1(0xc00039a580, 0xc0003318c0, 0xc000331920)
2020-04-16T11:10:47.3628980Z 	/Users/runner/go/pkg/mod/github.com/jbenet/[email protected]/impl-mutex.go:134 +0x3c
2020-04-16T11:10:47.3629180Z created by github.com/jbenet/goprocess.(*process).Go
2020-04-16T11:10:47.3629760Z 	/Users/runner/go/pkg/mod/github.com/jbenet/[email protected]/impl-mutex.go:133 +0x1f6
2020-04-16T11:10:47.3629840Z 
2020-04-16T11:10:47.3629970Z goroutine 4940 [select]:
2020-04-16T11:10:47.3630530Z github.com/lucas-clemente/quic-go.(*sendQueue).Run(0xc000e6a690, 0x0, 0x0)
2020-04-16T11:10:47.3631130Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/send_queue.go:31 +0x117
2020-04-16T11:10:47.3631690Z github.com/lucas-clemente/quic-go.(*session).run.func1(0xc00017b600)
2020-04-16T11:10:47.3632310Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/session.go:495 +0x2f
2020-04-16T11:10:47.3632850Z created by github.com/lucas-clemente/quic-go.(*session).run
2020-04-16T11:10:47.3633440Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/session.go:494 +0xbc
2020-04-16T11:10:47.3633540Z 
2020-04-16T11:10:47.3633670Z goroutine 3854 [select]:
2020-04-16T11:10:47.3635020Z github.com/libp2p/go-libp2p-autonat-svc.(*AutoNATService).resetRateLimiter(0xc00082d890)
2020-04-16T11:10:47.3635840Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/svc.go:207 +0x10b
2020-04-16T11:10:47.3636440Z created by github.com/libp2p/go-libp2p-autonat-svc.NewAutoNATService
2020-04-16T11:10:47.3637050Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/svc.go:56 +0x1df
2020-04-16T11:10:47.3637160Z 
2020-04-16T11:10:47.3637320Z goroutine 3910 [chan receive, 9 minutes]:
2020-04-16T11:10:47.3638230Z github.com/libp2p/go-libp2p-transport-upgrader.(*listener).Accept(0xc000331620, 0x1ad9b08, 0xc000c7aa80, 0x1bddf60, 0xc001000180)
2020-04-16T11:10:47.3638960Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:144 +0x51
2020-04-16T11:10:47.3639660Z github.com/libp2p/go-libp2p-swarm.(*Swarm).AddListenAddr.func2(0x1bd5060, 0xc000331620, 0xc000c7aa80, 0x1bdf7e0, 0xc00001ea40)
2020-04-16T11:10:47.3640280Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_listen.go:84 +0x18e
2020-04-16T11:10:47.3640840Z created by github.com/libp2p/go-libp2p-swarm.(*Swarm).AddListenAddr
2020-04-16T11:10:47.3641450Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_listen.go:69 +0x257
2020-04-16T11:10:47.3641540Z 
2020-04-16T11:10:47.3641690Z goroutine 3895 [chan receive, 9 minutes]:
2020-04-16T11:10:47.3642370Z github.com/libp2p/go-libp2p-transport-upgrader.(*listener).Accept(0xc0003313e0, 0x225bb20, 0x225bb30, 0xc000567f20, 0x104963e)
2020-04-16T11:10:47.3643320Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:144 +0x51
2020-04-16T11:10:47.3644030Z github.com/libp2p/go-libp2p-swarm.(*Swarm).AddListenAddr.func2(0x1bd5060, 0xc0003313e0, 0xc000c7aa80, 0x1bdf7e0, 0xc000270700)
2020-04-16T11:10:47.3644650Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_listen.go:84 +0x18e
2020-04-16T11:10:47.3645220Z created by github.com/libp2p/go-libp2p-swarm.(*Swarm).AddListenAddr
2020-04-16T11:10:47.3645820Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_listen.go:69 +0x257
2020-04-16T11:10:47.3645900Z 
2020-04-16T11:10:47.3646050Z goroutine 3984 [chan receive, 9 minutes]:
2020-04-16T11:10:47.3646730Z github.com/libp2p/go-libp2p-transport-upgrader.(*listener).Accept(0xc00099cae0, 0x225dca0, 0x225dcb0, 0xc00015af20, 0x104963e)
2020-04-16T11:10:47.3647370Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:144 +0x51
2020-04-16T11:10:47.3648090Z github.com/libp2p/go-libp2p-swarm.(*Swarm).AddListenAddr.func2(0x1bd5060, 0xc00099cae0, 0xc0001d1500, 0x1bdf7e0, 0xc0001dd8e0)
2020-04-16T11:10:47.3648790Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_listen.go:84 +0x18e
2020-04-16T11:10:47.3649370Z created by github.com/libp2p/go-libp2p-swarm.(*Swarm).AddListenAddr
2020-04-16T11:10:47.3649970Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_listen.go:69 +0x257
2020-04-16T11:10:47.3650060Z 
2020-04-16T11:10:47.3650220Z goroutine 3902 [chan receive, 9 minutes]:
2020-04-16T11:10:47.3650910Z github.com/libp2p/go-libp2p-transport-upgrader.(*listener).Accept(0xc000331500, 0x1ad9b08, 0xc000c7aa80, 0x1bddf60, 0xc000313e80)
2020-04-16T11:10:47.3651600Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:144 +0x51
2020-04-16T11:10:47.3652320Z github.com/libp2p/go-libp2p-swarm.(*Swarm).AddListenAddr.func2(0x1bd5060, 0xc000331500, 0xc000c7aa80, 0x1bdf7e0, 0xc00001e680)
2020-04-16T11:10:47.3652960Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_listen.go:84 +0x18e
2020-04-16T11:10:47.3653520Z created by github.com/libp2p/go-libp2p-swarm.(*Swarm).AddListenAddr
2020-04-16T11:10:47.3654120Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_listen.go:69 +0x257
2020-04-16T11:10:47.3654200Z 
2020-04-16T11:10:47.3654350Z goroutine 3986 [IO wait, 9 minutes]:
2020-04-16T11:10:47.3654520Z internal/poll.runtime_pollWait(0x2b75150, 0x72, 0x0)
2020-04-16T11:10:47.3654730Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/runtime/netpoll.go:203 +0x55
2020-04-16T11:10:47.3654930Z internal/poll.(*pollDesc).wait(0xc0006fb598, 0x72, 0x500, 0x5ac, 0x0)
2020-04-16T11:10:47.3655150Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_poll_runtime.go:87 +0x45
2020-04-16T11:10:47.3655310Z internal/poll.(*pollDesc).waitRead(...)
2020-04-16T11:10:47.3655580Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_poll_runtime.go:92
2020-04-16T11:10:47.3656020Z internal/poll.(*FD).ReadFrom(0xc0006fb580, 0xc000a2b200, 0x5ac, 0x5ac, 0x0, 0x0, 0x0, 0x0, 0x0)
2020-04-16T11:10:47.3656290Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_unix.go:219 +0x1a3
2020-04-16T11:10:47.3656550Z net.(*netFD).readFrom(0xc0006fb580, 0xc000a2b200, 0x5ac, 0x5ac, 0x18bf820, 0xc00084e688, 0x104995a, 0x8, 0x20)
2020-04-16T11:10:47.3656760Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/fd_unix.go:208 +0x5b
2020-04-16T11:10:47.3657030Z net.(*UDPConn).readFrom(0xc000010290, 0xc000a2b200, 0x5ac, 0x5ac, 0x18bf820, 0xc00045f301, 0xc000ca6ce0, 0xc00084e6f8)
2020-04-16T11:10:47.3657240Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/udpsock_posix.go:47 +0x6a
2020-04-16T11:10:47.3657460Z net.(*UDPConn).ReadFrom(0xc000010290, 0xc000a2b200, 0x5ac, 0x5ac, 0x0, 0x0, 0x0, 0x3, 0x0)
2020-04-16T11:10:47.3657670Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/udpsock.go:118 +0x5d
2020-04-16T11:10:47.3658530Z github.com/lucas-clemente/quic-go.(*packetHandlerMap).listen(0xc0002a7400)
2020-04-16T11:10:47.3659300Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/packet_handler_map.go:234 +0x116
2020-04-16T11:10:47.3659950Z created by github.com/lucas-clemente/quic-go.newPacketHandlerMap
2020-04-16T11:10:47.3660580Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/packet_handler_map.go:73 +0x19f
2020-04-16T11:10:47.3660680Z 
2020-04-16T11:10:47.3660830Z goroutine 283 [select, 9 minutes]:
2020-04-16T11:10:47.3661420Z github.com/libp2p/go-libp2p-peerstore/pstoremem.(*memoryAddrBook).background(0xc00043c400)
2020-04-16T11:10:47.3662050Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:93 +0x126
2020-04-16T11:10:47.3662620Z created by github.com/libp2p/go-libp2p-peerstore/pstoremem.NewAddrBook
2020-04-16T11:10:47.3663470Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:83 +0x18e
2020-04-16T11:10:47.3663560Z 
2020-04-16T11:10:47.3663710Z goroutine 3926 [select, 9 minutes]:
2020-04-16T11:10:47.3663960Z github.com/jbenet/goprocess/context.CloseAfterContext.func1(0x1bd4b20, 0xc000c32e80, 0x1bdd460, 0xc000331a40)
2020-04-16T11:10:47.3664200Z 	/Users/runner/go/pkg/mod/github.com/jbenet/[email protected]/context/context.go:65 +0xd8
2020-04-16T11:10:47.3664390Z created by github.com/jbenet/goprocess/context.CloseAfterContext
2020-04-16T11:10:47.3664610Z 	/Users/runner/go/pkg/mod/github.com/jbenet/[email protected]/context/context.go:64 +0xa7
2020-04-16T11:10:47.3664680Z 
2020-04-16T11:10:47.3664830Z goroutine 3933 [select, 9 minutes]:
2020-04-16T11:10:47.3665440Z github.com/libp2p/go-libp2p/p2p/protocol/identify.(*IDService).handleEvents(0xc000ad2be0)
2020-04-16T11:10:47.3666190Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/p2p/protocol/identify/id.go:156 +0x1a9
2020-04-16T11:10:47.3666750Z created by github.com/libp2p/go-libp2p/p2p/protocol/identify.NewIDService
2020-04-16T11:10:47.3667390Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/p2p/protocol/identify/id.go:123 +0x907
2020-04-16T11:10:47.3667480Z 
2020-04-16T11:10:47.3667630Z goroutine 3982 [select, 9 minutes]:
2020-04-16T11:10:47.3668250Z github.com/libp2p/go-ws-transport.(*listener).Accept(0xc000b471d0, 0x0, 0x0, 0xc000c32780, 0xc00087ae10)
2020-04-16T11:10:47.3668830Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:44 +0xb9
2020-04-16T11:10:47.3669420Z github.com/libp2p/go-libp2p-transport-upgrader.(*listener).handleIncoming(0xc00099cae0)
2020-04-16T11:10:47.3670010Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:77 +0xf7
2020-04-16T11:10:47.3670600Z created by github.com/libp2p/go-libp2p-transport-upgrader.(*Upgrader).UpgradeListener
2020-04-16T11:10:47.3671200Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/upgrader.go:48 +0x185
2020-04-16T11:10:47.3671300Z 
2020-04-16T11:10:47.3671430Z goroutine 4984 [select]:
2020-04-16T11:10:47.3672140Z github.com/lucas-clemente/quic-go.(*session).run(0xc000fa0000, 0x0, 0x0)
2020-04-16T11:10:47.3672800Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/session.go:529 +0x302
2020-04-16T11:10:47.3673360Z created by github.com/lucas-clemente/quic-go.(*baseServer).createNewSession
2020-04-16T11:10:47.3674040Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/server.go:457 +0x43a
2020-04-16T11:10:47.3674120Z 
2020-04-16T11:10:47.3674270Z goroutine 3908 [IO wait, 9 minutes]:
2020-04-16T11:10:47.3674430Z internal/poll.runtime_pollWait(0x2b6b280, 0x72, 0x0)
2020-04-16T11:10:47.3674640Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/runtime/netpoll.go:203 +0x55
2020-04-16T11:10:47.3674840Z internal/poll.(*pollDesc).wait(0xc00045a498, 0x72, 0x0, 0x0, 0x197ddf9)
2020-04-16T11:10:47.3675060Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_poll_runtime.go:87 +0x45
2020-04-16T11:10:47.3675210Z internal/poll.(*pollDesc).waitRead(...)
2020-04-16T11:10:47.3675680Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_poll_runtime.go:92
2020-04-16T11:10:47.3676030Z internal/poll.(*FD).Accept(0xc00045a480, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
2020-04-16T11:10:47.3676400Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_unix.go:384 +0x1d4
2020-04-16T11:10:47.3676640Z net.(*netFD).accept(0xc00045a480, 0xc0006ebda8, 0x8, 0x0)
2020-04-16T11:10:47.3676910Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/fd_unix.go:238 +0x42
2020-04-16T11:10:47.3677150Z net.(*TCPListener).accept(0xc00001e960, 0x11e6000, 0xc000c71c00, 0xffff)
2020-04-16T11:10:47.3677380Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/tcpsock_posix.go:139 +0x32
2020-04-16T11:10:47.3677610Z net.(*TCPListener).Accept(0xc00001e960, 0xc0000c0448, 0x1bdf7e0, 0xc0006ebe00, 0x11e7095)
2020-04-16T11:10:47.3677810Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/tcpsock.go:261 +0x64
2020-04-16T11:10:47.3678560Z github.com/multiformats/go-multiaddr-net.(*maListener).Accept(0xc00001ea60, 0xc0000ae4d8, 0xff, 0xc000d89300, 0xc0006ebe88)
2020-04-16T11:10:47.3679200Z 	/Users/runner/go/pkg/mod/github.com/multiformats/[email protected]/net.go:243 +0x37
2020-04-16T11:10:47.3679850Z github.com/libp2p/go-tcp-transport.(*lingerListener).Accept(0xc00001eaa0, 0x0, 0x0, 0xc000331620, 0x1bdd6e0)
2020-04-16T11:10:47.3680550Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/tcp.go:42 +0x37
2020-04-16T11:10:47.3681250Z github.com/libp2p/go-libp2p-transport-upgrader.(*listener).handleIncoming(0xc000331620)
2020-04-16T11:10:47.3681880Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:77 +0xf7
2020-04-16T11:10:47.3682490Z created by github.com/libp2p/go-libp2p-transport-upgrader.(*Upgrader).UpgradeListener
2020-04-16T11:10:47.3683110Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/upgrader.go:48 +0x185
2020-04-16T11:10:47.3683210Z 
2020-04-16T11:10:47.3683360Z goroutine 3925 [select, 9 minutes]:
2020-04-16T11:10:47.3683970Z github.com/libp2p/go-libp2p-peerstore/pstoremem.(*memoryAddrBook).background(0xc000bd9b00)
2020-04-16T11:10:47.3684620Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:93 +0x126
2020-04-16T11:10:47.3685180Z created by github.com/libp2p/go-libp2p-peerstore/pstoremem.NewAddrBook
2020-04-16T11:10:47.3685800Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:83 +0x18e
2020-04-16T11:10:47.3685880Z 
2020-04-16T11:10:47.3686030Z goroutine 3911 [IO wait, 9 minutes]:
2020-04-16T11:10:47.3686200Z internal/poll.runtime_pollWait(0x2b75af0, 0x72, 0x0)
2020-04-16T11:10:47.3686410Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/runtime/netpoll.go:203 +0x55
2020-04-16T11:10:47.3686610Z internal/poll.(*pollDesc).wait(0xc00045a518, 0x72, 0x0, 0x0, 0x197ddf9)
2020-04-16T11:10:47.3686830Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_poll_runtime.go:87 +0x45
2020-04-16T11:10:47.3687010Z internal/poll.(*pollDesc).waitRead(...)
2020-04-16T11:10:47.3687390Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_poll_runtime.go:92
2020-04-16T11:10:47.3687650Z internal/poll.(*FD).Accept(0xc00045a500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
2020-04-16T11:10:47.3687940Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_unix.go:384 +0x1d4
2020-04-16T11:10:47.3688220Z net.(*netFD).accept(0xc00045a500, 0x3ed66c06f676d7fd, 0x629f676d7fd, 0x100000001)
2020-04-16T11:10:47.3688440Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/fd_unix.go:238 +0x42
2020-04-16T11:10:47.3688650Z net.(*TCPListener).accept(0xc00001eae0, 0x5e983ae4, 0xc000496e28, 0x108c406)
2020-04-16T11:10:47.3688860Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/tcpsock_posix.go:139 +0x32
2020-04-16T11:10:47.3689080Z net.(*TCPListener).Accept(0xc00001eae0, 0xc000496e78, 0x18, 0xc00075c600, 0x13d7f1c)
2020-04-16T11:10:47.3689290Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/tcpsock.go:261 +0x64
2020-04-16T11:10:47.3689720Z net/http.(*Server).Serve(0xc0003ce380, 0x1bd1f20, 0xc00001eae0, 0x0, 0x0)
2020-04-16T11:10:47.3689940Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/http/server.go:2901 +0x25d
2020-04-16T11:10:47.3690150Z net/http.Serve(...)
2020-04-16T11:10:47.3690410Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/http/server.go:2468
2020-04-16T11:10:47.3691040Z github.com/libp2p/go-ws-transport.(*listener).serve(0xc00034a990)
2020-04-16T11:10:47.3691640Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:25 +0xad
2020-04-16T11:10:47.3692220Z created by github.com/libp2p/go-ws-transport.(*WebsocketTransport).maListen
2020-04-16T11:10:47.3692840Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/websocket_native.go:67 +0x1d3
2020-04-16T11:10:47.3692940Z 
2020-04-16T11:10:47.3693070Z goroutine 3994 [select]:
2020-04-16T11:10:47.3693700Z github.com/libp2p/go-libp2p/p2p/host/basic.(*BasicHost).background(0xc0000ad810, 0x1bdd460, 0xc00099cd20)
2020-04-16T11:10:47.3694360Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/p2p/host/basic/basic_host.go:356 +0x1b5
2020-04-16T11:10:47.3694600Z github.com/jbenet/goprocess.(*process).Go.func1(0xc000de1860, 0xc00099cd20, 0xc00099cd80)
2020-04-16T11:10:47.3695190Z 	/Users/runner/go/pkg/mod/github.com/jbenet/[email protected]/impl-mutex.go:134 +0x3c
2020-04-16T11:10:47.3695390Z created by github.com/jbenet/goprocess.(*process).Go
2020-04-16T11:10:47.3695970Z 	/Users/runner/go/pkg/mod/github.com/jbenet/[email protected]/impl-mutex.go:133 +0x1f6
2020-04-16T11:10:47.3696060Z 
2020-04-16T11:10:47.3696210Z goroutine 5037 [select, 9 minutes]:
2020-04-16T11:10:47.3696950Z github.com/lucas-clemente/quic-go.(*incomingBidiStreamsMap).AcceptStream(0xc000e00af0, 0x1bd4b60, 0xc00003e0f8, 0x1065760, 0xc000a48000, 0x5, 0xc0005656a0)
2020-04-16T11:10:47.3697600Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/streams_map_incoming_bidi.go:71 +0x149
2020-04-16T11:10:47.3698320Z github.com/lucas-clemente/quic-go.(*streamsMap).AcceptStream(0xc00046c940, 0x1bd4b60, 0xc00003e0f8, 0x0, 0x9c0, 0xc0002fb740, 0x225c2a0)
2020-04-16T11:10:47.3699010Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/streams_map.go:127 +0x47
2020-04-16T11:10:47.3699820Z github.com/lucas-clemente/quic-go.(*session).AcceptStream(0xc00017b600, 0x1bd4b60, 0xc00003e0f8, 0x0, 0xc000565758, 0x1076308, 0xc000fdc508)
2020-04-16T11:10:47.3700460Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/session.go:1510 +0x48
2020-04-16T11:10:47.3701160Z github.com/libp2p/go-libp2p-quic-transport.(*conn).AcceptStream(0xc000f9ea80, 0xffffffffffffffff, 0xc0005657b0, 0x103f616, 0x1adabb0)
2020-04-16T11:10:47.3701770Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/conn.go:47 +0x4f
2020-04-16T11:10:47.3702330Z github.com/libp2p/go-libp2p-swarm.(*Conn).start.func1(0xc000fdef00)
2020-04-16T11:10:47.3702920Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_conn.go:98 +0xdf
2020-04-16T11:10:47.3703630Z created by github.com/libp2p/go-libp2p-swarm.(*Conn).start
2020-04-16T11:10:47.3704300Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_conn.go:93 +0x3f
2020-04-16T11:10:47.3704380Z 
2020-04-16T11:10:47.3704520Z goroutine 3991 [select]:
2020-04-16T11:10:47.3705090Z github.com/libp2p/go-libp2p-autonat.(*AmbientAutoNAT).background(0xc0000ada20)
2020-04-16T11:10:47.3705690Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/autonat.go:173 +0x2d3
2020-04-16T11:10:47.3706210Z created by github.com/libp2p/go-libp2p-autonat.New
2020-04-16T11:10:47.3706810Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/autonat.go:122 +0x61e
2020-04-16T11:10:47.3706900Z 
2020-04-16T11:10:47.3707030Z goroutine 3903 [chan receive]:
2020-04-16T11:10:47.3707610Z github.com/libp2p/go-libp2p-quic-transport.(*reuse).runGarbageCollector(0xc000361da0)
2020-04-16T11:10:47.3708220Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/reuse.go:79 +0x3a8
2020-04-16T11:10:47.3709100Z created by github.com/libp2p/go-libp2p-quic-transport.(*reuse).maybeStartGarbageCollector
2020-04-16T11:10:47.3709720Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/reuse.go:117 +0x53
2020-04-16T11:10:47.3709820Z 
2020-04-16T11:10:47.3709980Z goroutine 3980 [chan receive, 9 minutes]:
2020-04-16T11:10:47.3710650Z github.com/libp2p/go-libp2p-transport-upgrader.(*listener).Accept(0xc00099ca80, 0x225d720, 0x225d730, 0xc00084d720, 0x104963e)
2020-04-16T11:10:47.3711280Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:144 +0x51
2020-04-16T11:10:47.3711970Z github.com/libp2p/go-libp2p-swarm.(*Swarm).AddListenAddr.func2(0x1bd5060, 0xc00099ca80, 0xc0001d1500, 0x1bdf7e0, 0xc0001dce80)
2020-04-16T11:10:47.3712590Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_listen.go:84 +0x18e
2020-04-16T11:10:47.3713150Z created by github.com/libp2p/go-libp2p-swarm.(*Swarm).AddListenAddr
2020-04-16T11:10:47.3713770Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_listen.go:69 +0x257
2020-04-16T11:10:47.3713860Z 
2020-04-16T11:10:47.3714000Z goroutine 3856 [select, 9 minutes]:
2020-04-16T11:10:47.3714250Z github.com/jbenet/goprocess/context.CloseAfterContext.func1(0x1bd4b20, 0xc000b837c0, 0x1bdd460, 0xc0001d3380)
2020-04-16T11:10:47.3714490Z 	/Users/runner/go/pkg/mod/github.com/jbenet/[email protected]/context/context.go:65 +0xd8
2020-04-16T11:10:47.3714690Z created by github.com/jbenet/goprocess/context.CloseAfterContext
2020-04-16T11:10:47.3714910Z 	/Users/runner/go/pkg/mod/github.com/jbenet/[email protected]/context/context.go:64 +0xa7
2020-04-16T11:10:47.3714970Z 
2020-04-16T11:10:47.3715120Z goroutine 1084 [select, 9 minutes]:
2020-04-16T11:10:47.3715750Z github.com/libp2p/go-libp2p-peerstore/pstoremem.(*memoryAddrBook).background(0xc00043cd00)
2020-04-16T11:10:47.3716380Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:93 +0x126
2020-04-16T11:10:47.3717090Z created by github.com/libp2p/go-libp2p-peerstore/pstoremem.NewAddrBook
2020-04-16T11:10:47.3717810Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:83 +0x18e
2020-04-16T11:10:47.3717910Z 
2020-04-16T11:10:47.3718050Z goroutine 3855 [select, 9 minutes]:
2020-04-16T11:10:47.3718650Z github.com/libp2p/go-libp2p-peerstore/pstoremem.(*memoryAddrBook).background(0xc000839200)
2020-04-16T11:10:47.3719280Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:93 +0x126
2020-04-16T11:10:47.3719850Z created by github.com/libp2p/go-libp2p-peerstore/pstoremem.NewAddrBook
2020-04-16T11:10:47.3720540Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:83 +0x18e
2020-04-16T11:10:47.3720620Z 
2020-04-16T11:10:47.3720840Z goroutine 3896 [IO wait, 9 minutes]:
2020-04-16T11:10:47.3721060Z internal/poll.runtime_pollWait(0x2b6bfa0, 0x72, 0x0)
2020-04-16T11:10:47.3721440Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/runtime/netpoll.go:203 +0x55
2020-04-16T11:10:47.3721690Z internal/poll.(*pollDesc).wait(0xc00045a098, 0x72, 0x0, 0x0, 0x197ddf9)
2020-04-16T11:10:47.3721920Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_poll_runtime.go:87 +0x45
2020-04-16T11:10:47.3722080Z internal/poll.(*pollDesc).waitRead(...)
2020-04-16T11:10:47.3722300Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_poll_runtime.go:92
2020-04-16T11:10:47.3722510Z internal/poll.(*FD).Accept(0xc00045a080, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
2020-04-16T11:10:47.3722730Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_unix.go:384 +0x1d4
2020-04-16T11:10:47.3722920Z net.(*netFD).accept(0xc00045a080, 0xc0006f1da8, 0x8, 0x0)
2020-04-16T11:10:47.3723120Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/fd_unix.go:238 +0x42
2020-04-16T11:10:47.3723310Z net.(*TCPListener).accept(0xc00001e3c0, 0x11e6000, 0xc000c71b80, 0xffff)
2020-04-16T11:10:47.3724080Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/tcpsock_posix.go:139 +0x32
2020-04-16T11:10:47.3724320Z net.(*TCPListener).Accept(0xc00001e3c0, 0xc0000c0440, 0x1bdf7e0, 0xc0006f1e00, 0x11e7095)
2020-04-16T11:10:47.3724530Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/tcpsock.go:261 +0x64
2020-04-16T11:10:47.3725280Z github.com/multiformats/go-multiaddr-net.(*maListener).Accept(0xc00001e440, 0xc0000ae4d8, 0xff, 0xc000d89100, 0xc0006f1e88)
2020-04-16T11:10:47.3725900Z 	/Users/runner/go/pkg/mod/github.com/multiformats/[email protected]/net.go:243 +0x37
2020-04-16T11:10:47.3726590Z github.com/libp2p/go-tcp-transport.(*lingerListener).Accept(0xc00001e4a0, 0x0, 0x0, 0xc0003314a0, 0x1bdd6e0)
2020-04-16T11:10:47.3727180Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/tcp.go:42 +0x37
2020-04-16T11:10:47.3727790Z github.com/libp2p/go-libp2p-transport-upgrader.(*listener).handleIncoming(0xc0003314a0)
2020-04-16T11:10:47.3728420Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:77 +0xf7
2020-04-16T11:10:47.3729160Z created by github.com/libp2p/go-libp2p-transport-upgrader.(*Upgrader).UpgradeListener
2020-04-16T11:10:47.3729790Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/upgrader.go:48 +0x185
2020-04-16T11:10:47.3729880Z 
2020-04-16T11:10:47.3730030Z goroutine 3978 [IO wait, 9 minutes]:
2020-04-16T11:10:47.3730200Z internal/poll.runtime_pollWait(0x2ba1eb8, 0x72, 0x0)
2020-04-16T11:10:47.3730400Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/runtime/netpoll.go:203 +0x55
2020-04-16T11:10:47.3730590Z internal/poll.(*pollDesc).wait(0xc0006fb418, 0x72, 0x0, 0x0, 0x197ddf9)
2020-04-16T11:10:47.3730810Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_poll_runtime.go:87 +0x45
2020-04-16T11:10:47.3730970Z internal/poll.(*pollDesc).waitRead(...)
2020-04-16T11:10:47.3731180Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_poll_runtime.go:92
2020-04-16T11:10:47.3731400Z internal/poll.(*FD).Accept(0xc0006fb400, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
2020-04-16T11:10:47.3731610Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_unix.go:384 +0x1d4
2020-04-16T11:10:47.3731790Z net.(*netFD).accept(0xc0006fb400, 0xc000b809c0, 0x34, 0x40)
2020-04-16T11:10:47.3731990Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/fd_unix.go:238 +0x42
2020-04-16T11:10:47.3732210Z net.(*TCPListener).accept(0xc0001dce20, 0xb906fef87e4c96aa, 0x67463a11170d24fb, 0xc0007df298)
2020-04-16T11:10:47.3732420Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/tcpsock_posix.go:139 +0x32
2020-04-16T11:10:47.3732640Z net.(*TCPListener).Accept(0xc0001dce20, 0x0, 0xc0000b8500, 0x100e626, 0xc000583df0)
2020-04-16T11:10:47.3732840Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/tcpsock.go:261 +0x64
2020-04-16T11:10:47.3733520Z github.com/multiformats/go-multiaddr-net.(*maListener).Accept(0xc0001dcea0, 0xc000056c00, 0x2446560, 0x0, 0xc0000b8000)
2020-04-16T11:10:47.3734120Z 	/Users/runner/go/pkg/mod/github.com/multiformats/[email protected]/net.go:243 +0x37
2020-04-16T11:10:47.3734920Z github.com/libp2p/go-tcp-transport.(*lingerListener).Accept(0xc0001dcee0, 0x0, 0x0, 0xc0007b6600, 0xc00003d380)
2020-04-16T11:10:47.3735580Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/tcp.go:42 +0x37
2020-04-16T11:10:47.3736170Z github.com/libp2p/go-libp2p-transport-upgrader.(*listener).handleIncoming(0xc00099ca80)
2020-04-16T11:10:47.3736770Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:77 +0xf7
2020-04-16T11:10:47.3737360Z created by github.com/libp2p/go-libp2p-transport-upgrader.(*Upgrader).UpgradeListener
2020-04-16T11:10:47.3737970Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/upgrader.go:48 +0x185
2020-04-16T11:10:47.3738050Z 
2020-04-16T11:10:47.3738190Z goroutine 3900 [select, 9 minutes]:
2020-04-16T11:10:47.3738790Z github.com/libp2p/go-ws-transport.(*listener).Accept(0xc00034a090, 0x0, 0x0, 0xc000331500, 0x1bdd8e0)
2020-04-16T11:10:47.3739600Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:44 +0xb9
2020-04-16T11:10:47.3740200Z github.com/libp2p/go-libp2p-transport-upgrader.(*listener).handleIncoming(0xc000331500)
2020-04-16T11:10:47.3740820Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:77 +0xf7
2020-04-16T11:10:47.3741400Z created by github.com/libp2p/go-libp2p-transport-upgrader.(*Upgrader).UpgradeListener
2020-04-16T11:10:47.3742010Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/upgrader.go:48 +0x185
2020-04-16T11:10:47.3742110Z 
2020-04-16T11:10:47.3742260Z goroutine 3967 [select, 9 minutes]:
2020-04-16T11:10:47.3742870Z github.com/libp2p/go-libp2p/p2p/protocol/identify.(*ObservedAddrSet).worker(0xc000dc54d0, 0x1bd4b20, 0xc000b820c0)
2020-04-16T11:10:47.3743500Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/p2p/protocol/identify/obsaddr.go:145 +0x192
2020-04-16T11:10:47.3744090Z created by github.com/libp2p/go-libp2p/p2p/protocol/identify.NewObservedAddrSet
2020-04-16T11:10:47.3744730Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/p2p/protocol/identify/obsaddr.go:80 +0xd3
2020-04-16T11:10:47.3744830Z 
2020-04-16T11:10:47.3744970Z goroutine 3821 [select, 9 minutes]:
2020-04-16T11:10:47.3745210Z github.com/jbenet/goprocess/context.CloseAfterContext.func1(0x1bd4b20, 0xc000c32e80, 0x1bdd460, 0xc000330cc0)
2020-04-16T11:10:47.3745440Z 	/Users/runner/go/pkg/mod/github.com/jbenet/[email protected]/context/context.go:65 +0xd8
2020-04-16T11:10:47.3745710Z created by github.com/jbenet/goprocess/context.CloseAfterContext
2020-04-16T11:10:47.3745940Z 	/Users/runner/go/pkg/mod/github.com/jbenet/[email protected]/context/context.go:64 +0xa7
2020-04-16T11:10:47.3746010Z 
2020-04-16T11:10:47.3746150Z goroutine 3825 [select, 9 minutes]:
2020-04-16T11:10:47.3746760Z github.com/libp2p/go-libp2p/p2p/protocol/identify.(*IDService).handleEvents(0xc000ad2640)
2020-04-16T11:10:47.3747400Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/p2p/protocol/identify/id.go:156 +0x1a9
2020-04-16T11:10:47.3747970Z created by github.com/libp2p/go-libp2p/p2p/protocol/identify.NewIDService
2020-04-16T11:10:47.3748660Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/p2p/protocol/identify/id.go:123 +0x907
2020-04-16T11:10:47.3748750Z 
2020-04-16T11:10:47.3748880Z goroutine 4938 [select]:
2020-04-16T11:10:47.3749490Z github.com/lucas-clemente/quic-go.(*session).run(0xc00017b600, 0x0, 0x0)
2020-04-16T11:10:47.3750600Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/session.go:529 +0x302
2020-04-16T11:10:47.3751210Z github.com/lucas-clemente/quic-go.(*client).dial.func1(0xc000239ad0, 0xc000e72060)
2020-04-16T11:10:47.3751810Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/client.go:278 +0x41
2020-04-16T11:10:47.3752350Z created by github.com/lucas-clemente/quic-go.(*client).dial
2020-04-16T11:10:47.3752950Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/client.go:277 +0x533
2020-04-16T11:10:47.3753220Z 
2020-04-16T11:10:47.3753410Z goroutine 3938 [select, 5 minutes]:
2020-04-16T11:10:47.3754070Z github.com/libp2p/go-libp2p-swarm.(*DialBackoff).background(0xc0001d1608, 0x1bd4b20, 0xc0009fc140)
2020-04-16T11:10:47.3754680Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_dial.go:120 +0x110
2020-04-16T11:10:47.3755240Z created by github.com/libp2p/go-libp2p-swarm.(*DialBackoff).init
2020-04-16T11:10:47.3755840Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_dial.go:113 +0x5d
2020-04-16T11:10:47.3755920Z 
2020-04-16T11:10:47.3756070Z goroutine 3818 [select, 9 minutes]:
2020-04-16T11:10:47.3756320Z github.com/jbenet/goprocess/context.CloseAfterContext.func1(0x1bd4b20, 0xc000c32e80, 0x1bdd460, 0xc000330c00)
2020-04-16T11:10:47.3756540Z 	/Users/runner/go/pkg/mod/github.com/jbenet/[email protected]/context/context.go:65 +0xd8
2020-04-16T11:10:47.3756740Z created by github.com/jbenet/goprocess/context.CloseAfterContext
2020-04-16T11:10:47.3757160Z 	/Users/runner/go/pkg/mod/github.com/jbenet/[email protected]/context/context.go:64 +0xa7
2020-04-16T11:10:47.3757230Z 
2020-04-16T11:10:47.3758120Z goroutine 3907 [select, 9 minutes]:
2020-04-16T11:10:47.3759020Z github.com/lucas-clemente/quic-go.(*baseServer).accept(0xc00083e2c0, 0x1bd4b60, 0xc00003e0f8, 0x0, 0x0, 0xc000fb67e0, 0x15153f5)
2020-04-16T11:10:47.3759670Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/server.go:238 +0xf8
2020-04-16T11:10:47.3761760Z github.com/lucas-clemente/quic-go.(*baseServer).Accept(0xc00083e2c0, 0x1bd4b60, 0xc00003e0f8, 0x1065da0, 0xc00080dee8, 0xc00080def0, 0x18)
2020-04-16T11:10:47.3762390Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/server.go:234 +0x43
2020-04-16T11:10:47.3763240Z github.com/libp2p/go-libp2p-quic-transport.(*listener).Accept(0xc0008a9c20, 0x1ad9b08, 0xc000c7aa80, 0x1bdde60, 0xc000f2ef80)
2020-04-16T11:10:47.3763910Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:60 +0x8c
2020-04-16T11:10:47.3764610Z github.com/libp2p/go-libp2p-swarm.(*Swarm).AddListenAddr.func2(0x1bd5020, 0xc0008a9c20, 0xc000c7aa80, 0x1bdf7e0, 0xc00001e920)
2020-04-16T11:10:47.3765220Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_listen.go:84 +0x18e
2020-04-16T11:10:47.3765770Z created by github.com/libp2p/go-libp2p-swarm.(*Swarm).AddListenAddr
2020-04-16T11:10:47.3766360Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_listen.go:69 +0x257
2020-04-16T11:10:47.3766450Z 
2020-04-16T11:10:47.3766580Z goroutine 3912 [select, 9 minutes]:
2020-04-16T11:10:47.3767190Z github.com/libp2p/go-ws-transport.(*listener).Accept(0xc00034a990, 0x0, 0x0, 0xc000331680, 0x1bdd8e0)
2020-04-16T11:10:47.3767770Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:44 +0xb9
2020-04-16T11:10:47.3768350Z github.com/libp2p/go-libp2p-transport-upgrader.(*listener).handleIncoming(0xc000331680)
2020-04-16T11:10:47.3768990Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:77 +0xf7
2020-04-16T11:10:47.3769590Z created by github.com/libp2p/go-libp2p-transport-upgrader.(*Upgrader).UpgradeListener
2020-04-16T11:10:47.3770200Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/upgrader.go:48 +0x185
2020-04-16T11:10:47.3770350Z 
2020-04-16T11:10:47.3770490Z goroutine 4006 [select]:
2020-04-16T11:10:47.3771130Z github.com/libp2p/go-libp2p/p2p/host/basic.(*BasicHost).background(0xc0000acb00, 0x1bdd460, 0xc00085c8a0)
2020-04-16T11:10:47.3771750Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/p2p/host/basic/basic_host.go:356 +0x1b5
2020-04-16T11:10:47.3771990Z github.com/jbenet/goprocess.(*process).Go.func1(0xc00022eba0, 0xc00085c8a0, 0xc00085c900)
2020-04-16T11:10:47.3772570Z 	/Users/runner/go/pkg/mod/github.com/jbenet/[email protected]/impl-mutex.go:134 +0x3c
2020-04-16T11:10:47.3772750Z created by github.com/jbenet/goprocess.(*process).Go
2020-04-16T11:10:47.3774010Z 	/Users/runner/go/pkg/mod/github.com/jbenet/[email protected]/impl-mutex.go:133 +0x1f6
2020-04-16T11:10:47.3774130Z 
2020-04-16T11:10:47.3774280Z goroutine 3973 [chan receive]:
2020-04-16T11:10:47.3774930Z github.com/libp2p/go-libp2p-quic-transport.(*reuse).runGarbageCollector(0xc000b46ba0)
2020-04-16T11:10:47.3775620Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/reuse.go:79 +0x3a8
2020-04-16T11:10:47.3776250Z created by github.com/libp2p/go-libp2p-quic-transport.(*reuse).maybeStartGarbageCollector
2020-04-16T11:10:47.3776850Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/reuse.go:117 +0x53
2020-04-16T11:10:47.3776930Z 
2020-04-16T11:10:47.3777060Z goroutine 3974 [IO wait]:
2020-04-16T11:10:47.3777230Z internal/poll.runtime_pollWait(0x2ba2158, 0x72, 0x0)
2020-04-16T11:10:47.3777430Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/runtime/netpoll.go:203 +0x55
2020-04-16T11:10:47.3777630Z internal/poll.(*pollDesc).wait(0xc0006fb398, 0x72, 0x500, 0x5ac, 0x0)
2020-04-16T11:10:47.3778060Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_poll_runtime.go:87 +0x45
2020-04-16T11:10:47.3778230Z internal/poll.(*pollDesc).waitRead(...)
2020-04-16T11:10:47.3778440Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_poll_runtime.go:92
2020-04-16T11:10:47.3778680Z internal/poll.(*FD).ReadFrom(0xc0006fb380, 0xc000453200, 0x5ac, 0x5ac, 0x0, 0x0, 0x0, 0x0, 0x0)
2020-04-16T11:10:47.3778900Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_unix.go:219 +0x1a3
2020-04-16T11:10:47.3779170Z net.(*netFD).readFrom(0xc0006fb380, 0xc000453200, 0x5ac, 0x5ac, 0xc000448e50, 0x1008244, 0xc0005c6a20, 0xc000448e78, 0x2283400)
2020-04-16T11:10:47.3779380Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/fd_unix.go:208 +0x5b
2020-04-16T11:10:47.3779610Z net.(*UDPConn).readFrom(0xc000010280, 0xc000453200, 0x5ac, 0x5ac, 0x4, 0xc0000a81a8, 0x1, 0x0)
2020-04-16T11:10:47.3779810Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/udpsock_posix.go:47 +0x6a
2020-04-16T11:10:47.3780090Z net.(*UDPConn).ReadFrom(0xc000010280, 0xc000453200, 0x5ac, 0x5ac, 0x2, 0x1bcbfe0, 0x18d7700, 0xc0002a7220, 0xc000275f20)
2020-04-16T11:10:47.3780430Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/udpsock.go:118 +0x5d
2020-04-16T11:10:47.3781070Z github.com/lucas-clemente/quic-go.(*packetHandlerMap).listen(0xc0002a7220)
2020-04-16T11:10:47.3782090Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/packet_handler_map.go:234 +0x116
2020-04-16T11:10:47.3782650Z created by github.com/lucas-clemente/quic-go.newPacketHandlerMap
2020-04-16T11:10:47.3783270Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/packet_handler_map.go:73 +0x19f
2020-04-16T11:10:47.3783360Z 
2020-04-16T11:10:47.3783510Z goroutine 3975 [select, 9 minutes]:
2020-04-16T11:10:47.3784050Z github.com/lucas-clemente/quic-go.(*baseServer).run(0xc0000ad8c0)
2020-04-16T11:10:47.3784640Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/server.go:200 +0xdc
2020-04-16T11:10:47.3785190Z created by github.com/lucas-clemente/quic-go.listen
2020-04-16T11:10:47.3785860Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/server.go:187 +0x47a
2020-04-16T11:10:47.3785950Z 
2020-04-16T11:10:47.3786150Z goroutine 1458 [select, 9 minutes]:
2020-04-16T11:10:47.3786810Z github.com/libp2p/go-libp2p-peerstore/pstoremem.(*memoryAddrBook).background(0xc00043a900)
2020-04-16T11:10:47.3787460Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:93 +0x126
2020-04-16T11:10:47.3788040Z created by github.com/libp2p/go-libp2p-peerstore/pstoremem.NewAddrBook
2020-04-16T11:10:47.3788660Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:83 +0x18e
2020-04-16T11:10:47.3788760Z 
2020-04-16T11:10:47.3788910Z goroutine 3893 [select, 9 minutes]:
2020-04-16T11:10:47.3789550Z github.com/libp2p/go-libp2p-circuit.(*RelayListener).Accept(0xc0008a9a40, 0x0, 0x0, 0xc000406ec0, 0xc00051e7d0)
2020-04-16T11:10:47.3790330Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listen.go:26 +0xeb
2020-04-16T11:10:47.3791000Z github.com/libp2p/go-libp2p-transport-upgrader.(*listener).handleIncoming(0xc0003313e0)
2020-04-16T11:10:47.3791640Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:77 +0xf7
2020-04-16T11:10:47.3792910Z created by github.com/libp2p/go-libp2p-transport-upgrader.(*Upgrader).UpgradeListener
2020-04-16T11:10:47.3793680Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/upgrader.go:48 +0x185
2020-04-16T11:10:47.3793790Z 
2020-04-16T11:10:47.3793950Z goroutine 3899 [IO wait, 9 minutes]:
2020-04-16T11:10:47.3794130Z internal/poll.runtime_pollWait(0x2e652b0, 0x72, 0x0)
2020-04-16T11:10:47.3794340Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/runtime/netpoll.go:203 +0x55
2020-04-16T11:10:47.3794550Z internal/poll.(*pollDesc).wait(0xc00045a298, 0x72, 0x0, 0x0, 0x197ddf9)
2020-04-16T11:10:47.3795030Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_poll_runtime.go:87 +0x45
2020-04-16T11:10:47.3795200Z internal/poll.(*pollDesc).waitRead(...)
2020-04-16T11:10:47.3795420Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_poll_runtime.go:92
2020-04-16T11:10:47.3795640Z internal/poll.(*FD).Accept(0xc00045a280, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
2020-04-16T11:10:47.3795850Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_unix.go:384 +0x1d4
2020-04-16T11:10:47.3796230Z net.(*netFD).accept(0xc00045a280, 0x2b2cad1af6018270, 0x629f6018270, 0x100000001)
2020-04-16T11:10:47.3796440Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/fd_unix.go:238 +0x42
2020-04-16T11:10:47.3796660Z net.(*TCPListener).accept(0xc00001e520, 0x5e983ae4, 0xc0006ece28, 0x108c406)
2020-04-16T11:10:47.3796870Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/tcpsock_posix.go:139 +0x32
2020-04-16T11:10:47.3797090Z net.(*TCPListener).Accept(0xc00001e520, 0xc0006ece78, 0x18, 0xc000865e00, 0x13d7f1c)
2020-04-16T11:10:47.3797310Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/tcpsock.go:261 +0x64
2020-04-16T11:10:47.3797520Z net/http.(*Server).Serve(0xc00078c2a0, 0x1bd1f20, 0xc00001e520, 0x0, 0x0)
2020-04-16T11:10:47.3797740Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/http/server.go:2901 +0x25d
2020-04-16T11:10:47.3797880Z net/http.Serve(...)
2020-04-16T11:10:47.3798090Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/http/server.go:2468
2020-04-16T11:10:47.3798730Z github.com/libp2p/go-ws-transport.(*listener).serve(0xc00034a090)
2020-04-16T11:10:47.3799340Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:25 +0xad
2020-04-16T11:10:47.3799900Z created by github.com/libp2p/go-ws-transport.(*WebsocketTransport).maListen
2020-04-16T11:10:47.3800510Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/websocket_native.go:67 +0x1d3
2020-04-16T11:10:47.3800600Z 
2020-04-16T11:10:47.3800760Z goroutine 3917 [select, 9 minutes]:
2020-04-16T11:10:47.3801300Z github.com/lucas-clemente/quic-go.(*baseServer).run(0xc00083e370)
2020-04-16T11:10:47.3801900Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/server.go:200 +0xdc
2020-04-16T11:10:47.3802410Z created by github.com/lucas-clemente/quic-go.listen
2020-04-16T11:10:47.3803000Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/server.go:187 +0x47a
2020-04-16T11:10:47.3803090Z 
2020-04-16T11:10:47.3803240Z goroutine 1970 [select, 9 minutes]:
2020-04-16T11:10:47.3803900Z github.com/libp2p/go-libp2p-peerstore/pstoremem.(*memoryAddrBook).background(0xc000541b00)
2020-04-16T11:10:47.3804560Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:93 +0x126
2020-04-16T11:10:47.3805220Z created by github.com/libp2p/go-libp2p-peerstore/pstoremem.NewAddrBook
2020-04-16T11:10:47.3805910Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:83 +0x18e
2020-04-16T11:10:47.3806020Z 
2020-04-16T11:10:47.3806330Z goroutine 3929 [select, 9 minutes]:
2020-04-16T11:10:47.3806620Z github.com/jbenet/goprocess/context.CloseAfterContext.func1(0x1bd4b20, 0xc000c32e80, 0x1bdd460, 0xc000331b00)
2020-04-16T11:10:47.3806860Z 	/Users/runner/go/pkg/mod/github.com/jbenet/[email protected]/context/context.go:65 +0xd8
2020-04-16T11:10:47.3807060Z created by github.com/jbenet/goprocess/context.CloseAfterContext
2020-04-16T11:10:47.3807280Z 	/Users/runner/go/pkg/mod/github.com/jbenet/[email protected]/context/context.go:64 +0xa7
2020-04-16T11:10:47.3807350Z 
2020-04-16T11:10:47.3807490Z goroutine 3823 [select, 9 minutes]:
2020-04-16T11:10:47.3808180Z github.com/libp2p/go-libp2p/p2p/protocol/identify.(*ObservedAddrSet).worker(0xc000361050, 0x1bd4b20, 0xc000c33100)
2020-04-16T11:10:47.3810070Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/p2p/protocol/identify/obsaddr.go:145 +0x192
2020-04-16T11:10:47.3810730Z created by github.com/libp2p/go-libp2p/p2p/protocol/identify.NewObservedAddrSet
2020-04-16T11:10:47.3811610Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/p2p/protocol/identify/obsaddr.go:80 +0xd3
2020-04-16T11:10:47.3811710Z 
2020-04-16T11:10:47.3811860Z goroutine 3820 [select, 5 minutes]:
2020-04-16T11:10:47.3812460Z github.com/libp2p/go-libp2p-swarm.(*DialBackoff).background(0xc000c7ab88, 0x1bd4b20, 0xc000c330c0)
2020-04-16T11:10:47.3813070Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_dial.go:120 +0x110
2020-04-16T11:10:47.3813620Z created by github.com/libp2p/go-libp2p-swarm.(*DialBackoff).init
2020-04-16T11:10:47.3814210Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_dial.go:113 +0x5d
2020-04-16T11:10:47.3814310Z 
2020-04-16T11:10:47.3814440Z goroutine 3853 [select]:
2020-04-16T11:10:47.3815060Z github.com/libp2p/go-libp2p/p2p/host/basic.(*BasicHost).background(0xc00083e4d0, 0x1bdd460, 0xc0001d2a80)
2020-04-16T11:10:47.3815680Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/p2p/host/basic/basic_host.go:356 +0x1b5
2020-04-16T11:10:47.3815940Z github.com/jbenet/goprocess.(*process).Go.func1(0xc000de0e50, 0xc0001d2a80, 0xc0001d2ae0)
2020-04-16T11:10:47.3816530Z 	/Users/runner/go/pkg/mod/github.com/jbenet/[email protected]/impl-mutex.go:134 +0x3c
2020-04-16T11:10:47.3816730Z created by github.com/jbenet/goprocess.(*process).Go
2020-04-16T11:10:47.3817400Z 	/Users/runner/go/pkg/mod/github.com/jbenet/[email protected]/impl-mutex.go:133 +0x1f6
2020-04-16T11:10:47.3817480Z 
2020-04-16T11:10:47.3817630Z goroutine 1951 [select, 9 minutes]:
2020-04-16T11:10:47.3818220Z github.com/libp2p/go-libp2p-peerstore/pstoremem.(*memoryAddrBook).background(0xc00043d600)
2020-04-16T11:10:47.3818860Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:93 +0x126
2020-04-16T11:10:47.3819460Z created by github.com/libp2p/go-libp2p-peerstore/pstoremem.NewAddrBook
2020-04-16T11:10:47.3820100Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/pstoremem/addr_book.go:83 +0x18e
2020-04-16T11:10:47.3820190Z 
2020-04-16T11:10:47.3820460Z goroutine 3928 [select, 5 minutes]:
2020-04-16T11:10:47.3821110Z github.com/libp2p/go-libp2p-swarm.(*DialBackoff).background(0xc000c7b188, 0x1bd4b20, 0xc000c33580)
2020-04-16T11:10:47.3821710Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_dial.go:120 +0x110
2020-04-16T11:10:47.3822260Z created by github.com/libp2p/go-libp2p-swarm.(*DialBackoff).init
2020-04-16T11:10:47.3822850Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_dial.go:113 +0x5d
2020-04-16T11:10:47.3822940Z 
2020-04-16T11:10:47.3823090Z goroutine 3985 [chan receive]:
2020-04-16T11:10:47.3823660Z github.com/libp2p/go-libp2p-quic-transport.(*reuse).runGarbageCollector(0xc000b46c30)
2020-04-16T11:10:47.3824260Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/reuse.go:79 +0x3a8
2020-04-16T11:10:47.3824850Z created by github.com/libp2p/go-libp2p-quic-transport.(*reuse).maybeStartGarbageCollector
2020-04-16T11:10:47.3825620Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/reuse.go:117 +0x53
2020-04-16T11:10:47.3825740Z 
2020-04-16T11:10:47.3825890Z goroutine 3977 [select, 9 minutes]:
2020-04-16T11:10:47.3826710Z github.com/lucas-clemente/quic-go.(*baseServer).accept(0xc0000ad8c0, 0x1bd4b60, 0xc00003e0f8, 0xc000475650, 0xc0004756f0, 0x1038ecc, 0xc000475668)
2020-04-16T11:10:47.3827910Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/server.go:238 +0xf8
2020-04-16T11:10:47.3828650Z github.com/lucas-clemente/quic-go.(*baseServer).Accept(0xc0000ad8c0, 0x1bd4b60, 0xc00003e0f8, 0xc0004756f8, 0x1049b95, 0xc00097cc60, 0x5)
2020-04-16T11:10:47.3829260Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/server.go:234 +0x43
2020-04-16T11:10:47.3829930Z github.com/libp2p/go-libp2p-quic-transport.(*listener).Accept(0xc0008c0140, 0x225d3a0, 0x225d3b0, 0xc000475720, 0x104963e)
2020-04-16T11:10:47.3830540Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:60 +0x8c
2020-04-16T11:10:47.3831480Z github.com/libp2p/go-libp2p-swarm.(*Swarm).AddListenAddr.func2(0x1bd5020, 0xc0008c0140, 0xc0001d1500, 0x1bdf7e0, 0xc0001dcde0)
2020-04-16T11:10:47.3832100Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_listen.go:84 +0x18e
2020-04-16T11:10:47.3832650Z created by github.com/libp2p/go-libp2p-swarm.(*Swarm).AddListenAddr
2020-04-16T11:10:47.3833250Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_listen.go:69 +0x257
2020-04-16T11:10:47.3833330Z 
2020-04-16T11:10:47.3833480Z goroutine 3981 [IO wait, 9 minutes]:
2020-04-16T11:10:47.3833660Z internal/poll.runtime_pollWait(0x2b6b600, 0x72, 0x0)
2020-04-16T11:10:47.3833860Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/runtime/netpoll.go:203 +0x55
2020-04-16T11:10:47.3834070Z internal/poll.(*pollDesc).wait(0xc0006fb498, 0x72, 0x0, 0x0, 0x197ddf9)
2020-04-16T11:10:47.3834290Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_poll_runtime.go:87 +0x45
2020-04-16T11:10:47.3834470Z internal/poll.(*pollDesc).waitRead(...)
2020-04-16T11:10:47.3834690Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_poll_runtime.go:92
2020-04-16T11:10:47.3834910Z internal/poll.(*FD).Accept(0xc0006fb480, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
2020-04-16T11:10:47.3835130Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_unix.go:384 +0x1d4
2020-04-16T11:10:47.3835330Z net.(*netFD).accept(0xc0006fb480, 0xc00081dde8, 0xc000056c00, 0x2446560)
2020-04-16T11:10:47.3835540Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/fd_unix.go:238 +0x42
2020-04-16T11:10:47.3835740Z net.(*TCPListener).accept(0xc0001dcf40, 0xc00081de28, 0x100ee98, 0x30)
2020-04-16T11:10:47.3835950Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/tcpsock_posix.go:139 +0x32
2020-04-16T11:10:47.3836170Z net.(*TCPListener).Accept(0xc0001dcf40, 0x190b680, 0xc000836600, 0x1865da0, 0x222c600)
2020-04-16T11:10:47.3836380Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/tcpsock.go:261 +0x64
2020-04-16T11:10:47.3836590Z net/http.(*Server).Serve(0xc0004fc9a0, 0x1bd1f20, 0xc0001dcf40, 0x0, 0x0)
2020-04-16T11:10:47.3836810Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/http/server.go:2901 +0x25d
2020-04-16T11:10:47.3836950Z net/http.Serve(...)
2020-04-16T11:10:47.3837160Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/http/server.go:2468
2020-04-16T11:10:47.3837850Z github.com/libp2p/go-ws-transport.(*listener).serve(0xc000b471d0)
2020-04-16T11:10:47.3838530Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:25 +0xad
2020-04-16T11:10:47.3839100Z created by github.com/libp2p/go-ws-transport.(*WebsocketTransport).maListen
2020-04-16T11:10:47.3839690Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/websocket_native.go:67 +0x1d3
2020-04-16T11:10:47.3839790Z 
2020-04-16T11:10:47.3839940Z goroutine 3989 [select, 9 minutes]:
2020-04-16T11:10:47.3840770Z github.com/lucas-clemente/quic-go.(*baseServer).accept(0xc0000ad970, 0x1bd4b60, 0xc00003e0f8, 0x0, 0x0, 0x1038ecc, 0xc00084c668)
2020-04-16T11:10:47.3841450Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/server.go:238 +0xf8
2020-04-16T11:10:47.3842250Z github.com/lucas-clemente/quic-go.(*baseServer).Accept(0xc0000ad970, 0x1bd4b60, 0xc00003e0f8, 0xc00084c6f8, 0x1049b95, 0xc00097cc60, 0x5)
2020-04-16T11:10:47.3842860Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/server.go:234 +0x43
2020-04-16T11:10:47.3843540Z github.com/libp2p/go-libp2p-quic-transport.(*listener).Accept(0xc0008c07d0, 0x225e320, 0x225e330, 0xc00084c720, 0x104963e)
2020-04-16T11:10:47.3844140Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:60 +0x8c
2020-04-16T11:10:47.3844820Z github.com/libp2p/go-libp2p-swarm.(*Swarm).AddListenAddr.func2(0x1bd5020, 0xc0008c07d0, 0xc0001d1500, 0x1bdf7e0, 0xc0001dd9e0)
2020-04-16T11:10:47.3845430Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_listen.go:84 +0x18e
2020-04-16T11:10:47.3846210Z created by github.com/libp2p/go-libp2p-swarm.(*Swarm).AddListenAddr
2020-04-16T11:10:47.3846820Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_listen.go:69 +0x257
2020-04-16T11:10:47.3846920Z 
2020-04-16T11:10:47.3847070Z goroutine 3987 [select, 9 minutes]:
2020-04-16T11:10:47.3847600Z github.com/lucas-clemente/quic-go.(*baseServer).run(0xc0000ad970)
2020-04-16T11:10:47.3848180Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/server.go:200 +0xdc
2020-04-16T11:10:47.3848690Z created by github.com/lucas-clemente/quic-go.listen
2020-04-16T11:10:47.3849260Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/server.go:187 +0x47a
2020-04-16T11:10:47.3849340Z 
2020-04-16T11:10:47.3849490Z goroutine 3919 [select, 9 minutes]:
2020-04-16T11:10:47.3850170Z github.com/lucas-clemente/quic-go.(*baseServer).accept(0xc00083e370, 0x1bd4b60, 0xc00003e0f8, 0x0, 0x0, 0x1038ecc, 0xc000df8e68)
2020-04-16T11:10:47.3850790Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/server.go:238 +0xf8
2020-04-16T11:10:47.3851500Z github.com/lucas-clemente/quic-go.(*baseServer).Accept(0xc00083e370, 0x1bd4b60, 0xc00003e0f8, 0xc000df8ef8, 0x1049b95, 0xc00097cc60, 0x5)
2020-04-16T11:10:47.3852100Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/server.go:234 +0x43
2020-04-16T11:10:47.3852770Z github.com/libp2p/go-libp2p-quic-transport.(*listener).Accept(0xc0008a9ea0, 0x225d7a0, 0x225d7b0, 0xc000df8f20, 0x104963e)
2020-04-16T11:10:47.3853380Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:60 +0x8c
2020-04-16T11:10:47.3854050Z github.com/libp2p/go-libp2p-swarm.(*Swarm).AddListenAddr.func2(0x1bd5020, 0xc0008a9ea0, 0xc000c7aa80, 0x1bdf7e0, 0xc00001ecc0)
2020-04-16T11:10:47.3854650Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_listen.go:84 +0x18e
2020-04-16T11:10:47.3855190Z created by github.com/libp2p/go-libp2p-swarm.(*Swarm).AddListenAddr
2020-04-16T11:10:47.3855800Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_listen.go:69 +0x257
2020-04-16T11:10:47.3855880Z 
2020-04-16T11:10:47.3856040Z goroutine 3914 [chan receive, 9 minutes]:
2020-04-16T11:10:47.3856770Z github.com/libp2p/go-libp2p-transport-upgrader.(*listener).Accept(0xc000331680, 0x1ad9b08, 0xc000c7aa80, 0x1bddf60, 0xc0000e6c80)
2020-04-16T11:10:47.3857400Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:144 +0x51
2020-04-16T11:10:47.3858140Z github.com/libp2p/go-libp2p-swarm.(*Swarm).AddListenAddr.func2(0x1bd5060, 0xc000331680, 0xc000c7aa80, 0x1bdf7e0, 0xc00001ebe0)
2020-04-16T11:10:47.3858750Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_listen.go:84 +0x18e
2020-04-16T11:10:47.3859300Z created by github.com/libp2p/go-libp2p-swarm.(*Swarm).AddListenAddr
2020-04-16T11:10:47.3859890Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_listen.go:69 +0x257
2020-04-16T11:10:47.3859990Z 
2020-04-16T11:10:47.3860340Z goroutine 3915 [chan receive]:
2020-04-16T11:10:47.3861080Z github.com/libp2p/go-libp2p-quic-transport.(*reuse).runGarbageCollector(0xc000361e30)
2020-04-16T11:10:47.3861710Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/reuse.go:79 +0x3a8
2020-04-16T11:10:47.3862300Z created by github.com/libp2p/go-libp2p-quic-transport.(*reuse).maybeStartGarbageCollector
2020-04-16T11:10:47.3862900Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/reuse.go:117 +0x53
2020-04-16T11:10:47.3862990Z 
2020-04-16T11:10:47.3863150Z goroutine 3972 [chan receive, 9 minutes]:
2020-04-16T11:10:47.3863820Z github.com/libp2p/go-libp2p-transport-upgrader.(*listener).Accept(0xc0001d3d40, 0x225cca0, 0x225ccb0, 0xc000881720, 0x104963e)
2020-04-16T11:10:47.3864440Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:144 +0x51
2020-04-16T11:10:47.3865120Z github.com/libp2p/go-libp2p-swarm.(*Swarm).AddListenAddr.func2(0x1bd5060, 0xc0001d3d40, 0xc0001d1500, 0x1bdf7e0, 0xc0001dcca0)
2020-04-16T11:10:47.3866020Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_listen.go:84 +0x18e
2020-04-16T11:10:47.3866570Z created by github.com/libp2p/go-libp2p-swarm.(*Swarm).AddListenAddr
2020-04-16T11:10:47.3867170Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_listen.go:69 +0x257
2020-04-16T11:10:47.3867260Z 
2020-04-16T11:10:47.3867410Z goroutine 3970 [select, 9 minutes]:
2020-04-16T11:10:47.3867980Z github.com/libp2p/go-ws-transport.(*listener).Accept(0xc000b46e70, 0x0, 0x0, 0x0, 0x0)
2020-04-16T11:10:47.3868570Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:44 +0xb9
2020-04-16T11:10:47.3869160Z github.com/libp2p/go-libp2p-transport-upgrader.(*listener).handleIncoming(0xc0001d3d40)
2020-04-16T11:10:47.3869770Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:77 +0xf7
2020-04-16T11:10:47.3870380Z created by github.com/libp2p/go-libp2p-transport-upgrader.(*Upgrader).UpgradeListener
2020-04-16T11:10:47.3871000Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/upgrader.go:48 +0x185
2020-04-16T11:10:47.3871100Z 
2020-04-16T11:10:47.3871250Z goroutine 3953 [IO wait, 9 minutes]:
2020-04-16T11:10:47.3871420Z internal/poll.runtime_pollWait(0x2b6b520, 0x72, 0x0)
2020-04-16T11:10:47.3871630Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/runtime/netpoll.go:203 +0x55
2020-04-16T11:10:47.3871830Z internal/poll.(*pollDesc).wait(0xc0006fb298, 0x72, 0x0, 0x0, 0x197ddf9)
2020-04-16T11:10:47.3872050Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_poll_runtime.go:87 +0x45
2020-04-16T11:10:47.3872440Z internal/poll.(*pollDesc).waitRead(...)
2020-04-16T11:10:47.3872660Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_poll_runtime.go:92
2020-04-16T11:10:47.3872880Z internal/poll.(*FD).Accept(0xc0006fb280, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
2020-04-16T11:10:47.3873110Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_unix.go:384 +0x1d4
2020-04-16T11:10:47.3873310Z net.(*netFD).accept(0xc0006fb280, 0xc0004a4de8, 0xc000056c00, 0x2446560)
2020-04-16T11:10:47.3873520Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/fd_unix.go:238 +0x42
2020-04-16T11:10:47.3873720Z net.(*TCPListener).accept(0xc0001dcba0, 0xc0004a4e28, 0x100ee98, 0x30)
2020-04-16T11:10:47.3873930Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/tcpsock_posix.go:139 +0x32
2020-04-16T11:10:47.3874160Z net.(*TCPListener).Accept(0xc0001dcba0, 0x190b680, 0xc000836510, 0x1865da0, 0x222c600)
2020-04-16T11:10:47.3874370Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/tcpsock.go:261 +0x64
2020-04-16T11:10:47.3874580Z net/http.(*Server).Serve(0xc0004fc8c0, 0x1bd1f20, 0xc0001dcba0, 0x0, 0x0)
2020-04-16T11:10:47.3874790Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/http/server.go:2901 +0x25d
2020-04-16T11:10:47.3874930Z net/http.Serve(...)
2020-04-16T11:10:47.3875480Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/http/server.go:2468
2020-04-16T11:10:47.3876160Z github.com/libp2p/go-ws-transport.(*listener).serve(0xc000b46e70)
2020-04-16T11:10:47.3876750Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:25 +0xad
2020-04-16T11:10:47.3877320Z created by github.com/libp2p/go-ws-transport.(*WebsocketTransport).maListen
2020-04-16T11:10:47.3877930Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/websocket_native.go:67 +0x1d3
2020-04-16T11:10:47.3878090Z 
2020-04-16T11:10:47.3878300Z goroutine 3952 [chan receive, 9 minutes]:
2020-04-16T11:10:47.3879040Z github.com/libp2p/go-libp2p-transport-upgrader.(*listener).Accept(0xc0001d3ce0, 0x225c620, 0x225c630, 0xc000882f20, 0x104963e)
2020-04-16T11:10:47.3879720Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:144 +0x51
2020-04-16T11:10:47.3880460Z github.com/libp2p/go-libp2p-swarm.(*Swarm).AddListenAddr.func2(0x1bd5060, 0xc0001d3ce0, 0xc0001d1500, 0x1bdf7e0, 0xc0001dcb00)
2020-04-16T11:10:47.3881350Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_listen.go:84 +0x18e
2020-04-16T11:10:47.3881970Z created by github.com/libp2p/go-libp2p-swarm.(*Swarm).AddListenAddr
2020-04-16T11:10:47.3882570Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_listen.go:69 +0x257
2020-04-16T11:10:47.3882720Z 
2020-04-16T11:10:47.3883260Z goroutine 3950 [IO wait, 9 minutes]:
2020-04-16T11:10:47.3883490Z internal/poll.runtime_pollWait(0x2b74dd0, 0x72, 0x0)
2020-04-16T11:10:47.3883730Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/runtime/netpoll.go:203 +0x55
2020-04-16T11:10:47.3883970Z internal/poll.(*pollDesc).wait(0xc0006fb218, 0x72, 0x0, 0x0, 0x197ddf9)
2020-04-16T11:10:47.3884230Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_poll_runtime.go:87 +0x45
2020-04-16T11:10:47.3884430Z internal/poll.(*pollDesc).waitRead(...)
2020-04-16T11:10:47.3884680Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_poll_runtime.go:92
2020-04-16T11:10:47.3884950Z internal/poll.(*FD).Accept(0xc0006fb200, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
2020-04-16T11:10:47.3885160Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/internal/poll/fd_unix.go:384 +0x1d4
2020-04-16T11:10:47.3885470Z net.(*netFD).accept(0xc0006fb200, 0x34, 0xc000883dc8, 0x157e409)
2020-04-16T11:10:47.3885710Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/fd_unix.go:238 +0x42
2020-04-16T11:10:47.3885930Z net.(*TCPListener).accept(0xc0001dca80, 0x0, 0x0, 0x1bca5e0)
2020-04-16T11:10:47.3886190Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/tcpsock_posix.go:139 +0x32
2020-04-16T11:10:47.3886430Z net.(*TCPListener).Accept(0xc0001dca80, 0x40, 0x40, 0x100e626, 0xc000883e10)
2020-04-16T11:10:47.3886670Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/net/tcpsock.go:261 +0x64
2020-04-16T11:10:47.3887380Z github.com/multiformats/go-multiaddr-net.(*maListener).Accept(0xc0001dcb20, 0xc000056c00, 0x2446560, 0x0, 0x40)
2020-04-16T11:10:47.3888110Z 	/Users/runner/go/pkg/mod/github.com/multiformats/[email protected]/net.go:243 +0x37
2020-04-16T11:10:47.3913350Z github.com/libp2p/go-tcp-transport.(*lingerListener).Accept(0xc0001dcb60, 0x0, 0x0, 0x3c, 0x34)
2020-04-16T11:10:47.3914040Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/tcp.go:42 +0x37
2020-04-16T11:10:47.3914740Z github.com/libp2p/go-libp2p-transport-upgrader.(*listener).handleIncoming(0xc0001d3ce0)
2020-04-16T11:10:47.3915380Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:77 +0xf7
2020-04-16T11:10:47.3916090Z created by github.com/libp2p/go-libp2p-transport-upgrader.(*Upgrader).UpgradeListener
2020-04-16T11:10:47.3916830Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/upgrader.go:48 +0x185
2020-04-16T11:10:47.3916930Z 
2020-04-16T11:10:47.3917090Z goroutine 3949 [chan receive, 9 minutes]:
2020-04-16T11:10:47.3917840Z github.com/libp2p/go-libp2p-transport-upgrader.(*listener).Accept(0xc0001d3c20, 0x225c220, 0x225c230, 0xc000dfbf20, 0x104963e)
2020-04-16T11:10:47.3918680Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:144 +0x51
2020-04-16T11:10:47.3919460Z github.com/libp2p/go-libp2p-swarm.(*Swarm).AddListenAddr.func2(0x1bd5060, 0xc0001d3c20, 0xc0001d1500, 0x1bdf7e0, 0xc000270700)
2020-04-16T11:10:47.3920070Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_listen.go:84 +0x18e
2020-04-16T11:10:47.3920730Z created by github.com/libp2p/go-libp2p-swarm.(*Swarm).AddListenAddr
2020-04-16T11:10:47.3921320Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_listen.go:69 +0x257
2020-04-16T11:10:47.3921410Z 
2020-04-16T11:10:47.3921560Z goroutine 3947 [select, 9 minutes]:
2020-04-16T11:10:47.3922160Z github.com/libp2p/go-libp2p-circuit.(*RelayListener).Accept(0xc000acbf90, 0x0, 0x0, 0x0, 0x0)
2020-04-16T11:10:47.3922740Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listen.go:26 +0xeb
2020-04-16T11:10:47.3923620Z github.com/libp2p/go-libp2p-transport-upgrader.(*listener).handleIncoming(0xc0001d3c20)
2020-04-16T11:10:47.3924310Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/listener.go:77 +0xf7
2020-04-16T11:10:47.3924900Z created by github.com/libp2p/go-libp2p-transport-upgrader.(*Upgrader).UpgradeListener
2020-04-16T11:10:47.3925510Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/upgrader.go:48 +0x185
2020-04-16T11:10:47.3925590Z 
2020-04-16T11:10:47.3925740Z goroutine 3943 [select, 9 minutes]:
2020-04-16T11:10:47.3926320Z github.com/libp2p/go-libp2p/p2p/protocol/identify.(*IDService).handleEvents(0xc0002a6e60)
2020-04-16T11:10:47.3926930Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/p2p/protocol/identify/id.go:156 +0x1a9
2020-04-16T11:10:47.3927490Z created by github.com/libp2p/go-libp2p/p2p/protocol/identify.NewIDService
2020-04-16T11:10:47.3928100Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/p2p/protocol/identify/id.go:123 +0x907
2020-04-16T11:10:47.3928210Z 
2020-04-16T11:10:47.3928340Z goroutine 3941 [select, 9 minutes]:
2020-04-16T11:10:47.3928980Z github.com/libp2p/go-libp2p/p2p/protocol/identify.(*ObservedAddrSet).worker(0xc0001dbd40, 0x1bd4b20, 0xc0009fc180)
2020-04-16T11:10:47.3929610Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/p2p/protocol/identify/obsaddr.go:145 +0x192
2020-04-16T11:10:47.3930170Z created by github.com/libp2p/go-libp2p/p2p/protocol/identify.NewObservedAddrSet
2020-04-16T11:10:47.3930790Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/p2p/protocol/identify/obsaddr.go:80 +0xd3
2020-04-16T11:10:47.3930880Z 
2020-04-16T11:10:47.3931020Z goroutine 3939 [select, 9 minutes]:
2020-04-16T11:10:47.3931270Z github.com/jbenet/goprocess/context.CloseAfterContext.func1(0x1bd4b20, 0xc000b837c0, 0x1bdd460, 0xc0001d3440)
2020-04-16T11:10:47.3931550Z 	/Users/runner/go/pkg/mod/github.com/jbenet/[email protected]/context/context.go:65 +0xd8
2020-04-16T11:10:47.3931760Z created by github.com/jbenet/goprocess/context.CloseAfterContext
2020-04-16T11:10:47.3931980Z 	/Users/runner/go/pkg/mod/github.com/jbenet/[email protected]/context/context.go:64 +0xa7
2020-04-16T11:10:47.3932050Z 
2020-04-16T11:10:47.3932180Z goroutine 4987 [select]:
2020-04-16T11:10:47.3932810Z github.com/lucas-clemente/quic-go.(*sendQueue).Run(0xc000e6b800, 0x0, 0x0)
2020-04-16T11:10:47.3933460Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/send_queue.go:31 +0x117
2020-04-16T11:10:47.3934020Z github.com/lucas-clemente/quic-go.(*session).run.func1(0xc000fa0000)
2020-04-16T11:10:47.3934600Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/session.go:495 +0x2f
2020-04-16T11:10:47.3935130Z created by github.com/lucas-clemente/quic-go.(*session).run
2020-04-16T11:10:47.3935790Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/session.go:494 +0xbc
2020-04-16T11:10:47.3935870Z 
2020-04-16T11:10:47.3936020Z goroutine 5039 [chan receive, 9 minutes]:
2020-04-16T11:10:47.3936890Z github.com/lucas-clemente/quic-go.(*receiveStream).readImpl(0xc0006c50e0, 0xc000fdc5a8, 0x1, 0x1, 0xc000fd8f20, 0x203000, 0x0, 0x1bd12e0)
2020-04-16T11:10:47.3937580Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/receive_stream.go:145 +0x295
2020-04-16T11:10:47.3938230Z github.com/lucas-clemente/quic-go.(*receiveStream).Read(0xc0006c50e0, 0xc000fdc5a8, 0x1, 0x1, 0x0, 0x0, 0x0)
2020-04-16T11:10:47.3938840Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/receive_stream.go:83 +0x69
2020-04-16T11:10:47.3939540Z github.com/libp2p/go-libp2p-quic-transport.(*stream).Read(0xc000fce8b0, 0xc000fdc5a8, 0x1, 0x1, 0xc000a48000, 0x24c5021, 0xc000527b40)
2020-04-16T11:10:47.3940140Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/stream.go:18 +0x55
2020-04-16T11:10:47.3940810Z github.com/libp2p/go-libp2p-swarm.(*Stream).Read(0xc000f98e10, 0xc000fdc5a8, 0x1, 0x1, 0x2258340, 0x2446560, 0xc000a48000)
2020-04-16T11:10:47.3941630Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_stream.go:64 +0x61
2020-04-16T11:10:47.3942280Z github.com/multiformats/go-multistream.(*byteReader).ReadByte(0xc000fce8e0, 0xc000527c60, 0x100ee98, 0x10)
2020-04-16T11:10:47.3942890Z 	/Users/runner/go/pkg/mod/github.com/multiformats/[email protected]/multistream.go:451 +0x63
2020-04-16T11:10:47.3943120Z encoding/binary.ReadUvarint(0x1bc1840, 0xc000fce8e0, 0xc000f98e10, 0x0, 0x0)
2020-04-16T11:10:47.3943340Z 	/Users/runner/hostedtoolcache/go/1.14.2/x64/src/encoding/binary/varint.go:110 +0x7b
2020-04-16T11:10:47.3944020Z github.com/multiformats/go-multistream.lpReadBuf(0x2e646f8, 0xc000f98e10, 0x10, 0xc000fce8d0, 0x24c5021, 0x1bd8910, 0x2258340)
2020-04-16T11:10:47.3944630Z 	/Users/runner/go/pkg/mod/github.com/multiformats/[email protected]/multistream.go:415 +0x6b
2020-04-16T11:10:47.3945350Z github.com/multiformats/go-multistream.ReadNextTokenBytes(0x2e646f8, 0xc000f98e10, 0xc000527d98, 0x104079e, 0xc000527d68, 0xc000527d98, 0x100c445)
2020-04-16T11:10:47.3945980Z 	/Users/runner/go/pkg/mod/github.com/multiformats/[email protected]/multistream.go:398 +0x39
2020-04-16T11:10:47.3946500Z github.com/multiformats/go-multistream.ReadNextToken(...)
2020-04-16T11:10:47.3947090Z 	/Users/runner/go/pkg/mod/github.com/multiformats/[email protected]/multistream.go:387
2020-04-16T11:10:47.3947790Z github.com/multiformats/go-multistream.readMultistreamHeader(0x2e646f8, 0xc000f98e10, 0xc000f98e10, 0x2e646f8)
2020-04-16T11:10:47.3949200Z 	/Users/runner/go/pkg/mod/github.com/multiformats/[email protected]/client.go:90 +0x39
2020-04-16T11:10:47.3949960Z github.com/multiformats/go-multistream.SelectProtoOrFail(0x1984ced, 0xe, 0x2e646c8, 0xc000f98e10, 0xc000f98e10, 0x0)
2020-04-16T11:10:47.3950640Z 	/Users/runner/go/pkg/mod/github.com/multiformats/[email protected]/client.go:31 +0xd7
2020-04-16T11:10:47.3951300Z github.com/libp2p/go-libp2p/p2p/protocol/identify.(*IDService).IdentifyConn(0xc0002a6e60, 0x1bdd560, 0xc000fdef00)
2020-04-16T11:10:47.3951940Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/p2p/protocol/identify/id.go:219 +0x53f
2020-04-16T11:10:47.3952610Z github.com/libp2p/go-libp2p/p2p/host/basic.(*BasicHost).dialPeer.func1(0xc0000ad810, 0x1bdd560, 0xc000fdef00, 0xc000e77e60)
2020-04-16T11:10:47.3953230Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/p2p/host/basic/basic_host.go:620 +0x43
2020-04-16T11:10:47.3953790Z created by github.com/libp2p/go-libp2p/p2p/host/basic.(*BasicHost).dialPeer
2020-04-16T11:10:47.3954400Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/p2p/host/basic/basic_host.go:619 +0x265
2020-04-16T11:10:47.3954490Z 
2020-04-16T11:10:47.3954640Z goroutine 5029 [chan receive, 9 minutes]:
2020-04-16T11:10:47.3955260Z github.com/libp2p/go-libp2p-quic-transport.(*transport).Dial.func1(0x2e65f00, 0xc00017b600, 0xc0009fc440)
2020-04-16T11:10:47.3955880Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/transport.go:177 +0x5c
2020-04-16T11:10:47.3956620Z created by github.com/libp2p/go-libp2p-quic-transport.(*transport).Dial
2020-04-16T11:10:47.3957320Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/transport.go:176 +0x33c
2020-04-16T11:10:47.3957410Z 
2020-04-16T11:10:47.3957550Z goroutine 5090 [select, 9 minutes]:
2020-04-16T11:10:47.3958280Z github.com/lucas-clemente/quic-go.(*incomingBidiStreamsMap).AcceptStream(0xc000e01260, 0x1bd4b60, 0xc00003e0f8, 0x1065760, 0xc00075cd80, 0x5, 0xc000051ea0)
2020-04-16T11:10:47.3958920Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/streams_map_incoming_bidi.go:71 +0x149
2020-04-16T11:10:47.3959630Z github.com/lucas-clemente/quic-go.(*streamsMap).AcceptStream(0xc00046ce40, 0x1bd4b60, 0xc00003e0f8, 0x0, 0x1200, 0xc0004c9560, 0x225cae0)
2020-04-16T11:10:47.3960230Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/streams_map.go:127 +0x47
2020-04-16T11:10:47.3960950Z github.com/lucas-clemente/quic-go.(*session).AcceptStream(0xc000fa0000, 0x1bd4b60, 0xc00003e0f8, 0x0, 0xc000051f58, 0x1076308, 0xc001018ad8)
2020-04-16T11:10:47.3961770Z 	/Users/runner/go/pkg/mod/github.com/lucas-clemente/[email protected]/session.go:1510 +0x48
2020-04-16T11:10:47.3962470Z github.com/libp2p/go-libp2p-quic-transport.(*conn).AcceptStream(0xc000f2ef80, 0xffffffffffffffff, 0xc000051fb0, 0x103f616, 0x1adabb0)
2020-04-16T11:10:47.3963080Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/conn.go:47 +0x4f
2020-04-16T11:10:47.3963690Z github.com/libp2p/go-libp2p-swarm.(*Conn).start.func1(0xc001022a80)
2020-04-16T11:10:47.3964320Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_conn.go:98 +0xdf
2020-04-16T11:10:47.3964850Z created by github.com/libp2p/go-libp2p-swarm.(*Conn).start
2020-04-16T11:10:47.3965440Z 	/Users/runner/go/pkg/mod/github.com/libp2p/[email protected]/swarm_conn.go:93 +0x3f
2020-04-16T11:10:47.3965640Z FAIL	github.com/ethersphere/bee/pkg/p2p/libp2p	600.227s

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.