Hello,
Over the past few months, I've seen a smattering of kamailio crashes on
various systems with identical backtraces: SIGSEGV in tcp_read_headers(),
at tcp_read.c line 628. Example here:
https://pastebin.com/qJ3ypnVz
Note that in frame 0, print *c shows that req->parsed is pointing to an
address exactly 8GB lower than req->buf. That req->parsed is pointing to
an invalid memory location, crashing kamailio when the location is
dereferenced. In other coredumps, I see that req->parsed is pointing to an
address exactly 4GB lower than req->buf.
Other info: This is Kamailio 4.4.4 on x86_64. I've not had success trying
to reproduce this yet. Also worth noting that the crashes seem to be
consistently associated with processing traffic from a UA connected over
SIP/TCP; I've seen no other transport associated with this crash.
Thoughts are welcome. Thanks!
Armen