Set TCP_FIN_TIMEOUT_MS to a smaller value (e.g. 6000) to make it go faster
Repeatedly run testsocket
This seems to always corrupt 8 bytes within an object in a pattern similar to list_t (self-referential pointer). I'm strongly suspecting a use-after-free, since the other fields within the object are not smashed. Timer seems like the prime culprit at the moment since it gets used during packet loss, and it touches list_t.
Repro steps:
TCP_DEBUG_DROP
TCP_FIN_TIMEOUT_MS
to a smaller value (e.g. 6000) to make it go fastertestsocket
This seems to always corrupt 8 bytes within an object in a pattern similar to
list_t
(self-referential pointer). I'm strongly suspecting a use-after-free, since the other fields within the object are not smashed. Timer seems like the prime culprit at the moment since it gets used during packet loss, and it toucheslist_t
.