SCTP deadlock

Reynolds, Paul paul.reynolds at redcom.com
Tue May 5 11:42:54 UTC 2020


> > I have a set of programs that use sctp for communication. For now these processes are all running on the same machine. They are using SEQPACKET mode to send messages back and forth. Each process has multiple threads, but only one socket. The threads are mutex protected such that the socket cannot be accessed by more than one thread at a time. Very occasionally one of the sockets will become permanently blocked on an sctp send or receive call and I am trying to figure out why. In the cases where it has become blocked on a send call, the corresponding receive process is not blocked and can send/receive data to other destinations. These processes can run fine for months and then suddenly run into this problem. I have been able to reproduce this once or twice by subjecting the system to unrealistically high levels of traffic, but it still takes several days or more to reproduce the problem. I now have a system that is stuck in this mode and am trying to gather as much information
> >  as possible.
> > 
> > How should I go about debugging this? The output of sockstat and netstat have not been very helpful up to this point.
> Which version of FreeBSD are you using?
> 

I am using FreeBSD 11.3p8.

Thanks,
Paul



More information about the freebsd-transport mailing list