ne-vlezay80 Опубликовано 18 августа, 2022 (изменено) · Жалоба Сегодня в список рассылки 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 что нибудь подобное? Изменено 18 августа, 2022 пользователем ne-vlezay80 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Умник Опубликовано 18 августа, 2022 · Жалоба Проблемы у человека начались в мае. С мая случилось 3 segfault-а. Судя по всему авария как-то связана с тем, что раз в час они делают RPKI re-validate. P.S.: Давайте прямые ссылки: https://bird.network.cz/pipermail/bird-users/2022-August/016271.html Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 18 августа, 2022 · Жалоба Соберите уже с отладочными символами да разбирайте потом стектрейсы хотя бы, этого хватает в 70% чтобы сразу найти проблему, в оставшихся приходится ручками в gdb/lldb корки колупать. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Умник Опубликовано 19 августа, 2022 · Жалоба В 19.08.2022 в 00:29, Ivan_83 сказал: Соберите уже Не по адресу. На forum.nag.ru пока не отметился ни один человек с описанной проблемой. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...