![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
В продолжение темы.
После того, как Глеб исправил несколько проблем в ядре FreeBSD, нагруженные роутеры с mpd5/PPPoE у меня работают стабильно. Однако, где-то раз в год всё-таки на каком-нибудь из них нет-нет, да и произойдет паника и все следы ведут в dummynet. Но раньше по разным причинам не удавалось сохранить одновременно крешдамп и отладочное ядро, а сегодня-таки удалось.
По итогам предварительного разбирательства найдено подозрительное место в коде dummynet и оформлен PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=195102
Судя по коду, проблема общая и для 9.x, 10.x и CURRENT - это место практически неизменно во всех ветках. Теперь главное, чтобы PR не завис незамеченным на годы.
no subject
Date: 2014-11-17 16:42 (UTC)no subject
Date: 2014-11-17 17:34 (UTC)Я не сижу на релизах не последних в ветке. В этом нет никакого смысла. Минорные обновления FreeBSD это практически всегда хорошо и даётся без проблем.
no subject
Date: 2014-11-17 17:35 (UTC)Вот у меня pppoe/mpd5, ngcar и dummynet тоже.
Пора на десятку?
no subject
Date: 2014-11-17 18:59 (UTC)no subject
Date: 2014-11-17 19:08 (UTC)Но железо не вечно. Оно там уж прилично трудится, нужно переезжать на соседнее железо,
И вот я в раздумьях, чего брать то.
no subject
Date: 2014-11-17 19:34 (UTC)Для традиционной инсталляции переезд тоже может заключаться в dump/restore.
no subject
Date: 2014-12-03 20:35 (UTC)no subject
Date: 2014-12-04 19:02 (UTC)no subject
Date: 2014-12-04 19:16 (UTC)no subject
Date: 2014-12-04 19:31 (UTC)no subject
Date: 2014-12-04 19:31 (UTC)no subject
Date: 2014-12-05 06:01 (UTC)no subject
Date: 2014-12-09 12:44 (UTC)no subject
Date: 2014-12-09 12:51 (UTC)Для дебага лучше всего почитать главу Kernel Debug в Developers Handbook (раньше эта глава была в основном Handbook, зачем убрали в девелоперский, непонятно). Первым делом нужно собрать отладочное ядро (kernel.debug) плюс добавить в его конфиг INVARIANTS/WITNESS/DIAGNOSTICS (для начала можно только INVARIANTS) с тем, чтобы вместо тупого зависания спровоцировать раннюю панику и получить крешдамп, с которым дальше по Handbook поступать.
Из-за высокой вероятности и даже желаемости паники тестовое ядро желательно загружать через nextboot (однократная загрузка тестового ядра), чтобы не получить циклический ребут из-за паники при старте.
no subject
Date: 2014-12-09 12:54 (UTC)no subject
Date: 2014-12-08 11:04 (UTC)9.3 или чего там?
no subject
Date: 2014-12-08 14:22 (UTC)no subject
Date: 2014-11-17 19:08 (UTC)Я прям не знаю что и делать, я понимаю оно может хорошо.
Но у меня всё поперек.
У меня и привычки, и миилон скриптов всяких и пуппеты, всё лесом пошло.
no subject
Date: 2014-11-17 19:35 (UTC)no subject
Date: 2014-11-18 06:41 (UTC)Использую 8-STABLE - работает отлично. В этом году пытался перейти на 9/10 - при небольшой нагрузке система паниковала стабильно раз в неделю-две.
no subject
Date: 2014-11-18 06:44 (UTC)no subject
Date: 2015-03-24 20:54 (UTC)no subject
Date: 2015-03-25 04:02 (UTC)no subject
Date: 2014-11-17 19:04 (UTC)Конкретно в этом посте речь об очень редко проявляющемся баге, нужна нагрузка на dummynet порядка 400 Kpps, 1200+ юзеров и то очень редко вылазит, еле поймал.
no subject
Date: 2014-11-17 19:09 (UTC)[root@i0 ~]# ifconfig | grep -c ng
694
[root@i0 ~]# uname -a
FreeBSD i0 9.3-RELEASE FreeBSD 9.3-RELEASE #1 r272347M: Mon Oct 6 08:53:58 MSK 2014 root@i0:/usr/obj/opt/usr/src/sys/I0 amd64
[root@i0 ~]# ipfw pipe show | wc -l
872
[root@i0 ~]# w
10:08PM up 42 days, 13:43, 1 user, load averages: 0.78, 0.90, 0.88