Entry tags:
dummynet и паника "bad switch -256!"
В продолжение темы.
После того, как Глеб исправил несколько проблем в ядре FreeBSD, нагруженные роутеры с mpd5/PPPoE у меня работают стабильно. Однако, где-то раз в год всё-таки на каком-нибудь из них нет-нет, да и произойдет паника и все следы ведут в dummynet. Но раньше по разным причинам не удавалось сохранить одновременно крешдамп и отладочное ядро, а сегодня-таки удалось.
По итогам предварительного разбирательства найдено подозрительное место в коде dummynet и оформлен PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=195102
Судя по коду, проблема общая и для 9.x, 10.x и CURRENT - это место практически неизменно во всех ветках. Теперь главное, чтобы PR не завис незамеченным на годы.
no subject
no subject
Я не сижу на релизах не последних в ветке. В этом нет никакого смысла. Минорные обновления FreeBSD это практически всегда хорошо и даётся без проблем.
no subject
Вот у меня pppoe/mpd5, ngcar и dummynet тоже.
Пора на десятку?
no subject
no subject
no subject
Но железо не вечно. Оно там уж прилично трудится, нужно переезжать на соседнее железо,
И вот я в раздумьях, чего брать то.
no subject
Я прям не знаю что и делать, я понимаю оно может хорошо.
Но у меня всё поперек.
У меня и привычки, и миилон скриптов всяких и пуппеты, всё лесом пошло.
no subject
[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
no subject
Для традиционной инсталляции переезд тоже может заключаться в dump/restore.
no subject
Конкретно в этом посте речь об очень редко проявляющемся баге, нужна нагрузка на dummynet порядка 400 Kpps, 1200+ юзеров и то очень редко вылазит, еле поймал.
no subject
(Anonymous) 2014-11-18 06:41 am (UTC)(link)Использую 8-STABLE - работает отлично. В этом году пытался перейти на 9/10 - при небольшой нагрузке система паниковала стабильно раз в неделю-две.
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
9.3 или чего там?
no subject
no subject
no subject
Для дебага лучше всего почитать главу Kernel Debug в Developers Handbook (раньше эта глава была в основном Handbook, зачем убрали в девелоперский, непонятно). Первым делом нужно собрать отладочное ядро (kernel.debug) плюс добавить в его конфиг INVARIANTS/WITNESS/DIAGNOSTICS (для начала можно только INVARIANTS) с тем, чтобы вместо тупого зависания спровоцировать раннюю панику и получить крешдамп, с которым дальше по Handbook поступать.
Из-за высокой вероятности и даже желаемости паники тестовое ядро желательно загружать через nextboot (однократная загрузка тестового ядра), чтобы не получить циклический ребут из-за паники при старте.
no subject
no subject
no subject