В чем проблема?
fastd аварийно завершает работу с segfault, в результате чего узел теряет соединение со шлюзом.
kern.info kernel: [80946.000734] fastd[5014]: segfault at 10 ip 00007f3c229823e9 sp 00007ffd2ce68f60 error 6 in libc.so[7f3c2297f000+49000]
Какое поведение ожидается?
Версия глюона:
2020.1.2
Конфигурация сайта:
https://github.com/ff3l/site-ff3l
Пользовательские патчи:
никто
Ветка fastd-debug
https://github.com/NeoRaider/gluon теперь содержит патч, который должен исправить проблему (и добавить несколько проверок работоспособности, чтобы как можно скорее выявить проблемы).
Скорее всего, это не будет исправление, которое в конечном итоге попадет в musl восходящего потока, поскольку оно вводит ненужные барьеры памяти в пути горячего кода даже для полностью однопоточных программ, но в качестве временного исправления для обеспечения правильности этого должно быть достаточно.
Я заменил исправление на более качественное, которое не влияет на однопоточные программы.
И еще одно обновление, на этот раз с полной серией патчей, предложенных Ричем Фелкером. Пожалуйста, протестируйте!
Почти двое суток с двумя Futros с патченной прошивкой больше не было вылетов fastd.
Исправлено с помощью c3be82f6c82deb1777ad02ad2d09af5422489d37 и перенесено на v2020.1.x.