Перейти к содержимому
Калькуляторы

У кого нибудь с bird такое было?

Сегодня в список рассылки bird пришло вот такое письмо:

Цитата
Hi,
 
We are an IXP running 2x route servers with BIRD, each running separate daemons for IPv4 and IPv6.
 
We are running BIRD 2.0.8-1 on Debian 10 and have around 250 peers, ~150k routes on v4 and ~50k routes on v6.
 
Since upgrading to BIRD 2 nearly 3 years ago, it was really stable until May this year. Since then we've had 3 crashes of the daemon for v4 on one of the servers. The v6 daemon on that server has been fine, as has the second route server, running the same, with the same peers and therefore in theory, the same routes.
 
The first two of these crashes happened a week apart, after which I rebooted the VM to ensure everything was clean and it was fine for 90 days, but then did the same yesterday.
 
Our BIRD configuration is generated by IXP Manager and updated hourly.
 
We then run a "bird re-validate" cron job every hour (at twenty past the hour):
/usr/sbin/birdc -s /run/bird-ipv6.ctl reload in all > /dev/null ; /usr/sbin/birdc -s /run/bird-ipv4.ctl reload in all
 
Interestingly all 3 crashes have happened at just after twenty past the hour, i.e soon after this cron job has run.
 
It looks like the following in the logs:
 
Aug 17 17:20:01 rs1 CRON[29229]: (root) CMD (/usr/sbin/birdc -s /run/bird-ipv6.ctl reload in all > /dev/null ; /usr/sbin/birdc -s /run/bird-ipv4.ctl reload in all > /dev/null)
Aug 17 17:20:01 rs1 bird: Reloading protocol device1
Aug 17 17:20:01 rs1 bird: Reloading protocol pp_0121_asxx
..etc..
Aug 17 17:20:01 rs1 bird: Reloading protocol pp_1082_asxxxxxx
Aug 17 17:20:01 rs1 bird: Reloading protocol pb_1082_asxxxxxx
Aug 17 17:20:01 rs1 bird: Tagging invalid ROA 2001:xxxx:xxxx::/48 for ASN xxxxx
..etc..
Aug 17 17:21:17 rs1 bird: Tagging invalid ROA x.x.x.x/23 for ASN xxxx
Aug 17 17:21:19 rs1 kernel: [7811815.959943] bird[586]: segfault at f30021 ip 000055a1bf450fc3 sp 00007ffe64f3da98 error 4 in bird[55a1bf42a000+d8000]
Aug 17 17:21:19 rs1 kernel: [7811815.966760] Code: 95 78 01 00 00 5b 5d 41 5c c3 0f 1f 00 66 2e 0f 1f 84 00 00 00 00 00 48 85 ff b8 01 00 00 00 74 15 48 85 f6 0f 84 a6 00 00 00 <0f> b6 46 21 0f b6 57 21 29 d0 74 11 f3 c3 0f 1f 44 00 00 66 2e 0f
Aug 17 17:21:19 rs1 systemd[1]: bird-ipv4.service: Main process exited, code=killed, status=11/SEGV
Aug 17 17:21:19 rs1 systemd[1]: bird-ipv4.service: Failed with result 'signal'.
Aug 17 17:21:19 rs1 systemd[1]: bird-ipv4.service: Service RestartSec=100ms expired, scheduling restart.
Aug 17 17:21:19 rs1 systemd[1]: bird-ipv4.service: Scheduled restart job, restart counter is at 1.
Aug 17 17:21:19 rs1 systemd[1]: Stopped BIRD - ipv4.
Aug 17 17:21:19 rs1 systemd[1]: Starting BIRD - ipv4...
Aug 17 17:21:22 rs1 systemd[1]: Started BIRD - ipv4.
Aug 17 17:21:22 rs1 bird: Started
 
When the second crash happened, we happened to be at RIPE84 so we chatted to Maria in person. She said that it was possible to debug it, but would need a core dump.
 
After looking in to this, I did:
 
ulimit -S -c unlimited
and installed the systemd-coredump package.
 
...which was supposed to dump a core file if a process crashed. I tested this by killing a sleep command from the shell with kill -s 6 and it worked.
 
When the crash happened again yesterday, I hoped to have a core file to send, but there is no sign of it having generated one :(
 
Testing on a test server, killing sleep generates a core file, but not killing bird.
 
So two things - has anyone experienced similar crashes or have any ideas why we might be seeing this?
 
Can anyone advise how to reliably get a core dump if bird crashes?
 
Thanks!
 
Ian

Передод донного письма:
 

Цитата

Привет,

Мы являемся IXP с двумя серверами маршрутизации с BIRD, на каждом из которых работают отдельные демоны для IPv4 и IPv6. Мы запускаем BIRD 2.0.8-1 на Debian 10 и имеем около 250 пиров, ~150 тыс. маршрутов в v4 и ~50 тыс. маршрутов в v6. С момента обновления до BIRD 2 почти 3 года назад до мая этого года он работал стабильно. С тех пор у нас было 3 краха демона для v4 на одном из серверов. Демон v6 на этом сервере был в порядке, как и второй сервер маршрутов, работающий так же, с теми же узлами и, следовательно, теоретически с теми же маршрутами. Первые два из этих сбоев произошли с разницей в неделю, после чего я перезагрузил виртуальную машину, чтобы убедиться, что все чисто и все было в порядке в течение 90 дней, но вчера сделал то же самое. Наша конфигурация BIRD создается диспетчером IXP и обновляется ежечасно. Затем мы запускаем задание cron «повторная проверка птицы» каждый час (в двадцать минут первого):


/usr/sbin/birdc -s /run/bird-ipv6.ctl reload in all > /dev/null ; /usr/sbin/birdc -s /run/bird-ipv4.ctl reload in all

Интересно, что все 3 сбоя произошли сразу после двадцати часов, то есть вскоре после запуска этого задания cron. В логах выглядит так:

Aug 17 17:20:01 rs1 CRON[29229]: (root) CMD (/usr/sbin/birdc -s /run/bird-ipv6.ctl reload in all > /dev/null ; /usr/sbin/birdc -s /run/bird-ipv4.ctl reload in all > /dev/null)
Aug 17 17:20:01 rs1 bird: Reloading protocol device1
Aug 17 17:20:01 rs1 bird: Reloading protocol pp_0121_asxx
..etc..
Aug 17 17:20:01 rs1 bird: Reloading protocol pp_1082_asxxxxxx
Aug 17 17:20:01 rs1 bird: Reloading protocol pb_1082_asxxxxxx
Aug 17 17:20:01 rs1 bird: Tagging invalid ROA 2001:xxxx:xxxx::/48 for ASN xxxxx
..etc..
Aug 17 17:21:17 rs1 bird: Tagging invalid ROA x.x.x.x/23 for ASN xxxx
Aug 17 17:21:19 rs1 kernel: [7811815.959943] bird[586]: segfault at f30021 ip 000055a1bf450fc3 sp 00007ffe64f3da98 error 4 in bird[55a1bf42a000+d8000]
Aug 17 17:21:19 rs1 kernel: [7811815.966760] Code: 95 78 01 00 00 5b 5d 41 5c c3 0f 1f 00 66 2e 0f 1f 84 00 00 00 00 00 48 85 ff b8 01 00 00 00 74 15 48 85 f6 0f 84 a6 00 00 00 <0f> b6 46 21 0f b6 57 21 29 d0 74 11 f3 c3 0f 1f 44 00 00 66 2e 0f
Aug 17 17:21:19 rs1 systemd[1]: bird-ipv4.service: Main process exited, code=killed, status=11/SEGV
Aug 17 17:21:19 rs1 systemd[1]: bird-ipv4.service: Failed with result 'signal'.
Aug 17 17:21:19 rs1 systemd[1]: bird-ipv4.service: Service RestartSec=100ms expired, scheduling restart.
Aug 17 17:21:19 rs1 systemd[1]: bird-ipv4.service: Scheduled restart job, restart counter is at 1.
Aug 17 17:21:19 rs1 systemd[1]: Stopped BIRD - ipv4.
Aug 17 17:21:19 rs1 systemd[1]: Starting BIRD - ipv4...
Aug 17 17:21:22 rs1 systemd[1]: Started BIRD - ipv4.
Aug 17 17:21:22 rs1 bird: Started
 
Когда произошел второй сбой, мы оказались в RIPE84, поэтому пообщались с Марией лично. Она сказала, что его можно отладить, но потребуется дамп ядра.
 
Посмотрев на это, я сделал:
 
ulimit -S -c unlimited
и установил пакет systemd-coredump
 
... который должен был сбрасывать файл ядра в случае сбоя процесса. Я проверил это, убив команду сна из оболочки с помощью kill -s 6, и это сработало. Когда вчера снова произошел сбой, я надеялся получить файл ядра для отправки, но нет никаких признаков того, что он его сгенерировал :( Тестирование на тестовом сервере, убийство сна генерирует файл ядра, но не убийство птицы. Итак, две вещи: кто-нибудь сталкивался с подобными сбоями или есть какие-либо идеи, почему мы можем это видеть?
Кто-нибудь может подсказать, как надежно получить дамп ядра, если птица вылетает?
 
Спасибо!
Ян

 

У кого нибудь было ли с bird что нибудь подобное?

Изменено пользователем ne-vlezay80

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Проблемы у человека начались в мае. С мая случилось 3 segfault-а. Судя по всему авария как-то связана с тем, что раз в час они делают RPKI re-validate.

P.S.: Давайте прямые ссылки: https://bird.network.cz/pipermail/bird-users/2022-August/016271.html

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Соберите уже с отладочными символами да разбирайте потом стектрейсы хотя бы, этого хватает в 70% чтобы сразу найти проблему, в оставшихся приходится ручками в gdb/lldb корки колупать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 19.08.2022 в 00:29, Ivan_83 сказал:

Соберите уже

Не по адресу. На forum.nag.ru пока не отметился ни один человек с описанной проблемой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.