rad_server_req_enter: Assertion `!req->entry.next' failed.

Bug reports
Post Reply
slima
Posts: 6
Joined: 16 Nov 2020, 11:42

rad_server_req_enter: Assertion `!req->entry.next' failed.

Post by slima »

Hi,

I'm testing 1.12.0-105-g30ad2f8 on Ubuntu 20.04 with 5.4.0-56-generic

I have a test setup:

one linux server generate 1-5k pppoe sessions
accel server make them to work

I use radius to autorisation and external script to make QoS/iptables/ipsets via ip-up/ip-down/ip-change scripts in pppd-compat

And when I have 5k pppoe sessions and do:

1) Mass user-request termination, accel crash with:

accel-pppd: /opt/accel-ppp/accel-pppd/radius/serv.c:196: rad_server_req_enter: Assertion `!req->entry.next' failed.
[1] 1876948 abort accel-pppd -c /etc/accel-ppp.conf -p /var/run/accel-ppp.pid

or

[1] 1890996 segmentation fault accel-pppd -c /etc/accel-ppp.conf -p /var/run/accel-ppp.pid

2) If I have accel-cmd run in foreground, and make ctrl+c, segmentation fault occurs as well.

3) But if I cut off network between test server generating sessions and accel-server and timeout occurs, then accel disconnect all sessions and dont crash.



There is my config

Code: Select all


[modules]
log_syslog

pppoe

auth_mschap_v2
auth_mschap_v1
auth_chap_md5
auth_pap

radius

pppd_compat

connlimit

[core]
log-error=/var/log/accel-ppp/core.log
thread-count=4

[common]
single-session=replace

[ppp]
verbose=0
min-mtu=1280
mtu=1492
mru=1492
ipv4=require
ipv6=deny
lcp-echo-interval=20
lcp-echo-timeout=120


[auth]

[pppoe]
verbose=0
ac-name=foo
called-sid=mac
ifname=pppoe%d
vlan-mon=eth1,2-4094
interface=eth1
interface=re:eth1\.


[radius]
nas-identifier=foo
nas-ip-address=ip
gw-ip-address=ip
server=radip,test1,auth-port=1812,acct-port=1813,req-limit=10,fail-timeout=0,max-fail=10,weight=1
dae-server=ip:3799,foo
verbose=1
timeout=4
max-try=3
acct-timeout=0
acct-on=1
acct-interim-interval=300

[log]
log-file=/var/log/accel-ppp/accel-ppp.log
log-emerg=/var/log/accel-ppp/emerg.log
log-fail-file=/var/log/accel-ppp/auth-fail.log
log-debug=/dev/stdout
syslog=accel-pppd,daemon
copy=1
color=1
level=5

[pppd-compat]
verbose=0
ip-up=/opt/trouter/bin/amsg
ip-down=/opt/trouter/bin/amsg
ip-change=/opt/trouter/bin/amsg
radattr-prefix=/var/run/radattr
fork-limit=0

[cli]
verbose=0
telnet=127.0.0.1:2000
tcp=127.0.0.1:2001
sessions-columns=ifname,username,ip,type,state,calling-sid,rx-bytes,tx-bytes,rx-pkts,tx-pkts,uptime

[snmp]
master=0
agent-name=accel-ppp

[connlimit]
limit=2/1min
burst=3
timeout=300
slima
Posts: 6
Joined: 16 Nov 2020, 11:42

Re: rad_server_req_enter: Assertion `!req->entry.next' failed.

Post by slima »

More info:

Problem occurs only if ip-down= script is defined.
dimka88
Posts: 866
Joined: 13 Oct 2014, 05:51
Contact:

Re: rad_server_req_enter: Assertion `!req->entry.next' failed.

Post by dimka88 »

Hello @slima, can you provide `bt full` GDB output and create a bug report in https://phabricator.accel-ppp.org/
Read more about how to build accel-ppp with DEBUG options https://accel-ppp.readthedocs.io/en/lat ... index.html
Post Reply