ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS

Using libp2p latest master, I am getting this error systematically:
  libp2p:gossipsub:error createOutboundStream error Error: Too many outgoing protocol streams
    at ConnectionImpl.newStream [as _newStream] (file:///home/fryorcraken/src/libp2p/js-libp2p/src/upgrader.ts:436:27)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async ConnectionImpl.newStream (file:///home/fryorcraken/src/libp2p/js-libp2p/node_modules/@libp2p/connection/src/index.ts:121:20)
    at async EventTarget.createOutboundStream (file:///home/fryorcraken/src/status-im/js-waku/node_modules/@chainsafe/libp2p-gossipsub/src/index.ts:699:4)
    at async file:///home/fryorcraken/src/status-im/js-waku/node_modules/@chainsafe/libp2p-gossipsub/src/index.ts:491:11 {
  code: 'ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS'

This is coming from https://github.com/libp2p/js-libp2p/blob/627b8bf87c775762dd6a9de69b77852e48ebcf26/src/upgrader.ts#L433
There is already a check preventing GossipSub to open several outbound streams: https://github.com/ChainSafe/js-libp2p-gossipsub/blob/0e76f49d2924d65a6e76ecd1e842db66f2eddd34/src/index.ts#L672
However, the existing outbound stream is not detected.
Looking at the logs, I believe that libp2p is opening the outbound stream for the gossip protocol automatically upon connection, and because this stream was not opened by GossipSub, then it is not aware of it and the check does not catch it.
I use Libp2p.dialProtocol.
I need to do further investigation to confirm than dialProtocol indeed opens the outbound stream automatically.
If that's correct then the fix I could implement would be to check on the connection object whether an outbound stream is already opened for the protocol. If so, add it to GossipSub.streamsOutbound: https://github.com/ChainSafe/js-libp2p-gossipsub/blob/0e76f49d2924d65a6e76ecd1e842db66f2eddd34/src/index.ts#L672, if not, proceed with opening a new outbound stream.
Let me know your thoughts on the propose fixed.
FYI, the logs (I added some console.log in there), /vac/waku/relay* are the gossip protocols I use.
  libp2p:gossipsub initialized +0ms
  libp2p:connection-manager options: { maxConnections: 300, minConnections: 50, maxData: Infinity, maxSentData: Infinity, maxReceivedData: Infinity, maxEventLoopDelay: Infinity, pollInterval: 2000, autoDialInterval: 10000, movingAverageInterval: 60000, autoDial: true, maxParallelDials: 100, maxDialsPerPeer: 4, dialTimeout: 30000, inboundUpgradeTimeout: 30000, resolvers: { dnsaddr: [AsyncFunction: dnsaddrResolver] }, addressSorter: [Function: publicAddressesFirst] } +0ms
  libp2p:connection-manager:latency-monitor latencyCheckIntervalMs: 500 dataEmitIntervalMs: 5000 +0ms
  libp2p:connection-manager:latency-monitor Expecting ~0.1 events per summary +0ms
  libp2p:connection-manager:latency-monitor Using process.hrtime for timing +0ms
  libp2p:connection-manager:auto-dialler options: {"enabled":true,"minConnections":50,"autoDialInterval":10000} +0ms
  libp2p:transports adding transport @libp2p/websockets +0ms
  libp2p:transports adding transport libp2p/circuit-relay-v1 +0ms
  libp2p:peer-store:proto-book:trace add await write lock +0ms
  libp2p libp2p is starting +0ms
  libp2p:peer-store:proto-book:trace add await write lock +1ms
  libp2p:peer-store:proto-book:trace add got write lock +0ms
  libp2p:transports no addresses were provided for listening, this node is dial only +3ms
  libp2p:gossipsub starting +71ms
  libp2p:peer-store:trace getPeers await read lock +0ms
  libp2p:connection-manager:auto-dialler started +5ms
  libp2p:peer-store:metadata-book:trace setValue await write lock +0ms
  libp2p:peer-store:proto-book:trace add await write lock +3ms
  libp2p:peer-store:proto-book:trace add await write lock +0ms
  libp2p:connection-manager started +9ms
pipe Set(0) {}
  libp2p:peer-store:proto-book:trace add await write lock +1ms
  libp2p:peer-store:proto-book:trace add await write lock +0ms
  libp2p:peer-store:proto-book added provided protocols for 12D3KooWHHrYfFBGL21F187br5JshS2u5F3krqZbWPs7MjqhW7tx +0ms
  libp2p:peer-store:proto-book:trace add release write lock +1ms
  libp2p:peer-store:proto-book:trace add got write lock +1ms
  libp2p:peer-store:proto-book added provided protocols for 12D3KooWHHrYfFBGL21F187br5JshS2u5F3krqZbWPs7MjqhW7tx +2ms
  libp2p:peer-store:proto-book:trace add release write lock +1ms
  libp2p:peer-store:trace getPeers got read lock +5ms
  libp2p:peer-store:trace getPeers release read lock +1ms
  libp2p:peer-store:metadata-book:trace setValue got write lock +7ms
  libp2p:peer-store:metadata-book:trace setValue release write lock +1ms
  libp2p:peer-store:metadata-book:trace setValue await write lock +0ms
  libp2p:peer-store:proto-book:trace add got write lock +3ms
  libp2p:peer-store:proto-book added provided protocols for 12D3KooWHHrYfFBGL21F187br5JshS2u5F3krqZbWPs7MjqhW7tx +4ms
  libp2p:peer-store:proto-book:trace add release write lock +1ms
  libp2p:peer-store:proto-book:trace add got write lock +0ms
  libp2p:peer-store:proto-book added provided protocols for 12D3KooWHHrYfFBGL21F187br5JshS2u5F3krqZbWPs7MjqhW7tx +1ms
  libp2p:peer-store:proto-book:trace add release write lock +1ms
  libp2p:peer-store:proto-book:trace add got write lock +0ms
  libp2p:peer-store:proto-book added provided protocols for 12D3KooWHHrYfFBGL21F187br5JshS2u5F3krqZbWPs7MjqhW7tx +1ms
  libp2p:peer-store:proto-book:trace add release write lock +1ms
  libp2p:peer-store:proto-book:trace add got write lock +0ms
  libp2p:peer-store:proto-book added provided protocols for 12D3KooWHHrYfFBGL21F187br5JshS2u5F3krqZbWPs7MjqhW7tx +1ms
  libp2p:peer-store:proto-book:trace add release write lock +1ms
  libp2p:gossipsub:score started +0ms
  libp2p:gossipsub started +13ms
  libp2p:peer-store:metadata-book:trace setValue got write lock +5ms
  libp2p:gossipsub JOIN /waku/2/default-waku/proto +0ms
  libp2p:peer-store:metadata-book:trace setValue release write lock +1ms
  libp2p:peer-store:proto-book:trace add await write lock +2ms
  libp2p:peer-store:proto-book:trace add got write lock +0ms
  libp2p:peer-store:proto-book added provided protocols for 12D3KooWHHrYfFBGL21F187br5JshS2u5F3krqZbWPs7MjqhW7tx +3ms
  libp2p:peer-store:proto-book:trace add release write lock +1ms
  libp2p:peer-store:proto-book:trace add await write lock +0ms
  libp2p:peer-store:proto-book:trace add got write lock +0ms
  libp2p:peer-store:proto-book added provided protocols for 12D3KooWHHrYfFBGL21F187br5JshS2u5F3krqZbWPs7MjqhW7tx +1ms
  libp2p:peer-store:proto-book:trace add release write lock +1ms
  libp2p:peer-store:trace getPeers await read lock +11ms
  libp2p:peer-store:trace getPeers got read lock +0ms
  libp2p libp2p has started +19ms
  libp2p:peer-store:address-book:trace add await write lock +0ms
  libp2p:peer-store:trace getPeers release read lock +2ms
  libp2p:peer-store:address-book:trace add got write lock +1ms
  libp2p:peer-store:address-book added multiaddrs for 16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45 +0ms
  libp2p:peer-store:address-book:trace set release write lock +3ms
  libp2p:connection-manager dial to 16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45 +21ms
  libp2p:dialer check multiaddrs 16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45 +0ms
  libp2p:dialer creating dial target for 16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45 +0ms
  libp2p:peer-store:address-book:trace get wait for read lock +1ms
  libp2p:peer-store:address-book:trace get got read lock +0ms
  libp2p:peer-store:address-book:trace get release read lock +0ms
  libp2p:dialer 1 tokens request, returning 1, 99 remaining +3ms
  libp2p:websockets dialing /ip4/<IP_ADDRESS>/tcp/8017/ws/p2p/16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45 +0ms
  libp2p:websockets dialing <IP_ADDRESS>:8017 +1ms
  libp2p:websockets connected /ip4/<IP_ADDRESS>/tcp/8017/ws/p2p/16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45 +5ms
  libp2p:websockets new outbound connection /ip4/<IP_ADDRESS>/tcp/8017/ws/p2p/16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45 +0ms
  libp2p:upgrader Starting the outbound connection upgrade +0ms
  libp2p:upgrader selecting outbound crypto protocol [ '/noise' ] +0ms
  libp2p:mss:select select: write ["/multistream/1.0.0", "/noise"] +0ms
  libp2p:mss:select select: read "/multistream/1.0.0" +2ms
  libp2p:mss:select select: read "/noise" +1ms
  libp2p:upgrader encrypting outbound connection to 16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45 +4ms
  libp2p:noise Stage 0 - Initiator starting to send first message. +0ms
  libp2p:noise Stage 0 - Initiator finished sending first message. +1ms
  libp2p:noise Stage 1 - Initiator waiting to receive first message from responder... +1ms
  libp2p:noise Stage 1 - Initiator received the message. +10ms
  libp2p:noise Initiator going to check remote's signature... +0ms
  libp2p:noise All good with the signature! +38ms
  libp2p:noise Stage 2 - Initiator sending third handshake message. +0ms
  libp2p:noise Stage 2 - Initiator sent message with signed payload. +5ms
  libp2p:upgrader outbound selecting muxer [ '/mplex/6.7.0' ] +112ms
  libp2p:mss:select select: write ["/multistream/1.0.0", "/mplex/6.7.0"] +112ms
  libp2p:mss:select select: read "/multistream/1.0.0" +6ms
  libp2p:mss:select select: read "/mplex/6.7.0" +0ms
  libp2p:upgrader /mplex/6.7.0 selected as muxer protocol +6ms
  libp2p:upgrader Successfully upgraded outbound connection +0ms
  libp2p:peer-store:key-book:trace set await write lock +0ms
  libp2p:websockets outbound connection /ip4/<IP_ADDRESS>/tcp/8017/ws/p2p/16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45 upgraded +129ms
  libp2p:peer-store:key-book:trace set got write lock +1ms
  libp2p:dialer token 0 released +135ms
  libp2p:dialer dial succeeded to 16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45 +1ms
  libp2p:upgrader outbound: starting new stream on [ '/vac/waku/relay/2.0.0-beta2', '/vac/waku/relay/2.0.0' ] +8ms
  libp2p:mplex new initiator stream 0 0 +0ms
  libp2p:mplex:trace initiator stream 0 send { id: 0, type: 'NEW_STREAM (0)', data: '0' } +0ms
  libp2p:mss:select select: write ["/multistream/1.0.0", "/vac/waku/relay/2.0.0-beta2"] +10ms
  libp2p:peer-store:key-book:trace set release write lock +5ms
  libp2p:connection-manager:trace checking limit of maxConnections. current value: 1 of 300 +0ms
  libp2p:mplex:trace initiator stream 0 send {
  id: 0,
  type: 'MESSAGE_INITIATOR (2)',
  data: '132f6d756c746973747265616d2f312e302e300a1c2f7661632f77616b752f72656c61792f322e302e302d62657461320a'
} +1ms
  libp2p:upgrader outbound: starting new stream on [ '/ipfs/id/1.0.0' ] +4ms
  libp2p:mplex new initiator stream 1 1 +4ms
  libp2p:mplex:trace initiator stream 1 send { id: 1, type: 'NEW_STREAM (0)', data: '1' } +1ms
  libp2p:mss:select select: write ["/multistream/1.0.0", "/ipfs/id/1.0.0"] +2ms
  libp2p:mplex:trace incoming message { id: 1, type: 'NEW_STREAM (0)', data: '62da494fd7ac34000ae4eba6' } +1ms
  libp2p:mplex new receiver stream 1 62da494fd7ac34000ae4eba6 +1ms
  libp2p:mplex:trace initiator stream 1 send {
  id: 1,
  type: 'MESSAGE_INITIATOR (2)',
  data: '132f6d756c746973747265616d2f312e302e300a0f2f697066732f69642f312e302e300a'
} +1ms
  libp2p:mplex:trace incoming message {
  id: 1,
  type: 'MESSAGE_INITIATOR (2)',
  data: '132f6d756c746973747265616d2f312e302e300a'
} +0ms
  libp2p:mss:handle read "/multistream/1.0.0" +0ms
  libp2p:mss:handle respond with "/multistream/1.0.0" for "/multistream/1.0.0" +0ms
  libp2p:mplex:trace receiver stream 1 send {
  id: 1,
  type: 'MESSAGE_RECEIVER (1)',
  data: '132f6d756c746973747265616d2f312e302e300a'
} +1ms
  libp2p:mplex:trace incoming message {
  id: 1,
  type: 'MESSAGE_INITIATOR (2)',
  data: '162f7661632f77616b752f72656c61792f322e302e300a'
} +0ms
  libp2p:mss:handle read "/vac/waku/relay/2.0.0" +0ms
  libp2p:mss:handle respond with "/vac/waku/relay/2.0.0" for "/vac/waku/relay/2.0.0" +0ms
  libp2p:upgrader outbound: incoming stream opened on /vac/waku/relay/2.0.0 +3ms
onIncomingStream 16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45
  libp2p:gossipsub new peer 16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45 +157ms
  libp2p:gossipsub create inbound stream 16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45 +1ms
for await Set(0) {}
id 16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45
streamsOutbound Map(0) {}
pendingStreamsOutbound Set(0) {}
create outbound stream %p 16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45
Added Set(1) { '16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45' }
  libp2p:upgrader outbound: starting new stream on [ '/vac/waku/relay/2.0.0-beta2', '/vac/waku/relay/2.0.0' ] +3ms
  libp2p:mplex new initiator stream 2 2 +5ms
  libp2p:upgrader No abort signal was passed while trying to negotiate protocols [ '/vac/waku/relay/2.0.0-beta2', '/vac/waku/relay/2.0.0' ] falling back to default timeout +0ms
  libp2p:mplex:trace initiator stream 2 send { id: 2, type: 'NEW_STREAM (0)', data: '2' } +3ms
  libp2p:mss:select select: write ["/multistream/1.0.0", "/vac/waku/relay/2.0.0-beta2"] +6ms
  libp2p:mplex:trace receiver stream 1 send {
  id: 1,
  type: 'MESSAGE_RECEIVER (1)',
  data: '162f7661632f77616b752f72656c61792f322e302e300a'
} +1ms
  libp2p:mplex:trace incoming message { id: 2, type: 'NEW_STREAM (0)', data: '62da494fd7ac34000ae4eba7' } +0ms
  libp2p:mplex new receiver stream 2 62da494fd7ac34000ae4eba7 +1ms
  libp2p:mplex:trace initiator stream 2 send {
  id: 2,
  type: 'MESSAGE_INITIATOR (2)',
  data: '132f6d756c746973747265616d2f312e302e300a1c2f7661632f77616b752f72656c61792f322e302e302d62657461320a'
} +0ms
  libp2p:mplex:trace incoming message {
  id: 2,
  type: 'MESSAGE_INITIATOR (2)',
  data: '132f6d756c746973747265616d2f312e302e300a'
} +0ms
  libp2p:mss:handle read "/multistream/1.0.0" +5ms
  libp2p:mss:handle respond with "/multistream/1.0.0" for "/multistream/1.0.0" +0ms
  libp2p:mplex:trace receiver stream 2 send {
  id: 2,
  type: 'MESSAGE_RECEIVER (1)',
  data: '132f6d756c746973747265616d2f312e302e300a'
} +1ms
  libp2p:mplex:trace incoming message {
  id: 2,
  type: 'MESSAGE_INITIATOR (2)',
  data: '0f2f697066732f69642f312e302e300a'
} +0ms
  libp2p:mss:handle read "/ipfs/id/1.0.0" +1ms
  libp2p:mss:handle respond with "/ipfs/id/1.0.0" for "/ipfs/id/1.0.0" +0ms
  libp2p:upgrader outbound: incoming stream opened on /ipfs/id/1.0.0 +3ms
  libp2p:peer-store:trace get await read lock +156ms
  libp2p:peer-store:trace get got read lock +0ms
  libp2p:mplex:trace receiver stream 2 send {
  id: 2,
  type: 'MESSAGE_RECEIVER (1)',
  data: '0f2f697066732f69642f312e302e300a'
} +1ms
  libp2p:peer-store:trace get release read lock +0ms
  libp2p:mplex:trace receiver stream 2 send {
  id: 2,
  type: 'MESSAGE_RECEIVER (1)',
  data: 'c7020a24080112206f0c93c855ec4712241492656f48b203284a3931abbabf75244a0152ef483c251a0e2f697066732f69642f312e302e301a132f697066732f69642f707573682f312e302e301a102f697066732f70696e672f312e302e301a1b2f6c69627032702f636972637569742f72656c61792f302e312e301a132f6c69627032702f66657463682f302e302e311a1c2f7661632f77616b752f66696c7465722f322e302e302d62657461311a152f7661632f77616b752f72656c61792f322e302e301a1b2f7661632f77616b752f72656c61792f322e302e302d62657461322234047f000001061f51dd03a5032700250802122103a8f1383791d4b1c8c7bc77fce2292ea3411c09c14416e5fff6fd6e230df7d9462a0a697066732f302e312e3032226a732d6c69627032702f302e302e3020557365724167656e743d7631362e31342e30'
} +1ms
  libp2p:mplex:trace receiver stream 2 send { id: 2, type: 'CLOSE_RECEIVER (3)' } +0ms
  libp2p:mplex:stream:trace receiver stream 62da494fd7ac34000ae4eba7 sink end - err: undefined +0ms
  libp2p:mplex:trace incoming message {
  id: 0,
  type: 'MESSAGE_RECEIVER (1)',
  data: '132f6d756c746973747265616d2f312e302e300a'
} +9ms
  libp2p:mss:select select: read "/multistream/1.0.0" +14ms
  libp2p:mplex:trace incoming message {
  id: 0,
  type: 'MESSAGE_RECEIVER (1)',
  data: '1c2f7661632f77616b752f72656c61792f322e302e302d62657461320a'
} +1ms
  libp2p:mss:select select: read "/vac/waku/relay/2.0.0-beta2" +1ms
  libp2p:mplex:trace incoming message {
  id: 1,
  type: 'MESSAGE_RECEIVER (1)',
  data: '132f6d756c746973747265616d2f312e302e300a'
} +1ms
  libp2p:mss:select select: read "/multistream/1.0.0" +0ms
  libp2p:mplex:trace incoming message {
  id: 1,
  type: 'MESSAGE_RECEIVER (1)',
  data: '0f2f697066732f69642f312e302e300a'
} +0ms
  libp2p:mss:select select: read "/ipfs/id/1.0.0" +1ms
  libp2p:mplex:trace incoming message {
  id: 1,
  type: 'MESSAGE_RECEIVER (1)',
  data: '9b030a250802122103a8f1383791d4b1c8c7bc77fce2292ea3411c09c14416e5fff6fd6e230df7d9461208047f000001061f4b120a047f000001061f51dd031a0e2f697066732f69642f312e302e301a152f7661632f77616b752f72656c61792f322e302e301a102f697066732f70696e672f312e302e301a1a2f7661632f77616b752f737761702f322e302e302d62657461311a1b2f7661632f77616b752f73746f72652f322e302e302d6265746134220a047f000001068846dd032a0a697066732f302e312e3032106e696d2d6c69627032702f302e302e3142bf010a250802122103a8f1383791d4b1c8c7bc77fce2292ea3411c09c14416e5fff6fd6e230df7d946120203011a490a2700250802122103a8f1383791d4b1c8c7bc77fce2292ea3411c09c14416e5fff6fd6e230df7d94610c992e996061a0c0a0a047f000001061f51dd031a0a0a08047f000001061f4b2a473045022100dc69c250f9735e433577d777f241f54b34bb975605b37c9ac77a99b5ad9989a70220470664ffc902bb3c29fb2cf6400af92cff1c041a060916435a0be05388cc0b67'
} +1ms
  libp2p:mplex:trace initiator stream 1 send { id: 1, type: 'CLOSE_INITIATOR (4)' } +0ms
  libp2p:mplex:stream:trace initiator stream 1 sink end - err: undefined +12ms
  libp2p:mplex:trace incoming message { id: 1, type: 'CLOSE_RECEIVER (3)' } +1ms
  libp2p:mplex:stream:trace initiator stream 1 closeRead +0ms
  libp2p:mplex:stream:trace initiator stream 1 source end - err: undefined +0ms
  libp2p:mplex initiator stream 1 1 ended +16ms
  libp2p:mplex:trace incoming message {
  id: 1,
  type: 'MESSAGE_INITIATOR (2)',
  data: '200a1e0801121a2f77616b752f322f64656661756c742d77616b752f70726f746f'
} +1ms
  libp2p:gossipsub rpc from 16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45 +20ms
  libp2p:gossipsub subscription update from 16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45 topic /waku/2/default-waku/proto +0ms
  libp2p:mplex:trace incoming message {
  id: 2,
  type: 'MESSAGE_RECEIVER (1)',
  data: '132f6d756c746973747265616d2f312e302e300a'
} +1ms
  libp2p:mss:select select: read "/multistream/1.0.0" +3ms
  libp2p:mplex:stream:trace initiator stream 1 close +3ms
  libp2p:mplex:stream:trace initiator stream 1 closeRead +0ms
  libp2p:mplex:stream:trace initiator stream 1 closeWrite +0ms
  libp2p:identify received signed peer record from 16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45 +0ms
  libp2p:peer-store:address-book:trace consumePeerRecord await write lock +207ms
  libp2p:peer-store:address-book:trace consumePeerRecord got write lock +0ms
  libp2p:peer-store:address-book stored provided peer record for 16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45 +210ms
  libp2p:peer-store:address-book:trace consumePeerRecord release write lock +2ms
  libp2p:peer-store:proto-book:trace set await write lock +216ms
  libp2p:peer-store:proto-book:trace set got write lock +0ms
  libp2p:peer-store:proto-book stored provided protocols for 16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45 +218ms
  libp2p:peer-store:proto-book:trace set release write lock +2ms
onPeerConnected 16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45
  libp2p:peer-store:metadata-book:trace setValue await write lock +220ms
  libp2p:peer-store:metadata-book:trace setValue got write lock +0ms
  libp2p:peer-store:metadata-book:trace setValue release write lock +1ms
  libp2p:peer-store:metadata-book:trace setValue await write lock +0ms
  libp2p:peer-store:metadata-book:trace setValue got write lock +0ms
  libp2p:peer-store:metadata-book:trace setValue release write lock +1ms
  libp2p:identify identify completed for peer 16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45 and protocols [ '/ipfs/id/1.0.0', '/ipfs/ping/1.0.0', '/vac/waku/relay/2.0.0', '/vac/waku/store/2.0.0-beta4', '/vac/waku/swap/2.0.0-beta1' ] +44ms
  libp2p:mplex:trace incoming message {
  id: 2,
  type: 'MESSAGE_RECEIVER (1)',
  data: '1c2f7661632f77616b752f72656c61792f322e302e302d62657461320a'
} +46ms
  libp2p:mss:select select: read "/vac/waku/relay/2.0.0-beta2" +46ms
  libp2p:mplex:trace incoming message { id: 2, type: 'CLOSE_INITIATOR (4)' } +0ms
  libp2p:mplex:stream:trace receiver stream 62da494fd7ac34000ae4eba7 closeRead +45ms
  libp2p:mplex:stream:trace receiver stream 62da494fd7ac34000ae4eba7 source end - err: undefined +0ms
  libp2p:mplex receiver stream 2 62da494fd7ac34000ae4eba7 ended +49ms
protocol /vac/waku/relay/2.0.0-beta2
connection ConnectionImpl [Connection] {
  id: '6ws37u1658472783188',
  remoteAddr: <Multiaddr 047f000001061f51dd03a5032700250802122103a8f1383791d4b1c8c7bc77fce2292ea3411c09c14416e5fff6fd6e230df7d946 - /ip4/<IP_ADDRESS>/tcp/8017/ws/p2p/16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45>,
  remotePeer: Secp256k1PeerIdImpl [PeerId(16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45)] {
    type: 'secp256k1',
    multihash: Digest {
      code: 0,
      size: 37,
      digest: [Uint8Array],
      bytes: [Uint8Array]
    },
    privateKey: undefined,
    publicKey: Uint8Array(37) [
        8,   2,  18,  33,   3, 168, 241,  56,  55,
      145, 212, 177, 200, 199, 188, 119, 252, 226,
       41,  46, 163,  65,  28,   9, 193,  68,  22,
      229, 255, 246, 253, 110,  35,  13, 247, 217,
       70
    ]
  },
  stat: {
    status: 'OPEN',
    direction: 'outbound',
    timeline: { open:<PHONE_NUMBER>061, upgraded:<PHONE_NUMBER>188 },
    multiplexer: '/mplex/6.7.0',
    encryption: '/noise'
  },
  _newStream: [AsyncFunction: newStream],
  _close: [AsyncFunction: close],
  _getStreams: [Function: getStreams],
  tags: [],
  _closing: false
}
streams [
  {
    close: [Function: close],
    closeRead: [Function: closeRead],
    closeWrite: [Function: closeWrite],
    abort: [Function: abort],
    reset: [Function: reset],
    sink: [AsyncFunction: sink],
    source: {
      next: [Function: next],
      throw: [Function: throw],
      return: [Function: return],
      push: [Function: push],
      end: [Function: end],
      readableLength: [Getter],
      [Symbol(Symbol.asyncIterator)]: [Function: [Symbol.asyncIterator]]
    },
    stat: {
      direction: 'outbound',
      timeline: [Object],
      protocol: '/vac/waku/relay/2.0.0-beta2'
    },
    metadata: {},
    id: 'i0'
  },
  {
    close: [Function: close],
    closeRead: [Function: closeRead],
    closeWrite: [Function: closeWrite],
    abort: [Function: abort],
    reset: [Function: reset],
    sink: [AsyncFunction: sink],
    source: {
      next: [Function: next],
      throw: [Function: throw],
      return: [Function: return],
      push: [Function: push],
      end: [Function: end],
      readableLength: [Getter],
      [Symbol(Symbol.asyncIterator)]: [Function: [Symbol.asyncIterator]]
    },
    stat: { direction: 'outbound', timeline: [Object] },
    metadata: {},
    id: 'i2'
  },
  {
    close: [Function: close],
    closeRead: [Function: closeRead],
    closeWrite: [Function: closeWrite],
    abort: [Function: abort],
    reset: [Function: reset],
    sink: [AsyncFunction: sink],
    source: {
      next: [Function: next],
      throw: [Function: throw],
      return: [Function: return],
      push: [Function: push],
      end: [Function: end],
      readableLength: [Getter],
      [Symbol(Symbol.asyncIterator)]: [Function: [Symbol.asyncIterator]]
    },
    stat: {
      direction: 'inbound',
      timeline: [Object],
      protocol: '/vac/waku/relay/2.0.0'
    },
    metadata: {},
    id: 'r1'
  }
]
  libp2p:upgrader:error could not create new stream Error: Too many outgoing protocol streams
    at ConnectionImpl.newStream [as _newStream] (file:///home/fryorcraken/src/libp2p/js-libp2p/src/upgrader.ts:436:27)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async ConnectionImpl.newStream (file:///home/fryorcraken/src/libp2p/js-libp2p/node_modules/@libp2p/connection/src/index.ts:121:20)
    at async EventTarget.createOutboundStream (file:///home/fryorcraken/src/status-im/js-waku/node_modules/@chainsafe/libp2p-gossipsub/src/index.ts:699:4)
    at async file:///home/fryorcraken/src/status-im/js-waku/node_modules/@chainsafe/libp2p-gossipsub/src/index.ts:491:11 {
  code: 'ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS'
} +0ms
  libp2p:mplex:stream:trace initiator stream 2 close +14ms
  libp2p:mplex:stream:trace initiator stream 2 closeRead +0ms
  libp2p:mplex:stream:trace initiator stream 2 source end - err: undefined +0ms
  libp2p:mplex:stream:trace initiator stream 2 closeWrite +0ms
  libp2p:mplex:trace initiator stream 2 send { id: 2, type: 'CLOSE_INITIATOR (4)' } +14ms
  libp2p:mplex:stream:trace initiator stream 2 sink end - err: undefined +0ms
  libp2p:mplex initiator stream 2 2 ended +13ms
Removing Set(1) { '16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45' }
  libp2p:gossipsub:error createOutboundStream error Error: Too many outgoing protocol streams
    at ConnectionImpl.newStream [as _newStream] (file:///home/fryorcraken/src/libp2p/js-libp2p/src/upgrader.ts:436:27)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async ConnectionImpl.newStream (file:///home/fryorcraken/src/libp2p/js-libp2p/node_modules/@libp2p/connection/src/index.ts:121:20)
    at async EventTarget.createOutboundStream (file:///home/fryorcraken/src/status-im/js-waku/node_modules/@chainsafe/libp2p-gossipsub/src/index.ts:699:4)
    at async file:///home/fryorcraken/src/status-im/js-waku/node_modules/@chainsafe/libp2p-gossipsub/src/index.ts:491:11 {
  code: 'ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS'
} +0ms
for await Set(0) {}
id 16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45
streamsOutbound Map(0) {}
pendingStreamsOutbound Set(0) {}
create outbound stream %p 16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45
Added Set(1) { '16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45' }
  libp2p:upgrader outbound: starting new stream on [ '/vac/waku/relay/2.0.0-beta2', '/vac/waku/relay/2.0.0' ] +77ms
  libp2p:mplex new initiator stream 3 3 +1ms
  libp2p:upgrader No abort signal was passed while trying to negotiate protocols [ '/vac/waku/relay/2.0.0-beta2', '/vac/waku/relay/2.0.0' ] falling back to default timeout +0ms
  libp2p:mplex:trace initiator stream 3 send { id: 3, type: 'NEW_STREAM (0)', data: '3' } +1ms
  libp2p:mss:select select: write ["/multistream/1.0.0", "/vac/waku/relay/2.0.0-beta2"] +15ms
  libp2p:mplex:trace initiator stream 3 send {
  id: 3,
  type: 'MESSAGE_INITIATOR (2)',
  data: '132f6d756c746973747265616d2f312e302e300a1c2f7661632f77616b752f72656c61792f322e302e302d62657461320a'
} +0ms
  libp2p:mplex:stream:trace receiver stream 62da494fd7ac34000ae4eba7 close +2ms
  libp2p:mplex:stream:trace receiver stream 62da494fd7ac34000ae4eba7 closeRead +0ms
  libp2p:mplex:stream:trace receiver stream 62da494fd7ac34000ae4eba7 closeWrite +0ms
  libp2p:mplex:trace incoming message { id: 2, type: 'CLOSE_RECEIVER (3)' } +4ms
  libp2p:mplex missing stream 2 +4ms
  libp2p:mplex:trace incoming message {
  id: 3,
  type: 'MESSAGE_RECEIVER (1)',
  data: '132f6d756c746973747265616d2f312e302e300a'
} +0ms
  libp2p:mss:select select: read "/multistream/1.0.0" +4ms
  libp2p:mplex:trace incoming message {
  id: 3,
  type: 'MESSAGE_RECEIVER (1)',
  data: '1c2f7661632f77616b752f72656c61792f322e302e302d62657461320a'
} +1ms
  libp2p:mss:select select: read "/vac/waku/relay/2.0.0-beta2" +1ms
protocol /vac/waku/relay/2.0.0-beta2
connection ConnectionImpl [Connection] {
  id: '6ws37u1658472783188',
  remoteAddr: <Multiaddr 047f000001061f51dd03a5032700250802122103a8f1383791d4b1c8c7bc77fce2292ea3411c09c14416e5fff6fd6e230df7d946 - /ip4/<IP_ADDRESS>/tcp/8017/ws/p2p/16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45>,
  remotePeer: Secp256k1PeerIdImpl [PeerId(16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45)] {
    type: 'secp256k1',
    multihash: Digest {
      code: 0,
      size: 37,
      digest: [Uint8Array],
      bytes: [Uint8Array]
    },
    privateKey: undefined,
    publicKey: Uint8Array(37) [
        8,   2,  18,  33,   3, 168, 241,  56,  55,
      145, 212, 177, 200, 199, 188, 119, 252, 226,
       41,  46, 163,  65,  28,   9, 193,  68,  22,
      229, 255, 246, 253, 110,  35,  13, 247, 217,
       70
    ]
  },
  stat: {
    status: 'OPEN',
    direction: 'outbound',
    timeline: { open:<PHONE_NUMBER>061, upgraded:<PHONE_NUMBER>188 },
    multiplexer: '/mplex/6.7.0',
    encryption: '/noise'
  },
  _newStream: [AsyncFunction: newStream],
  _close: [AsyncFunction: close],
  _getStreams: [Function: getStreams],
  tags: [],
  _closing: false
}
streams [
  {
    close: [Function: close],
    closeRead: [Function: closeRead],
    closeWrite: [Function: closeWrite],
    abort: [Function: abort],
    reset: [Function: reset],
    sink: [AsyncFunction: sink],
    source: {
      next: [Function: next],
      throw: [Function: throw],
      return: [Function: return],
      push: [Function: push],
      end: [Function: end],
      readableLength: [Getter],
      [Symbol(Symbol.asyncIterator)]: [Function: [Symbol.asyncIterator]]
    },
    stat: {
      direction: 'outbound',
      timeline: [Object],
      protocol: '/vac/waku/relay/2.0.0-beta2'
    },
    metadata: {},
    id: 'i0'
  },
  {
    close: [Function: close],
    closeRead: [Function: closeRead],
    closeWrite: [Function: closeWrite],
    abort: [Function: abort],
    reset: [Function: reset],
    sink: [AsyncFunction: sink],
    source: {
      next: [Function: next],
      throw: [Function: throw],
      return: [Function: return],
      push: [Function: push],
      end: [Function: end],
      readableLength: [Getter],
      [Symbol(Symbol.asyncIterator)]: [Function: [Symbol.asyncIterator]]
    },
    stat: { direction: 'outbound', timeline: [Object] },
    metadata: {},
    id: 'i3'
  },
  {
    close: [Function: close],
    closeRead: [Function: closeRead],
    closeWrite: [Function: closeWrite],
    abort: [Function: abort],
    reset: [Function: reset],
    sink: [AsyncFunction: sink],
    source: {
      next: [Function: next],
      throw: [Function: throw],
      return: [Function: return],
      push: [Function: push],
      end: [Function: end],
      readableLength: [Getter],
      [Symbol(Symbol.asyncIterator)]: [Function: [Symbol.asyncIterator]]
    },
    stat: {
      direction: 'inbound',
      timeline: [Object],
      protocol: '/vac/waku/relay/2.0.0'
    },
    metadata: {},
    id: 'r1'
  }
]
  libp2p:upgrader:error could not create new stream Error: Too many outgoing protocol streams
    at ConnectionImpl.newStream [as _newStream] (file:///home/fryorcraken/src/libp2p/js-libp2p/src/upgrader.ts:436:27)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async ConnectionImpl.newStream (file:///home/fryorcraken/src/libp2p/js-libp2p/node_modules/@libp2p/connection/src/index.ts:121:20)
    at async EventTarget.createOutboundStream (file:///home/fryorcraken/src/status-im/js-waku/node_modules/@chainsafe/libp2p-gossipsub/src/index.ts:699:4)
    at async file:///home/fryorcraken/src/status-im/js-waku/node_modules/@chainsafe/libp2p-gossipsub/src/index.ts:491:11 {
  code: 'ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS'
} +18ms
  libp2p:mplex:stream:trace initiator stream 3 close +5ms
  libp2p:mplex:stream:trace initiator stream 3 closeRead +1ms
  libp2p:mplex:stream:trace initiator stream 3 source end - err: undefined +0ms
  libp2p:mplex:stream:trace initiator stream 3 closeWrite +0ms
  libp2p:mplex:trace initiator stream 3 send { id: 3, type: 'CLOSE_INITIATOR (4)' } +2ms
  libp2p:mplex:stream:trace initiator stream 3 sink end - err: undefined +0ms
  libp2p:mplex initiator stream 3 3 ended +3ms
Removing Set(1) { '16Uiu2HAmQ2UBNinKauxQerk9jgCS2ouJkbgZnf1zxe2DpDwcTW45' }
  libp2p:gossipsub:error createOutboundStream error Error: Too many outgoing protocol streams
    at ConnectionImpl.newStream [as _newStream] (file:///home/fryorcraken/src/libp2p/js-libp2p/src/upgrader.ts:436:27)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async ConnectionImpl.newStream (file:///home/fryorcraken/src/libp2p/js-libp2p/node_modules/@libp2p/connection/src/index.ts:121:20)
    at async EventTarget.createOutboundStream (file:///home/fryorcraken/src/status-im/js-waku/node_modules/@chainsafe/libp2p-gossipsub/src/index.ts:699:4)
    at async file:///home/fryorcraken/src/status-im/js-waku/node_modules/@chainsafe/libp2p-gossipsub/src/index.ts:491:11 {
  code: 'ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS'
} +7ms
  libp2p:mplex:trace incoming message { id: 3, type: 'CLOSE_RECEIVER (3)' } +1ms
  libp2p:mplex missing stream 3 +1ms
  libp2p:peer-store:trace getPeers await read lock +10s
  libp2p:peer-store:trace getPeers got read lock +1ms
  libp2p:peer-store:trace getPeers release read lock +3ms
  libp2p libp2p is stopping +15s
  libp2p:transports closing listeners for @libp2p/websockets +15s
  libp2p:transports closing listeners for libp2p/circuit-relay-v1 +0ms
  libp2p:gossipsub stopping +15s
  libp2p:mplex:stream:trace receiver stream 62da494fd7ac34000ae4eba6 close +15s
  libp2p:mplex:stream:trace receiver stream 62da494fd7ac34000ae4eba6 closeRead +0ms
  libp2p:mplex:stream:trace receiver stream 62da494fd7ac34000ae4eba6 source end - err: undefined +0ms
  libp2p:mplex:stream:trace receiver stream 62da494fd7ac34000ae4eba6 closeWrite +1ms
  libp2p:mplex:trace receiver stream 1 send { id: 1, type: 'CLOSE_RECEIVER (3)' } +15s
  libp2p:mplex:stream:trace receiver stream 62da494fd7ac34000ae4eba6 sink end - err: undefined +0ms
  libp2p:mplex receiver stream 1 62da494fd7ac34000ae4eba6 ended +15s
  libp2p:gossipsub:score stopped +15s
  libp2p:gossipsub stopped +3ms
  libp2p:connection-manager:auto-dialler stopped +15s
  libp2p:peer-store:proto-book:trace remove await write lock +15s
  libp2p:peer-store:proto-book:trace remove await write lock +0ms
  libp2p:peer-store:proto-book:trace remove await write lock +1ms
  libp2p:mplex:stream:trace initiator stream 0 close +4ms
  libp2p:mplex:stream:trace initiator stream 0 closeRead +1ms
  libp2p:mplex:stream:trace initiator stream 0 source end - err: undefined +0ms
  libp2p:mplex:stream:trace initiator stream 0 closeWrite +0ms
  libp2p:mplex:trace initiator stream 0 send { id: 0, type: 'CLOSE_INITIATOR (4)' } +5ms
  libp2p:mplex:stream:trace initiator stream 0 sink end - err: undefined +1ms
  libp2p:mplex initiator stream 0 0 ended +6ms
  libp2p:connection-manager closing 1 connections +15s
  libp2p:transports all listeners closed +10ms
  libp2p:peer-store:proto-book:trace remove got write lock +5ms
  libp2p:peer-store:proto-book:trace remove release write lock +4ms
  libp2p:peer-store:trace get await read lock +5s
  libp2p:peer-store:proto-book:trace remove await write lock +1ms
  libp2p:peer-store:proto-book:trace remove got write lock +0ms
  libp2p:peer-store:proto-book:trace remove release write lock +3ms
  libp2p:peer-store:trace get await read lock +4ms
  libp2p:peer-store:proto-book:trace remove got write lock +1ms
  libp2p:peer-store:proto-book:trace remove release write lock +2ms
  libp2p:peer-store:trace get await read lock +2ms
  libp2p:peer-store:trace get got read lock +0ms
  libp2p:peer-store:trace get release read lock +1ms
  libp2p:peer-store:address-book:trace getRawEnvelope await read lock +15s
  libp2p:peer-store:proto-book:trace remove got write lock +1ms
  libp2p:peer-store:proto-book:trace remove release write lock +2ms
  libp2p:peer-store:trace get await read lock +2ms
  libp2p:peer-store:trace get got read lock +0ms
  libp2p:peer-store:trace get got read lock +0ms
  libp2p:peer-store:address-book:trace getRawEnvelope got read lock +2ms
  libp2p:peer-store:trace get got read lock +0ms
  libp2p:peer-store:trace get release read lock +1ms
  libp2p:peer-store:trace get release read lock +0ms
  libp2p:peer-store:address-book:trace getRawEnvelope release read lock +1ms
  libp2p:peer-store:trace get release read lock +0ms
  libp2p:peer-store:address-book:trace getRawEnvelope await read lock +0ms
  libp2p:peer-store:address-book:trace getRawEnvelope await read lock +0ms
  libp2p:peer-store:proto-book:trace get wait for read lock +1ms
  libp2p:peer-store:address-book:trace getRawEnvelope await read lock +0ms
  libp2p:peer-store:address-book:trace getRawEnvelope got read lock +0ms
  libp2p:peer-store:address-book:trace getRawEnvelope got read lock +0ms
  libp2p:peer-store:proto-book:trace get got read lock +0ms
  libp2p:peer-store:address-book:trace getRawEnvelope got read lock +1ms
  libp2p:peer-store:address-book:trace getRawEnvelope release read lock +0ms
  libp2p:peer-store:address-book:trace getRawEnvelope release read lock +0ms
  libp2p:peer-store:proto-book:trace get release read lock +1ms
  libp2p:peer-store:address-book:trace getRawEnvelope release read lock +0ms
  libp2p:peer-store:proto-book:trace get wait for read lock +0ms
  libp2p:peer-store:proto-book:trace get wait for read lock +0ms
  libp2p:peer-store:proto-book:trace get wait for read lock +0ms
  libp2p:peer-store:proto-book:trace get got read lock +0ms
  libp2p:peer-store:proto-book:trace get got read lock +0ms
  libp2p:peer-store:proto-book:trace get got read lock +1ms
  libp2p:peer-store:proto-book:trace get release read lock +0ms
  libp2p:peer-store:proto-book:trace get release read lock +0ms
  libp2p:peer-store:proto-book:trace get release read lock +0ms
  libp2p:connection-manager stopped +20ms
  libp2p:mplex error in sink AbortError: The operation was aborted
    at nextAbortHandler (file:///home/fryorcraken/src/status-im/js-waku/node_modules/abortable-iterator/src/index.ts:37:20)
    at AbortSignal.abortHandler (file:///home/fryorcraken/src/status-im/js-waku/node_modules/abortable-iterator/src/index.ts:21:37)
    at AbortSignal.[nodejs.internal.kHybridDispatch] (node:internal/event_target:647:20)
    at AbortSignal.dispatchEvent (node:internal/event_target:589:26)
    at abortSignal (node:internal/abort_controller:283:10)
    at AbortController.abort (node:internal/abort_controller:314:5)
    at AbortSignal.onAbort (/home/fryorcraken/src/status-im/js-waku/node_modules/any-signal/index.js:11:16)
    at AbortSignal.[nodejs.internal.kHybridDispatch] (node:internal/event_target:647:20)
    at AbortSignal.dispatchEvent (node:internal/event_target:589:26)
    at abortSignal (node:internal/abort_controller:283:10)
    at AbortController.abort (node:internal/abort_controller:314:5)
    at MplexStreamMuxer.close (file:///home/fryorcraken/src/status-im/js-waku/node_modules/@libp2p/mplex/src/mplex.ts:137:26)
    at ConnectionImpl.close [as _close] (file:///home/fryorcraken/src/libp2p/js-libp2p/src/upgrader.ts:520:17)
    at async ConnectionImpl.close (file:///home/fryorcraken/src/libp2p/js-libp2p/node_modules/@libp2p/connection/src/index.ts:161:5)
    at async file:///home/fryorcraken/src/libp2p/js-libp2p/src/connection-manager/index.ts:387:13
    at async Promise.all (index 0)
    at async EventTarget._close (file:///home/fryorcraken/src/libp2p/js-libp2p/src/connection-manager/index.ts:396:5)
    at async EventTarget.stop (file:///home/fryorcraken/src/libp2p/js-libp2p/src/connection-manager/index.ts:373:5)
    at async file:///home/fryorcraken/src/libp2p/js-libp2p/node_modules/@libp2p/components/src/index.ts:170:9
    at async Promise.all (index 0)
    at async Components.stop (file:///home/fryorcraken/src/libp2p/js-libp2p/node_modules/@libp2p/components/src/index.ts:168:5)
    at async Promise.all (index 0)
    at async EventTarget.stop (file:///home/fryorcraken/src/libp2p/js-libp2p/src/libp2p.ts:340:5)
    at async Waku.stop (file:///home/fryorcraken/src/status-im/js-waku/src/lib/waku.ts:233:5) {
  type: 'aborted',
  code: 'ABORT_ERR'
} +22ms
  libp2p libp2p has stopped +41ms

Error: Timeout of 20000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/fryorcraken/src/status-im/js-waku/src/lib/waku.node.spec.ts)
    at listOnTimeout (node:internal/timers:559:17)
    at processTimers (node:internal/timers:502:7)

This will be fixed by https://github.com/ChainSafe/js-libp2p-gossipsub/pull/293

Do we really need more than one outbound stream per protocol?

Probably not? Current logic is that the router only tracks / sends data on a single outbound stream per peer.
But it might be nice to support your usecase.
Right now, the router relies entirely on the registrar/topology (and identify protocol) and inbound protocol dials to establish gossipsub streams with peers.
We don't have a way for an application to manually dialProtocol and pass the stream to the router.

This will be fixed by #293

Yep, tested locally. Looks good. Thanks.


Shell escape printed commands when installing a formula

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your changes? Here's an example.
[x] Have you successfully run brew tests with your changes locally?

This means commands can be copy/pasted into a terminal, which is very useful, for example, when debugging formulae installs with brew install --interactive.

Can you provide some examples of what is/isn't escaped? I'm vaguely 👎 on this just because it'll make the default output look kinda ugly for most users for an edge-case that's useful to some maintainers sometimes.

it'll make the default output look kinda ugly

I wouldn't consider an escaped space ugly when there is supposed to be one. Otherwise the output is exactly the same as before.

Yeah it just quotes strings with spaces and escapes apostrophes and stuff. Most of the time it makes no difference because nothing needs escaping. I think it would be better for users if the commands were escaped, because otherwise it's impossible to tell what's actually happening — is foo bar one argument or two? I can't think why anyone would prefer seeing invalid, ambiguous shell commands over correct, valid ones.

I can't think why anyone would prefer seeing invalid, ambiguous shell commands over correct, valid ones.

Exactly.

Before:
./configure --prefix=/usr/local/Cellar/wget/1.19.1_1 --sysconfdir=/usr/local/etc --with-ssl=openssl<EMAIL_ADDRESS>--disable-debug --disable-pcre

After:
./configure --prefix\=/usr/local/Cellar/wget/1.19.1_1 --sysconfdir\=/usr/local/etc --with-ssl\=openssl<EMAIL_ADDRESS>--disable-debug --disable-pcre

If you're a user, I think you want to see the former not the latter.

If you're a user, I think you want to see the former not the latter.

I 100% agree.

I can't think why anyone would prefer seeing invalid, ambiguous shell commands over correct, valid ones.

They aren't invalid shell commands, they are unescaped shell commands. These are provided for informational purposes rather than copy-paste purposes. As I said above:

it'll make the default output look kinda ugly for most users for an edge-case that's useful to some maintainers sometimes.

Well, the escaped = seems like a bug in the standard library.

Ok, it needs to be escaped when set -k is specified.

Passing on this, sorry @alyssais.

There is still a bug in here.

@reitermarkus I'm not sure I see what the bug is here and I'm very dubious about fixing bugs that haven't been reported by users (as they may well break things elsewhere).

It seems the bug doesn't actually occur when using IO#reopen.


doc: Add 'safety certification project timeline' to glossary

Add 'safety certification project timeline' to glossary as used in the zephyr safety project planning.

@romkell could you explain what you're trying to accomplish with this PR? It doesn't seem to add a lot of value but I am sure I am missing something regarding maybe some of the documentation requirements for safety|
Thanks!

It is planned that I do that as a PR per term.

really? Why?, can you please just dump everything in one PR please? We need to see if that fits here or if we need to find a better, more suitable place for this. For example, whatever you are submitting in this PR does not qualify as a glossary item IMO.

Not every term in the google drive safety glossary in its current state adds value IMO. But the people who added those must have had an intention to put those there.
For the why: in order to be able to handle each separately. Merge what is valuable (without being blocked), modify, extend or drop what is not.
For this PR: the original term was "project timeline" where I will revert to just to preserve the original. The "safety certification" I just made up to make it at least a little more understandable in the context of the whole zephyr project.
Collecting all terms from the safety glossary in one PR is less work for me.
I feel creating an RFC issue, transfer the existing safety glossary to there is the most suitable approach.

it is public to the Safety WG (which requested more insight, which is absolutely needed)
The terms can be discussed, refined or dropped
the further process can be defined (1 PR per term or all in one)

@kestewart @nashif @kartben : Any other suggestions how to continue with the topic?

outdated and being a draft, the bot is not able to make it stale, so closing. Reopen if you think otherwise.
Outdated PR.  Given it is in draft mode, the bot is not able to make it stale, so closing. Reopen if you think otherwise.
This is a manual cleanup activity due to the large number of open PRs which is becoming unmanageable. Many PRs are left open with no intention to move them forward.


POSITION_AUX=true broken in nginx 1.9.11+

Setting POSITION_AUX=true is not working in nginx 1.9.11+. The module ngx_pagespeed is appearing in both HTTP_FILTER_MODULES and HTTP_AUX_FILTER_MODULES.
ngx_pagespeed is appearing by default in HTTP_FILTER_MODULES. When POSITION_AUX=true, the default entry needs to be removed before it is added to HTTP_AUX_FILTER_MODULES.

I can confirm this with Nginx 1.19.6 as well: adding POSITION_AUX=true to the build environment causes the resulting binary to go into an endless loop when attempting to start.  Errors such as:
nginx: master process /usr/share/nginx/sbin/nginx -g daemon off;(net_instaweb::NgxBaseFetch::Initialize(ngx_cycle_s*)+0x63) [0x55fc7158c557]
nginx: master process /usr/share/nginx/sbin/nginx -g daemon off;(ngx_spawn_process+0x4fe) [0x55fc7150df53]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1) [0x7f3c17cfe2e1]
2021/01/14 11:29:26 [alert] 7#0: [ngx_pagespeed <IP_ADDRESS>-0] [0114/112926:FATAL:ngx_base_fetch.cc(74)] Check failed: event_connection == NULL. event connection already set

…which might explain why #612 is still open despite #906.

I can confirm this with Nginx 1.19.6 as well: adding POSITION_AUX=true to the build environment causes the resulting binary to go into an endless loop when attempting to start.  Errors such as:
nginx: master process /usr/share/nginx/sbin/nginx -g daemon off;(net_instaweb::NgxBaseFetch::Initialize(ngx_cycle_s*)+0x63) [0x55fc7158c557]
nginx: master process /usr/share/nginx/sbin/nginx -g daemon off;(ngx_spawn_process+0x4fe) [0x55fc7150df53]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1) [0x7f3c17cfe2e1]
2021/01/14 11:29:26 [alert] 7#0: [ngx_pagespeed <IP_ADDRESS>-0] [0114/112926:FATAL:ngx_base_fetch.cc(74)] Check failed: event_connection == NULL. event connection already set

…which might explain why #612 is still open despite #906.

I remember that  the POSITION_AUX feature didn't seem to get any traction or testing feedback, or at least the large majority users didn't seem to need it. The plan was to get some feedback on the feature and then flip the switch after building some confidence through that, as the change itself is simple but its implications may not be. See this (6 year old :-) ) [PR review discussion] (https://github.com/apache/incubator-pagespeed-ngx/pull/906#issuecomment-74089777).

I remember that  the POSITION_AUX feature didn't seem to get any traction or testing feedback, or at least the large majority users didn't seem to need it. The plan was to get some feedback on the feature and then flip the switch after building some confidence through that, as the change itself is simple but its implications may not be. See this (6 year old :-) ) [PR review discussion] (https://github.com/apache/incubator-pagespeed-ngx/pull/906#issuecomment-74089777).

My main use for it would've been to restore mod_headers_more's ability to suppress Nginx's native Server: header. I guess I'm one of very few people who care to go that far and use mod_pagespeed. 😉

My main use for it would've been to restore mod_headers_more's ability to suppress Nginx's native Server: header. I guess I'm one of very few people who care to go that far and use mod_pagespeed. 😉

I just dug a little deeper and actually ngx_pagespeed is removing all our custom headers from our responses, both those set with add_header and more_set_headers.  This means when PageSpeed is enabled we lose STS, Referrer-Policy, X-XSS-Protection, Allow and even the Set-Cookie emitted by ngx_http_userid.  We also lose ETag and Cache-Control (which were overwritten anyway) with ModifyCacheHeaders off. I can't believe we hadn't noticed that before today… 😕
Does nobody else in production need to set any header in Nginx?

I just dug a little deeper and actually ngx_pagespeed is removing all our custom headers from our responses, both those set with add_header and more_set_headers.  This means when PageSpeed is enabled we lose STS, Referrer-Policy, X-XSS-Protection, Allow and even the Set-Cookie emitted by ngx_http_userid.  We also lose ETag and Cache-Control (which were overwritten anyway) with ModifyCacheHeaders off. I can't believe we hadn't noticed that before today… 😕
Does nobody else in production need to set any header in Nginx?

Does nobody else in production need to set any header in Nginx?

That does seem unlikely to me. Does this happen only with .pagespeed. rewritten urls?

Does nobody else in production need to set any header in Nginx?

That does seem unlikely to me. Does this happen only with .pagespeed. rewritten urls?

I tested it with plain image URLs when pagespeed is on. My work-around for now (which turned out to work quite well) is to have Nginx proxy into itself to a private port on the paths I want PageSpeed involved, so I can massage the headers before they go out.  The inside server enables PageSpeed and the outside one doesn't.

I tested it with plain image URLs when pagespeed is on. My work-around for now (which turned out to work quite well) is to have Nginx proxy into itself to a private port on the paths I want PageSpeed involved, so I can massage the headers before they go out.  The inside server enables PageSpeed and the outside one doesn't.

That's one way to solve the problem :-) Now if you could configure reverse proxy to cache .pagespeed. resources, you might actually get something else out of it too, and minimize the incurred overhead. (note caching the html is tempting, but harder to set up correctly, but just the .pagespeed. resources should be hassle-free).

That's one way to solve the problem :-) Now if you could configure reverse proxy to cache .pagespeed. resources, you might actually get something else out of it too, and minimize the incurred overhead. (note caching the html is tempting, but harder to set up correctly, but just the .pagespeed. resources should be hassle-free).


Essential compatibility – Error checking for updates of all mods

Description
When Essential and ModManager are installed, Mod Manager cannot check for updates at all with this messages in logs:
«Skipping update for [ModName] because it has no jar in mods»
To Reproduce

Install ModManager
Install an outdated version of any example mod from Modrinth
Install Essential
Launch Minecraft 1.17.1
Open ModManager menu
See error

Screenshots

Technical Info:

OS: Windows 10
Minecraft: 1.17.1
ModManager version: 1.1.1

Logs
Without Essential: latest.log
With Essential: latest.log

I can't reproduce it as Essential crashes for me in the dev environment. First because I was using fabricloader 0.12 and after rolling back to 0.11 it crashed with a Linkage error. I tried it on Linux and macOS always this error.
crash-2021-10-18_19.06.39-client.txt
or

Can you recheck this with the new version, because in #94 the setup had also essentials and update checking did work

Unfortunately, ModManager 1.2.0 still can't check for updates with Essential.

I could reproduce the behavior in multimc I now just need to get this working in intellij

Found the bug Essentials didn't provide a name in the fabric.mod.json and thats why ModManager couldn't parse it and handled the error incorrectly.


Editor does not resize "nicely" when used in a flexbox context

I'm using ngx-monaco-editor in a flexbox, but when I resize (specifically, reduce the width of) the browser, the editor does not correspondingly resize.
I've been unable to force resize by overriding ngx-monaco-editor styles; a quick look at the code makes it seem like window.resize() triggers an editor.layout() call that (I guess?) sets the dimensions to explicit values that take precedence over my style changes.
I've found other versions (/forks?) of ngx-monaco-editor that handle the change with their own handling of resize events (example), but a style change seems to me to be the more "correct" approach.

Hey, if this is still occurring, I posted my solution here:
https://github.com/microsoft/monaco-editor/issues/1482

I solved similar issue by using automaticLayout: true setting.

Is there a solution that works using "height: 100%"?
For this bug: https://github.com/microsoft/monaco-editor/issues/1482??

trying to use it inside a "Draggable Panel" and finding that the editor is "greedy" with its width.  EG once you make it bigger, you can not shrink it again.  Maybe it has something to do with the implementation of this "Draggable Panel" component not triggering its resize event properly?
REPO: https://codesandbox.io/s/fervent-wave-9dg236?file=/src/App.tsx:9-23
If anyone has gotten a similar setup to work with a different component / setup, please share!

I was able to get this to work using a workaround mentioned in this StackOverflow Answer
REPO: https://codesandbox.io/s/prod-brook-j2gmmt?file=/src/App.tsx
Been testing an so far haven't noticed any impactful style side effects


HAWQ-651. Enhance update property values in xml file

Let 'hawq config' can deal with xml file which do not have a pretty format.

Minor typo fix to help message.

＋1

+1


chore: bump node requirement (>=10)

I wouldn't mind if we could consider please-upgrade-node, which I recently discovered from https://github.com/prettier/prettier/pull/7837.

Thanks for the hint Brody. Would evaluate "please-upgrade-node" in a separate PR though.


spinel: Add support for filtering unsolicited property updates.

This new capability and set of properties allows the host to instruct the NCP to temporarily cease sending unsolicited updates for specific properties.
The filter is opt-out: you must specify the properties that you are NOT interested in. There is an additional read-only property which lists all of the properties which you may opt-out of unsolicited updates from.

This looks good.  I have one thought with regards to whether we should try to tie this feature more tightly with the host power state feature?  If we leave these as independent features there will be a window where the host will be considered to be awake by the NCP but the filter is still in affect, until the NCP can receive a message from the host to clear the filter.  Thus, possibly creating a window where frames are lost that the host would desire to receive.
Ideally, when the NCP transitions the host power state from some lower power value to the online value, we would like the filter to be disabled at that time.  For this reason I wonder whether it would be useful and not to awkward to add a flag that indicates the filter should be cleared when the power state transitions?

What I'm thinking is that we could have a host sleep action cause a copy of PROP_UNSOL_UPDATE_FILTER to be stored. The action would then imply some new filters might be added to PROP_UNSOL_UPDATE_FILTER. The previous value of PROP_UNSOL_UPDATE_FILTER would be restored upon host wake.
Thoughts?

Note that not all properties that support unsolicited updates need to be supported by this mechanism. Scan results, for example, are only generated due to direct action on the part of the host, so there is nothing to gain by filtering them. This allows us to limit the complexity of the implementation of the mechanism.
Thinking more about it, this discussion seems like good fodder for additional documentation that should be added to these properties.

Ok, so the filter used during sleep would be supplied as part of the sleep request command from the host, correct?  The sleep logic would adopt this filter by copying the existing filter and replacing it with the sleep filter. Then when the host is transitioned from sleep -> online the old filter is re-activated as part of that transition?
If that correctly summarizes your plan, I think I'm on board.

I agree that there is nothing to be gained by filtering modal unsolicited updates such as scan results, however why complicate matters?  I would just blindly include all of the possible unsolicited updates and let the user deal with it.
Sleep and scan operations may be asynchronous and independent of one another on the host (one piece of logic is unaware of the other).  The desired behavior might in fact be; if the host says go to sleep while a scan is ongoing, sleep should take priority and scan results should not wake the host.

Yes, except that the filter used when the host is asleep is the logical OR of the built-in host-sleep filter and whatever filter is already set. If the built-in host-sleep filter is identical to PROP_UNSOL_UPDATE_LIST, then that is basically a no-op.

The logical OR scheme makes sense.
In that case the documentation, describing PROP_HOST_POWER_STATE needs to be updated.

Will do.

were you going to make the doc changes to the host_power_state?

Yes, I'll do that now.

Updated.


GH-119: Fix early BF access from the BeanNameMP

Fixes GH-119 (https://github.com/spring-projects/spring-integration-java-dsl/issues/119)
Previously the BeanNameMessageProcessor obtained the target bean by provided name directly in the setBeanFactory().
It is very early and causes unexpected behavior.

Move getBean() for target to the Lifecycle.start()
Add new features to the FileWritingMessageHandlerSpec according SI-4.3
Improve FileTests to be sure that trigger action for the underlying FileWritingMessageHandler performed correctly via Java DSL

Rebased, merged as 191c9c684e162645fd49d18f3f2424a8fa0d9321


No window popup to show images within a thread

I'm working on Mac OSX. I installed OpenCV 3.1.0 from source code built by default compiler. And I write a piece of code to test OpenCV functionality. My basic idea is to show a image sequence one by one decoded from a video. I define a function to show the image sequence. If I use the function directly, it works as expected. But if I create a thread to show the images, there is just one icon in Mac Dock, the image window doesn't popup. So is there any potential issue with a thread to show images.
Here the code is
 1#include <iostream>
 2#include <thread>
 3#include <opencv2/opencv.hpp>
 4
 5void ShowImages(const std::string &path);
 6
 7int main(int argc, char** argv)
 8{
 9    if (argc != 2)
10    {
11      printf("usage: DisplayImage.out <Video_Path>\n");
12      return -1;
13    }
14
15    std::cout << "Start to display images" << std::endl;
16
17#if 0
18    ShowImages(string(argv[1]));
19#else
20    std::thread tShow(&ShowImages, std::string(argv[1]));
21    tShow.join();
22#endif
23
24    return 0;
25}
26
27void ShowImages(const std::string &path)
28{
29    int count = 0;
30    int mT = 1000/10;
31    char filename[255];
32
33    cv::namedWindow("Display Image", cv::WINDOW_AUTOSIZE);
34     for(;;)
35    {
36        sprintf(filename, "%s/%06d.png", path.c_str(), count);
37
38        printf("Display frame#: %s\n", filename);
39
40        cv::Mat image = cv::imread(filename, 1);
41        if (!image.data)
42        {
43          std::cout << "No more images, break now" << std::endl;
44            break;
45        }
46
47        cv::imshow("Display Image", image);
48        cv::waitKey(mT);
49
50        count++;
51    }
52
53}

Try to create a window in main thread before starting the second. Please, provide information returned by cv::getBuildInformation()
By the way, usually it is not a good idea to call GUI functions from threads other than main.

I have exactly the same problem as @sunstarchan.
The code runs without problems on a virtual machine linux (i.e. images are shown from non-main thread using imshow()). But on osx, the imshow() (in the non-main thread) is ignored. After the thread(from which imshow() is called) finishes, the image window opens for a split second, before the program terminates.
Opening the window from the main thread did not help, unfortunately.
Here is my build information: opencvBuildInformation.txt

I downloaded the source code from official website, not from GitHub. I attached my build information
BuildInformation.txt
Most of the build information is the same as @johannesdeselaers 's. And the same result of no window popup

Looks like you use Cocoa window backend, there could be problems when working with windows and views from different threads: Thread Safety Summary
I have doubts that thread-safe window handling can be implemented within current highgui interface using Cocoa backend. If you have different opinion - feel free to post your thoughts here.
You can also try to use Qt backend (build OpenCV with Qt support), it should support working with windows from threads other than main.

I have the same problem.
mac os x, opencv 3.1 using the qt5 backend.
namedWindow in main thread, imshow in another thread which is created by std::thread, and the imshow is blocked.
two solution:
sol 1) call cvInitSystem before the namedWindow in the main thread, then imshow is ok.
sol 2) use cv::startLoop instead of std::thread to create the imshow thread.
I am not family with qt, does any one has some idea about why these two solutions work?


Removed incorrect semicolon in type definition

How'd you find that? It seems like something that we should add to the build tooling and/or a Git hook.

When trying to compile a Typescript project that depends on this library it was throwing an error 😊
Thanks for the feedback


The DSG function deploys fail with a "larger than the maximum supported" error for high page counts.

Description of the issue
The DSG feature is handled by Functions that are created by this plugin. However, the plugin doesn't detect when the database files used will cause the deployed Function will exceed the limits at AWS:
https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html
I believe MDB flat database files are used in these functions. (I could be wrong about this.) As these become too large the function size exceeds the Lambda limits and deploys will always fail.
Reproduction
Enable DSG for a large number of pages and then attempt to build and deploy at Netlify
The error in the build logs will be similar to this:
The function zip ../../../tmp/zisi-<hash>/__dsg.zip size is 199.9 MB, which is larger than the maximum supported size of 52.4 MB.

Expected behavior
Ideally, the plugin would detect this limit and create multiple functions and redirect rules. The redirect would send each DSG URL to the function with the database which can generate the page. It would automatically split the MDB files into many smaller files and create multiple functions. Each function would handle a subset of the total pages to keep the bundle size under the Lambda limit.
I realize that is a non-trivial feature request. However, besides creating more than one function, I can see no other solution for this plugin to automatically scale to an arbitrary large number of DSG pages. If you use a single function at some point the MDB file will exceed the limit.

Hey. This needs solving in the build plugin rather than here, so I'm going to move the issue. Splitting by route is unfortunately impossible, because the datastore includes the whole of the Gatsby data layer and we can't track the data dependency. I have a possible solution here: https://github.com/netlify/netlify-plugin-gatsby/issues/320


Undx/tdi 41033 marklogic tuj missing jar

What is the current behavior? (You can also link to an open issue here)
https://jira.talendforge.org/browse/TDI-41022
What is the new behavior?
Force protobuf-java version in pom.xml to bypass hadoop-common
Please check if the PR fulfills these requirements

[ ] The commit message follows Talend standard
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features) ?
[ ] The code coverage on new code >75%
[ ] The new code does not introduce new technical issues (sonar / eslint)

What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build / CI related changes
[ ] Other... Please describe:

Does this PR introduce a breaking change?

[ ] Yes
[ ] No

If this PR contains a breaking change, please describe the impact and migration path for existing applications: ...
Other information:

Pull request test result: failure :x:

Pull request test result: success :star:
Sonar results


Can O' Spam: Watch blix-umzuege.de

Can O' Spam requests the watch of the watch_keyword blix-umzuege\.de. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Approved by Jeff Schaller in Charcoal HQ


adding huc08Poly to sysdata.rda

In addition to the HUC08 polygons, I think we'll also need some built-in package data that makes use of HUC08s for the vignettes. I think wUseSample.RData we have right now doesn't have any HUC08 information in it.

Yeah... I don't have any right now... @jshourds-usgs can you help there?

I'm going to go ahead and merge this so it's available. Another PR to come when we add more data.

There are some HUC8 data in the google drive file under "INTERNAL ONLY example data files>State Compiler" datasets under each state Idaho or Maine.  for ex, INTERNAL ONLY example data files>State Compiler>Maine>HUC-8
Does that help?

Thanks. It definitely helps as far as developing and testing the capability to do HUC choropleths, but I think we'll still need to include some HUC-related WU data in the package data for the examples, tests, and vignettes to run.

Ok, I just did a pull request with a small subset of HUC8 data from Maine that were in the state compiler files.


Enhance ajd_pham to process HPD matrices

This PR enhances ajd_pham to process HPD matrices,
following code https://github.com/Marco-Congedo/Diagonalizations.jl/blob/master/src/optim/LogLike.jl#L46
Note: tau in pyRiemann is the transpose of Gamma in Diagonalizations.jl
This is the continuation of  #238. Related to #204.
A consequence is that mean_ale supports HPD matrices.

let me know when it's good to go.


HOSTEDCP-1542: hcco: expose Azure federated token files

hcco: expose Azure federated token files
Expect components to use Azure workload identity, propagate those
secrets from the HyperShift Operator to each individual HostedCluster
namespace, then to the guest clusters themselves.
Signed-off-by: Steve Kuznetsov<EMAIL_ADDRESS>

/hold
We should just use ccoctl and not do this.

/close


revert: ensure publish workflow is run on tag push

Refs: cfd6dc1da16cf17151cf63de20ef9be2845026ed

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 88.70%. Comparing base (a410464) to head (4dd8d30).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #168   +/-   ##
=======================================
  Coverage   88.70%   88.70%
=======================================
  Files          27       27
  Lines        2009     2009
=======================================
  Hits         1782     1782
  Misses        227      227

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


LTOBD2Adapter: Race Condition in Command Queue Access

-(void)asyncEnqueueInternalCommand:(LTOBD2AdapterInternalCommand*)internalCommand
{
    **[_commandQueue addObject:internalCommand];**
    [self asyncProcessCommandQueue];
}
*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM insertObject:atIndex:]: index 7191 beyond bounds [0 .. 7189]'

Can you help me to figure out what has happend. I record over 30 Minutes rpm and speed and 4 Other values.

Tested this in debug and _commandQueue is between 1 and 6 after adding commands.
i dont know why it can go up to 7000.
And why it is possible to get this Error: index beyond bounds
i will try it with this solution:
if ( [_commandQueue count] > 200 )
{
    NSLog( @"cancelPendingCommands : Has more than 200" );
    [self cancelPendingCommands];
}

after: asyncProcessCommandQueue

Thanks for this report. The actual problem looks like a multithreading race condition – I should check whether access of the command queue is a) coordinated or b) make the command queue thread-safe.
That said, if you're checking values in a loop, you have to take care that you're not adding commands faster than they are handled, so instead of adding based on a timer it would be better to use the completion handler to schedule the next iteration.
Last but not least, there are several optimizations that I want to tackle in 2019, namely adding facilities to group multiple PID queries (in order to save bandwidth), and also something to ease repeating queries.

Have you any idea how to fix this ?
Yesterday it was 0...4 [index 6 beyond bounds]
I start the "transmitMultipleCommands" function in the main queue but it doesn´t help.

This Error only happens all >50.000 readings so its hard to find the error but i think this might be help.
-(void)asyncEnqueueInternalCommand:(LTOBD2AdapterInternalCommand*)internalCommand
{
    @synchronized(self) {
        [_commandQueue addObject:internalCommand];
        [self asyncProcessCommandQueue];
    }
}

@synchronized(self) is not the solution.
Now i test with the serial dispatchqueue.

created pull request for the solution. #26


cannot create the naming contract object of starknetid

I returned an error when using starknet.js to initialize the starknetid naming contract
LibraryError: -32603: Internal error: StarknetErrorCode.UNDECLARED_CLASS: Error at pc=0:10:
Got an exception while executing a hint.
Cairo traceback (most recent call last):
Unknown location (pc=0:228)
Unknown location (pc=0:214)
Error in the called contract (0x6c84de1e7394c700d0d4a382db05b3186fee012e51daecc1c1e2caf1d5ecd94):
Error at pc=0:219:
Got an exception while executing a hint.
Cairo traceback (most recent call last):
Unknown location (pc=0:8090)
Unknown location (pc=0:8038)
Unknown location (pc=0:5734)
Unknown location (pc=0:5755)
Error in the called contract (0x6ac597f8116f886fa1c97a23fa4e08299975ecaf6b598873ca6792b9bbfb678):
Error at pc=0:15:
Got an exception while executing a hint.
Cairo traceback (most recent call last):
Unknown location (pc=0:214)
Unknown location (pc=0:200)
Error in the called contract (0x6ac597f8116f886fa1c97a23fa4e08299975ecaf6b598873ca6792b9bbfb678):
Class with hash 0x777ba3d99380d889d4cee7148a35c608c18bb4c993643cdfa013143346d9753 is not declared.
Or when I use getClassAt to get abi, return
LibraryError: 20: Contract not found
As a result, I cannot create the naming contract object of starknetid,
What should I do?

It's best to reach out to Starknet.id on their Discord: https://discord.gg/8uS2Mgcsza.


start-game-3d-btn button added

 start-game-3d-btn button added under special button folder

Issue:

Hi @I3han thank you for your work. You were supposed to improve on the key button, not create a new button. I'm gonna close this PR as it is not what was requested. Please work on improving the Key button to make it look like the example you provided in the issue. Thank you.

@shahednasser sorry for the mistake, I have created a another PR for improved Key button.


refactor: modify "DatasetManager" and associated code to fit new OpenAPI

Task linked: CU-2k67b5k [parent] 对接基础 OpenAPIv2 与 Manager


initialize 0010 proposal

omit details related to the time delay
omit details related to fees
lack of argument

Prefer to split UNFO to separate RFC, missing content about how UNFO manage ownership and mapping to original NFT standards, such as ERC721 etc


style: section styles

Adds spacing between entry form elements (filter input and tables) and fixes some section header styles, including a too-short filter input

Oh, thanks 😅 I'll change the commit messages. Would that be a feat instead?


stuck in Running start command

Describe the bug
Local projects running smoothly, stuck in Running start command with StackBlitz at the first step.
Link to the blitz that caused the error
https://stackblitz.com/edit/github-pmdrhm?file=README.md
Steps to reproduce

fork from https://stackblitz.com/github/element-plus/element-plus-vite-starter
StackBlitz runs automatically npm install && npm run dev

Expected behavior
open demo page，https://vite-starter.element-plus.org/

Parity with Local

[X] I have run the project in my local machine and I could not reproduce the issue.

Screenshots

Platform
Browser name  = Chrome
Full version  = <IP_ADDRESS>
Major version = 106
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
performance.memory = {
  "totalJSHeapSize": 134797434,
  "usedJSHeapSize": 104177570,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Hash = 3e4f172269cb19a250be0dfdff1ab657cb850d0e

Additional context
No response

Hi @rockbenben. After opening the project it does seem to work fine here.

Any additional output in the terminal? Any errors in the Chrome Devtools would also be helpfull.
If you have a lot of StackBlitz projects open, Chrome could throw an out-of-memory under the hood (more info here https://developer.stackblitz.com/codeflow/working-in-codeflow-ide#out-of-memory-error). So one thing you could try is make sure you don't have any other StackBlitz projects open and try refreshing the page.

Hey 👋 I also can't reproduce this on my end.

@rockbenben The preload warnings are just warnings, you can ignore those. I'm more interested in red errors :).

@SamVerschueren

:wave: We're closing this due to inactivity. Please, feel free to open a new one if you're still encountering any errors.


Forgotten GOST2012 support in non-vital places

Checklist

[ ] documentation is added or updated
[ ] tests are added or updated

This PR targets the 1.1.1 branch. It should really target master. Also can you supply a CLA?
https://www.openssl.org/policies/cla.html
Ping @beldmit.

Yes I will sign CLA, i can't do it right now but i will do
I think this PR must target both master and 1.1.1

Will approve after CLA signing.

sign ans send ICLA

CLA received - thanks! Close/reopen to kick CLA bot.

Ping @openssl/otc
It's a rather straightforward PR.

This pull request is ready to merge

Merged to 1.1.1

Cherry-picked to master.
Many thanks!


specify filename in UploadFileToControllerViaForm

import mujincontrollerclientcpppy
client = mujincontrollerclientcpppy.CreateControllerClient('mujin:mujin', 'localhost')
client.UploadFile('あ.txt', 'mujin:/あ.txt')

ls /data/media/mujin
あ.txt

closes https://github.com/mujin/controllerclientcpp/pull/79

@cielavenir do we have to worry about back compat with existing users?

@rdiankov

back compat with existing users

import mujincontrollerclientcpppy
client = mujincontrollerclientcpppy.CreateControllerClient('mujin:mujin', 'localhost')
client.UploadFile('あ.txt', 'mujin:/あ.txt')
client.DownloadFile('mujin:/あ.txt')

master
RuntimeError: mujin (): Json string is invalid (offset 4) The document root must not be followed by other values. str=404 page not found

uploadFileNameInURI
''

This means previously (without uploadFileNameInURI) uploaded file could not be accessed.

Or do you mean this works (currently) and some users might do this weird convertion?
import mujincontrollerclientcpppy
client = mujincontrollerclientcpppy.CreateControllerClient('mujin:mujin', 'localhost')
client.UploadFile('あ.txt', 'mujin:/あ.txt')
client.DownloadFile('mujin:/%E3%81%82.txt')


Bias Correction of UK wide data for LCAT

For one of our stakeholders, we need to provide them BC for whole of UK data by the end of September.

MVP: Deliver 1 run tasmax, tasmin, precip, including the historical model
Stretch Goal: Deliver 4 runs (Run 5, 6, 7, 8)

Additional Info:

It has been agreed that we will decide the BC method, likely Empirical Quantile Mapping (to confirm this method name)
Ruth has been running this in R using qmap and it's going well so far - currently looping over the whole of the UK.
When this has been processed, the following steps will be needed:

Tasks:

[ ] Sense checking code and outputs and assessing the data
[ ] As data has been cut and processed in different areas, needs to be overlaid again back to UK wide
[ ] if time Providing as seasonal means as well as daily

Adding here for further discussion - I realised I've made a slight error which unfortunately I think means re-running several steps with a different input shapefile...
I used this shapefile to crop all of the rasters to convert to dataframe and then apply the bias correction:

Because I was masking the raster (ie using the lines to crop the raster, rather than using the full (square) extent as we will for the 3 cities) with the shape, it crops out everything not within this raster.
However, what I noticed last week but have only just realised will be an issue - is that this means that areas where the majority of the grid cell is a river or estuary the cells also get dropped, see this London example:

This is generally not a big deal apart from I've realised that LCAT give the option of sharing this data at LSOA level. In some dense areas (eg London) this could mean some areas will return NA values because of this (ie where the area is made up only of this riverbank areas)
There will be very very few LSOAs effects I believe, but there is a really easy fix, which is to just use a different shapefile and process everything again (i would suggest using this one - handily linked in LCAT docs, or I can find another one/use a few!
Apologies!

Note too: I need to re-run the year alignment I believe, because the CPM actually starts in Dec 1980, not Jan 1980

OK just to confirm, there are NA cells in the HADs grid that are causing the NA cells above in the bias corrected CPM. See this example which is cropped using the London extent (ie not the shapefile I've overlaid for illustrative purposes!) - the raster is the first layer of Raw/HadsUKgrid/tasmax/day/tasmax_hadukgrid_uk_1km_day_19800101-19800131.nc

Unless it's easy during the resampling for 360 days to interpolate these values (@aranas welcome your thoughts!) then I think best to just accept the NA.
However, I do still need to run this, as indeed I completely forgot to account for this:

Note too: I need to re-run the year alignment I believe, because the CPM actually starts in Dec 1980, not Jan 1980

This is more of an error than the missing NAs as the values are shifted by a month and so we can't use this for BC data, so I will re-run once the HADs has been sampled to 360 days. (Fortunately it will be just a few lines of code adjustment for the new data and then just babysitting!)

Closing this and Ruth to add assessment and sense checking outstanding tasks to #39

Just for future reference: I re-ran this to accommodate the update as mentioned:

Note too: I need to re-run the year alignment I believe, because the CPM actually starts in Dec 1980, not Jan 1980


add swag section to README.md

What: Added a swag section to the bottom of the readme with two links to t-shirts.

Why:

How: Modifying the README.md file.

Checklist:

[X] Documentation
[ ] Tests N/A
[ ] Code complete N/A
[ ] Added myself to contributors table  N/A
[ ] Followed the commit message format N/A

Thanks for letting us put a couple T-Shirts up for the project!

Codecov Report

Merging #126 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master   #126   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          10     10
  Lines         124    124
  Branches       32     32
=====================================
  Hits          124    124

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update afbd1e1...ae50dd4. Read the comment docs.

I can't wait to get mine!


HV-1727 Update Jackson Databind test dependency to <IP_ADDRESS>

https://hibernate.atlassian.net/browse/HV-1727

(closed and reopened the PR to trigger a Travis build)


Integral types

Is there a reason why Discrete.h uses std::is_same rather than std::is_integral here?
https://github.com/bab2min/EigenRand/blob/f3190cd7f85c5878c949625cb2811262ff050d66/EigenRand/Dists/Discrete.h#L217
If this is instead std::is_integral<_Scalar>::value, then the discrete generators can also be used for int64_t, uint32_t, etc.

Would this line:
https://github.com/bab2min/EigenRand/blob/f3190cd7f85c5878c949625cb2811262ff050d66/EigenRand/Dists/Discrete.h#L268
need to change to if (bitcnt + bitsize < 8*sizeof(_Scalar))?

As I look further, it seems like there are a decent number of places where other types/constants need to become sizeof-dependent. Is this of interest?

Hi @kc9jud , thank you for your interest in this repository.
It is because Discrete generators use some specialized routine for int32_t SIMD.
At the time of first implementation, only int32_t was considered, so additional implementations were required to make it work for other integral types.
I will add support for other integral types in future updates.


White screen when logging in or loading Ghost although dark mode is turned on

Issue Summary
When dark mode is on, as the user logs into the admin panel, the login form and the loading screen are completely white.
For external visitors the blog is dark (Casper theme) and for the admin-side of things the editor is also dark, but when logging into the platform the loading page with the spinner is fully white, thus blasting the admin user with sudden bright light for a second or two. This happens only during login or loading and before dark mode returns (when enabled).
To Reproduce

The issue is more irritating if your blog runs a theme which supports dark mode
Go to your ghost blog.
Add "/ghost" to the URL in order to log into the admin panel
Notice that the login form is white if you aren't logged in or if you are, notice that the page blasts you with a white screen while you are logging for a second or two before turning dark again

I think Ghost should be smarter about this and also enable dark mode for the Admin login and loader pages if the dark mode is turned on.
Technical details:

Ghost Version: Latest
Browser/OS: Chrome, Safari

Could we fix this at some point in future updates?

I want to open a pull request to fix this but I can't. Any help on what I'm missing?

Hey @oreniko26, following our contributor guide should work. What exactly are you having a problem with?

I missed the fact I need to fork the project into my personal account. From here on out things should flow smoothly. Thanks, @gargol!

I want to fix the issue but need some help
First in which file should I look for the bug? From my point file path should be 'Ghost-Admin/app/styles/app-dark.css .

First in which file should I look for the bug?

It's not a bug but expected behaviour at the moment, a CSS change will not be able to "fix" it.
The night-shift preference is stored per-user. The login screen has no access to that preference because you are not logged in yet so it displays with the default stylesheet, only once you log in and your user preferences are loaded does the app know to switch over to the night shift stylesheet.
We may in the future be able to auto-toggle based on OS-level preferences but some design work needs to be done for how that will interact with the user-level preference in the admin area.
I'm closing this issue for now as it's not a bug but a feature request. I suggest opening a topic on the Ideas board so that it can be voted on and prioritised.

First in which file should I look for the bug?

It's not a bug but expected behaviour at the moment, a CSS change will not be able to "fix" it.
The night-shift preference is stored per-user. The login screen has no access to that preference because you are not logged in yet so it displays with the default stylesheet, only once you log in and your user preferences are loaded does the app know to switch over to the night shift stylesheet.
We may in the future be able to auto-toggle based on OS-level preferences (these weren't generally available when we built the night-shift feature) but some design work needs to be done for how that will interact with the user-level preference in the admin area.
I'm closing this issue for now as it's not a bug but a feature request. I suggest opening a topic on the Ideas board so that it can be voted on and prioritised.

I see the problem more as Dark Reader, which works on basically every site I've been to, does not work on the latest version of ghost.


Update README.md with a few install changes

Signed-off-by: TomSweeneyRedHat<EMAIL_ADDRESS>Testing found a few nits to clean up in the install process.

LGTM.

@rh-atomic-bot r+ 88dc284


Login/ Signup not working

I would like to work on following things:

Do the backend for login and signup
Improve the UI for this page

@SwanandD121 please assign me this task

issue already present, raise a unique issue.


CLI -put

We need to create the cli for PUT method in the same way of the rest of the method:
hjs generate put [path] --headers [headers]* --status [status]* --cookies [cookies]* --description [description]*

Take in mind a PUT test template  will be generated by defaul.t
* These fields are optional

Put method is available now


HLS playback error

Hi. I'm trying to get hls playback working. It seems to be some bug in the playback source.
With pre-built, cdn-hosted or built on my computer player, I get
Uncaught TypeError: this.el.playerSetflushLiveURLCache is not a function
in the browser console, when trying to play HLS.
It is line 85 in src/playbacks/hls/hls.js.
When commenting out this line, I get similar errors for other functions under this.el.

@dasumin Could you please check whether flashlsChromeless.swf is returning correctly?  We've run some tests on this page with both DVR on and off and it's working ok.
If it's really not working on the test page, please send the URL of your video stream or the page where your stream is not working.

@dasumin I just pushed 0.1.1 that fixes this problem. Please let me know if something else appears.


运行环境

请问一下你的基本运行环境是怎么样的，比如torch和transformers的版本？谢谢。

Try transformers==2.10.0 and torch==1.6.0 and see whether it works.

It reports an error, can you help me to resolve it, thx~ (I use the transformers==2.10.0 and torch==1.6.0)
Iteration:   0%|                                                                                | 0/1038150 [00:03<?, ?it/s]
Epoch:   0%|                                                                                | 0/10 [00:03<?, ?it/s]
Traceback (most recent call last):
File "./train.py", line 255, in
main()
File "./train.py", line 247, in main
train(args, model)
File "./train.py", line 97, in train
outputs = model(**batch)
File "/data/users/caiyinqiong/anaconda3/envs/marco/lib/python3.6/site-packages/torch/nn/modules/module.py", line 722, in _call_impl
result = self.forward(*input, **kwargs)
File "/data/users/caiyinqiong/anaconda3/envs/marco/lib/python3.6/site-packages/torch/nn/parallel/data_parallel.py", line 155, in forward
outputs = self.parallel_apply(replicas, inputs, kwargs)
File "/data/users/caiyinqiong/anaconda3/envs/marco/lib/python3.6/site-packages/torch/nn/parallel/data_parallel.py", line 165, in parallel_apply
return parallel_apply(replicas, inputs, kwargs, self.device_ids[:len(replicas)])
File "/data/users/caiyinqiong/anaconda3/envs/marco/lib/python3.6/site-packages/torch/nn/parallel/parallel_apply.py", line 85, in parallel_apply
output.reraise()
File "/data/users/caiyinqiong/anaconda3/envs/marco/lib/python3.6/site-packages/torch/_utils.py", line 395, in reraise
raise self.exc_type(msg)
RuntimeError: Caught RuntimeError in replica 0 on device 0.
Original Traceback (most recent call last):
File "/data/users/caiyinqiong/anaconda3/envs/marco/lib/python3.6/site-packages/torch/nn/parallel/parallel_apply.py", line 60, in _worker
output = module(*input, **kwargs)
File "/data/users/caiyinqiong/anaconda3/envs/marco/lib/python3.6/site-packages/torch/nn/modules/module.py", line 722, in _call_impl
result = self.forward(*input, **kwargs)
File "/data/users/caiyinqiong/marco-exp/RepBERT-Index/modeling.py", line 60, in forward
loss = loss_fct(similarities, labels)
File "/data/users/caiyinqiong/anaconda3/envs/marco/lib/python3.6/site-packages/torch/nn/modules/module.py", line 722, in _call_impl
result = self.forward(*input, **kwargs)
File "/data/users/caiyinqiong/anaconda3/envs/marco/lib/python3.6/site-packages/torch/nn/modules/loss.py", line 755, in forward
return F.multilabel_margin_loss(input, target, reduction=self.reduction)
File "/data/users/caiyinqiong/anaconda3/envs/marco/lib/python3.6/site-packages/torch/nn/functional.py", line 2711, in multilabel_margin_loss
return torch._C._nn.multilabel_margin_loss(input, target, reduction_enum)
RuntimeError: inconsistent target size: [26, 52] for input of size: [26, 26]

This is caused by the in-batch trick. When you use multiple gpus, the batch is splitted and but the labels are not.
Maybe compute the loss after the model returns the result or split the labels in advance can solve it.


Ahah yea I just noticed I missed the 14.0.0 release by a few minutes. It's ok, I'll wait for 14.0.1


Let chaincodeInstallPath read from config

Currently the chaincodeInstallPath directly uses the default hard-coded value.
Add code to try reading it from config first.
This closes #1102.
Signed-off-by: Baohua Yang<EMAIL_ADDRESS>

Does this also resolve issue #1074? It looks like the same problem.

@srderson
Yes, seems the same problem.
Could you help add this patch to close #1074 too?
Thanks a lot!

@yeasy : can you take a look at recent comments in #1074 and provide your view please ? If you agree that the right thing to do would be to remove the "installpath" option, perhaps we can modify your PR to do that ?

@yeasy See https://github.com/hyperledger/fabric/issues/1074#issuecomment-211934650

@srderson
Sure, I will add those suggested comments in another patch.

Confirmed all tests are passing. LGTM.


Bootstrap doesn't work

Bugs

github_repository.name  points to var.vcs_repo_identifier
An input variable with the name "tfe_organization_namer" has not been declared.
An input variable with the name "vcs_repo_PAT" has not been declared.
An input variable with the name "tfc_team_token" has not been declared.
var.vcs_repo_identifier is not set in bootstrap.sh

Enhancement

azuread_application.display_name is app-station-tfe-tests by default. Change to app-station-bootstrap.
Show selected azure subscription as well as tenant id on Azure Account Information.

github_repository.name points to var.vcs_repo_identifier: This has now been changed to point to vcs_repo_name and the vcs_repo_identifier has been removed because it was previously used before the repository was created during the bootstrap
An input variable with the name "tfe_organization_namer" has not been declared.: This has not been declared in the variables.tf but I cant find any code reference to this anywhere in the codebase. Is this needed ?
An input variable with the name "vcs_repo_PAT" has not been declared: Added in commit.
An input variable with the name "tfc_team_token" has not been declared: Renamed this to tfc_token to match value in bootstrap script. This can also be an org token so the name was not correct. Fixed in commit

Bugs

github_repository.name points to var.vcs_repo_identifier: This has now been changed to point to vcs_repo_name and the vcs_repo_identifier has been removed because it was previously used before the repository was created using terraform
An input variable with the name "tfe_organization_namer" has not been declared.: This has not been declared in the variables.tf but I cant find any code reference to this anywhere in the codebase. Is this needed ?
An input variable with the name "vcs_repo_PAT" has not been declared: Added in 2f2df59e0ab72bd18b51f796635d619494ac3209.
An input variable with the name "tfc_team_token" has not been declared: Renamed this to tfc_token to match value in bootstrap script. This can also be an org token so the name was not correct. Fixed in 2f2df59e0ab72bd18b51f796635d619494ac3209
var.vcs_repo_identifier is not set in bootstrap.sh:

Enhancement

**azuread_application.display_name is app-station-tfe-tests by default. Change to app-station-bootstrap: ** This was changed in 5fa090e7fb4a77b744931be1522b9d4d835ca376
Show selected azure subscription as well as tenant id on Azure Account Information: This was added in 1e488a09c927a908eae2dfbc63d994c19a8ed8cd

I also fixed the depreciation warning for the default_brach attribute in 7c753a9edb5ecee1e6a68e902eb381d21c59209d
╷
│ Warning: Deprecated attribute
│
│   on tfe_workspace.tf line 18, in resource "tfe_workspace" "deployments":
│   18:     branch                     = github_repository.deployments.default_branch
│
│ The attribute "default_branch" is deprecated. Refer to the provider documentation for details.

Resolved in #68


[SwiftyCam]: Cannot take photo. Capture session is not running

do not override parent view controller's viewWillApperae method


Victor/core/bugfix az span i64toa non negative

fixes: https://github.com/Azure/azure-sdk-for-c/issues/600
some of the issues coming from last code refactor. Found while running storage sample.
See issue description
Fix by making out_span to point to destination before writing into it

None of our span functions "append" anymore. So az_span_copy_u8 writes a single byte (not char) to the byte pointed to by the span's ptr. It returns a subspan sliced 1 byte in so the returned span is the original ptr+1 and the returned size is the original size-1.