lynxthecat / cake-autorate

Eliminate the excess latency and jitter terrorizing your 4G, 5G, LTE, Starlink or other variable rate connection!
https://www.bufferbloat.net
GNU General Public License v2.0
263 stars 24 forks source link

[testing branch] cake-autorate sometimes doesn't restart properly #120

Closed rany2 closed 1 year ago

rany2 commented 1 year ago

It doesn't happen all the time but sometimes it just doesn't restart and gets stuck. Only solution is to pkill -9 it and remove the /var/run/cake-autorate/primary directory and then start again.

root@gw:~# ps aux|grep cake
root      3944  0.0  0.0      0     0 ?        Z    18:00   0:00 [cake-autorate.s] <defunct>
root      3946 14.6  0.0   3288  2356 ?        S    18:00   1:06 /bin/bash /root/cake-autorate/cake-autorate.sh /root/cake-autorate/cake-autorate_config.primary.sh
root      3947  0.0  0.0      0     0 ?        Z    18:00   0:00 [cake-autorate.s] <defunct>
root      4158  0.0  0.0   2152  1672 ?        S    17:00   0:00 /bin/bash /root/cake-autorate/cake-autorate_launcher.sh
root      4212 15.0  0.0   3176  2748 ?        S    17:00  10:06 /bin/bash /root/cake-autorate/cake-autorate.sh /root/cake-autorate/cake-autorate_config.primary.sh
root      4244  0.0  0.0   2744  1328 ?        S    17:00   0:00 /bin/bash /root/cake-autorate/cake-autorate.sh /root/cake-autorate/cake-autorate_config.primary.sh
root      4274  4.1  0.0   3080  2108 ?        S    17:00   2:45 /bin/bash /root/cake-autorate/cake-autorate.sh /root/cake-autorate/cake-autorate_config.primary.sh
root      6147  3.1  0.0   3112  2148 ?        S    17:00   2:05 /bin/bash /root/cake-autorate/cake-autorate.sh /root/cake-autorate/cake-autorate_config.primary.sh
root      6149  0.8  0.0   3252  2288 ?        S    17:00   0:32 /bin/bash /root/cake-autorate/cake-autorate.sh /root/cake-autorate/cake-autorate_config.primary.sh
root     11052  0.0  0.0   1144   820 pts/0    S+   18:07   0:00 grep cake
lynxthecat commented 1 year ago

Yes that's a known issue that developed very recently (see cake-autorate thread on OpenWrt forum). I've not had enough time to figure it out yet.

On Tue, 7 Feb 2023 at 16:13, rany @.***> wrote:

It doesn't happen all the time but sometimes it just doesn't restart and gets stuck. Only solution is to pkill -9 it and remove the /var/run/cake-autorate/primary directory and then start again.

@.***:~# ps aux|grep cake root 3944 0.0 0.0 0 0 ? Z 18:00 0:00 [cake-autorate.s] root 3946 14.6 0.0 3288 2356 ? S 18:00 1:06 /bin/bash /root/cake-autorate/cake-autorate.sh /root/cake-autorate/cake-autorate_config.primary.sh root 3947 0.0 0.0 0 0 ? Z 18:00 0:00 [cake-autorate.s] root 4158 0.0 0.0 2152 1672 ? S 17:00 0:00 /bin/bash /root/cake-autorate/cake-autorate_launcher.sh root 4212 15.0 0.0 3176 2748 ? S 17:00 10:06 /bin/bash /root/cake-autorate/cake-autorate.sh /root/cake-autorate/cake-autorate_config.primary.sh root 4244 0.0 0.0 2744 1328 ? S 17:00 0:00 /bin/bash /root/cake-autorate/cake-autorate.sh /root/cake-autorate/cake-autorate_config.primary.sh root 4274 4.1 0.0 3080 2108 ? S 17:00 2:45 /bin/bash /root/cake-autorate/cake-autorate.sh /root/cake-autorate/cake-autorate_config.primary.sh root 6147 3.1 0.0 3112 2148 ? S 17:00 2:05 /bin/bash /root/cake-autorate/cake-autorate.sh /root/cake-autorate/cake-autorate_config.primary.sh root 6149 0.8 0.0 3252 2288 ? S 17:00 0:32 /bin/bash /root/cake-autorate/cake-autorate.sh /root/cake-autorate/cake-autorate_config.primary.sh root 11052 0.0 0.0 1144 820 pts/0 S+ 18:07 0:00 grep cake

— Reply to this email directly, view it on GitHub https://github.com/lynxthecat/cake-autorate/issues/120, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACRZVT2HPCKP2YNIHSWSOSTWWJXTPANCNFSM6AAAAAAUUFCEBU . You are receiving this because you are subscribed to this thread.Message ID: @.***>

lynxthecat commented 1 year ago

Really appreciate your efforts here. I think the latest attempt needs some further thinking given my comments on the commits though. Namely we can't always just delete the run directory given multiple instances and we shouldn't necessarily immediate kill maintain pingers because a pid of pinger or monitor might be about to get written to. In the latter case I addressed this by setting variable and checking in while loop to ensure we cleanly exit after any rotation.

rany2 commented 1 year ago

yay!

lynxthecat commented 1 year ago

Huge congratulations on getting us this far in such a short time. Now let's see if it withstands testing from others too!