# Transmission listen queue overflow, kern.ipc.soacceptqueue param won't help



## parcival (Jun 29, 2015)

Hi all, I get this kernel message:

```
Jun 29 10:28:30 zabbix-p01 kernel: sonewconn: pcb 0xc85f38dc: Listen queue overflow: 193 already in queue awaiting acceptance (470 occurrences)
```
I did add  kern.ipc.somaxconn=2048 and kern.ipc.soacceptqueue=2048  to /etc/sysctl.conf take a restart, but netstat(1) still shows maxqlen 128


```
[root@zabbix-p01 ~]# netstat -LaAn
Current listen queue sizes (qlen/incqlen/maxqlen)
Tcpcb  Proto Listen  Local Address
c86ef000 tcp4  0/0/10  127.0.0.1.25
c869c2f0 tcp4  0/0/128  *.22
c869c5e0 tcp6  0/0/128  *.22
c86eebc0 tcp4  0/0/128  *.199
c85f55e0 tcp4  0/0/128  *.11000
c85f5bc0 tcp4  193/0/128  *.10051
c85f6000 tcp6  0/0/128  *.10051
c85f62f0 tcp4  0/0/128  *.10050
c85f65e0 tcp6  0/0/128  *.10050
unix  0/0/4  /var/run/devd.pipe
unix  0/0/4  /var/run/devd.seqpacket.pipe
```


```
FreeBSD 10.1-RELEASE-p10
```
Any help here?


----------



## SirDice (Jun 29, 2015)

The queue length appears to be hardcoded in Transmission.


----------



## parcival (Jun 29, 2015)

SirDice said:


> The queue length appears to be hardcoded in Transmission.


Thanks for fast answer, but I have another machine with the same parameters in /etc/sysctl.conf, where maxqlen is greater than 128.

```
[root@zabbix-m01 /etc]# netstat -LaAn
Current listen queue sizes (qlen/incqlen/maxqlen)
Tcpcb  Proto Listen  Local Address
fffff8000ee0d800 tcp4  0/0/128  *.10051
fffff8033b866c00 tcp4  0/0/128  *.11000
fffff80157e15c00 tcp4  0/0/511  *.8080
fffff8016e50ec00 tcp6  0/0/511  *.8080
fffff80157e10800 tcp4  0/0/511  *.80
fffff80132f09400 tcp6  0/0/511  *.80
fffff8016e002800 tcp4  0/0/10  127.0.0.1.25
fffff801960de400 tcp4  0/0/128  *.22
fffff8016e51e400 tcp6  0/0/128  *.22
fffff8016e51f800 tcp4  0/0/128  *.199
fffff8000e9db800 tcp4  0/0/128  *.10050
fffff8000e9dbc00 tcp6  0/0/128  *.10050
fffff8000e9dc000 tcp4  0/0/308  *.5432
fffff8000e9dc400 tcp6  0/0/308  *.5432
unix  0/0/308  /tmp/.s.PGSQL.5432
unix  0/0/4  /var/run/devd.pipe
unix  0/0/4  /var/run/devd.seqpacket.pipe
```


----------



## SirDice (Jun 29, 2015)

To be honest, I'm really not sure when or where Transmission sets it. I have been looking for the same thing for quite some time but never found it. Perhaps it's determined during the build. It doesn't seem to be an issue though, I only get a couple of these warnings when Transmission starts but once it's been running for a while the messages stop.


----------



## parcival (Jun 29, 2015)

Thanks again for your help and greetings to the Netherlands.


----------



## dakta (Nov 10, 2022)

Transmission does not set a socket maxqlen. Evidence: https://github.com/transmission/tra...fd9cc3e51b843e3f4/libtransmission/net.cc#L471

This is an outstanding FreeBSD bug. In jails, the socket accept queue cannot be adjusted, because kern.ipc.soacceptqueue is not VNET-aware: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219655


----------

