Commit 7612ec9
authored
req-resp: Fix memory leak of pending substreams (#297)
Similar to #296, there is a
possibility of leaking memory in the following edge-case:
- T0: Connection is established and outbound substream is initiated with
peer
- This maps the substream ID to the request bytes information
- T1: Connection is closed before the service has a chance to report
`TransportEvent::SubstreamOpened` or
`TransportEvent::SubstreamOpenFailure`
In this case, if we connect and immediately disconnect with a request in
flight, we are effectively leaking the request bytes.
Detected by:
- #294
### Dashboard
- We are leaking ~111 requests over 3 days timespan:
<img width="1484" alt="Screenshot 2024-12-03 at 10 41 01"
src="https://github.com/user-attachments/assets/f6701017-4add-4aa1-aee1-e1f8d33d54f3">
cc @paritytech/networking
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>1 parent 28d42c6 commit 7612ec9
1 file changed
+3
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
292 | 292 | | |
293 | 293 | | |
294 | 294 | | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
295 | 298 | | |
296 | 299 | | |
297 | 300 | | |
| |||
0 commit comments