Hi Francis,
Thanks for you reply!
Normally, each run of bbr module will call initialization function, and release function to release the system resources.
When i use patheon to run batch experiments of a modified kernel bbr module(just add some logs), i just load the kernel module once and leave it as loaded. But each run of bbr test does not call release function immediately after the process is killed by pantheon(kill_proc_group). It will take hundreds of seconds to finally release.
If i leave those as they are, the number of sockets used accumulates, occationally the following problem occur:
Done testing bbr
Died on std::runtime_error: `/sbin/iptables -w -t nat -D POSTROUTING -j MASQUERADE -m connmark --mark 27794': process died on signal 15
getsockopt failed strangely: No child processes
Died on std::runtime_error: `/sbin/iptables -w -t nat -D PREROUTING -s 100.64.0.4 -j CONNMARK --set-mark 27794': process exited with failure status 1
kill: (27876): No such process
Testing scheme reno for experiment run 1/1...
$ /home/workspace/pantheon/src/wrappers/reno.py run_first
[tunnel server manager (tsm)] $ python /home/workspace/pantheon/src/experiments/tunnel_manager.py
getsockopt failed strangely: No child processes
Died on std::runtime_error: `/sbin/iptables -w -t nat -D POSTROUTING -j MASQUERADE -m connmark --mark 27735': process exited with failure status 1
getsockopt failed strangely: No child processes
Died on std::runtime_error: `/sbin/iptables -w -t nat -D PREROUTING -s 100.64.0.2 -j CONNMARK --set-mark 27735': process exited with failure status 1
tunnel manager is running
在 2020年4月25日星期六 UTC+8上午2:41:49,Francis Y. Yan写道: