#1142874 handle/document frr restarts on package upgrades

Package:
frr
Source:
frr
Description:
FRRouting suite of internet protocols (BGP, OSPF, IS-IS, ...)
Submitter:
John Hughes
Date:
2026-07-30 17:43:01 UTC
Severity:
normal
Tags:
#1142874#5
Date:
2026-07-27 09:39:36 UTC
From:
To:
Dear Maintainer,

    * What led up to the situation?

I ran into a problem with the fastforward version of frr that I
installed at the request of the frr maintainers.

    * What exactly did you do (or not do) that was effective (or
      ineffective)?

I tried to report a bug in the fastforward version of frr

    * What was the outcome of this action?

I got an email bounce for maintainers@lists.fastforward.deb822.org

    * What outcome did you expect instead?

A nice bug report

dpkg-query --status for fastforward packages shows:

Maintainer: Fast Forward Maintainers
<maintainers@lists.fastforward.deb822.org>
Bugs: mailto:maintainers@lists.fastforward.deb822.org

but lists.fastforward.deb822.org has no MX address:

# host -t mx lists.fastforward.deb822.org
Host lists.fastforward.deb822.org not found: 3(NXDOMAIN)
# host -t a lists.fastforward.deb822.org
Host lists.fastforward.deb822.org not found: 3(NXDOMAIN)

#1142874#10
Date:
2026-07-27 10:02:50 UTC
From:
To:
reassign 1142874 frr
severity 1142874 normal
tag 1142874 moreinfo
thanks

Hi John,

while this is not a bug in Debian (neither any issues with packages from
fastforward, nor the fact that the list isn't setup yet), in this
specific case for frr, since it's both me, you can report the issue
you're having directly against frr in debian.

This isn't yet setup just yet, yes; however, I've opted for using the
address already otherwise I would need to update each and every package
once it is setup.

What's the issue with frr you're having?

Regards,
Daniel

#1142874#23
Date:
2026-07-27 10:28:13 UTC
From:
To:
retitle 1142874 bgpgd restarts
tag 1142874 + upstream
tag 1142874 - moreinfo
thanks

I see - can you take this upstream (https://github.com/FRRouting/frr/),
I don't think there's anything we can do here on the Debian side about it.

I'll follow the issue you're creating, so I've upstream has questions
regarding the specific version/binaries, I'll reply to that.

Regards,
Daniel

#1142874#34
Date:
2026-07-27 10:18:57 UTC
From:
To:
Hi Daniel.

bgpd crashed, watchfrr restarted it; bgpd crashed again, rinse, repeat.

Journalctl shows:

Jul 25 16:32:43 ivernia watchfrr[1226]: [T58XM-TP956][EC 268435457] bgpd state -> unresponsive : no response yet to ping sent 90 seconds ago
Jul 25 16:32:43 ivernia watchfrr[1226]: [YFT0P-5Q5YX] Forked background command [pid 39662]: /usr/lib/frr/watchfrr.sh restart bgpd
Jul 25 16:33:13 ivernia watchfrr[1226]: [HD38Q-0HBRT][EC 268435457] bgpd state -> down : unexpected read error: Connection reset by peer
Jul 25 16:33:13 ivernia frrinit.sh[1249]: bgpd: showing active allocations in memory group libfrr
Jul 25 16:33:13 ivernia frrinit.sh[1249]: bgpd: memstats:  Hash                          :     20 * (variably sized)
Jul 25 16:33:13 ivernia frrinit.sh[1249]: bgpd: memstats:  Hash Index                    :     10 * (variably sized)
Jul 25 16:33:13 ivernia frrinit.sh[1249]: bgpd: memstats:  Link List                     :     14 *         40
Jul 25 16:33:13 ivernia frrinit.sh[1249]: bgpd: memstats:  Link Node                     :     16 *         24
Jul 25 16:33:13 ivernia frrinit.sh[1249]: bgpd: memstats:  Ring buffer                   :     12 * (variably sized)
Jul 25 16:33:13 ivernia frrinit.sh[1249]: bgpd: memstats:  Stream FIFO                   :     12 *         72
Jul 25 16:33:13 ivernia frrinit.sh[1249]: bgpd: memstats:  Route table                   :     66 *         56
Jul 25 16:33:13 ivernia frrinit.sh[1249]: bgpd: memstats:  Route node                    : 2008999 *        120
Jul 25 16:33:13 ivernia frrinit.sh[1249]: bgpd: memstats:  Typed-hash bucket             :      2 * (variably sized)
Jul 25 16:33:13 ivernia frrinit.sh[1249]: bgpd: memstats:  Work queue                    :      6 *        144
Jul 25 16:33:13 ivernia frrinit.sh[1249]: bgpd: memstats:  Work queue item               : 2832564 *         24
Jul 25 16:33:13 ivernia frrinit.sh[1249]: bgpd: memstats:  Work queue name string        :      6 * (variably sized)
Jul 25 16:33:13 ivernia frrinit.sh[1249]: bgpd: showing active allocations in memory group bgpd
Jul 25 16:33:13 ivernia frrinit.sh[1249]: bgpd: memstats:  BGP EVPN instance information :      1 *         64
Jul 25 16:33:13 ivernia frrinit.sh[1249]: bgpd: memstats:  BGP instance                  :      1 *      12496
Jul 25 16:33:13 ivernia frrinit.sh[1249]: bgpd: memstats:  BGP Name data                 :      7 * (variably sized)
Jul 25 16:33:13 ivernia frrinit.sh[1249]: bgpd: memstats:  BGP peer                      :      6 *      24056
Jul 25 16:33:13 ivernia frrinit.sh[1249]: bgpd: memstats:  BGP peer connection           :      6 *        360
Jul 25 16:33:13 ivernia frrinit.sh[1249]: bgpd: memstats:  BGP peer hostname             :      6 * (variably sized)
Jul 25 16:33:13 ivernia frrinit.sh[1249]: bgpd: memstats:  Peer description              :      5 * (variably sized)
Jul 25 16:33:13 ivernia frrinit.sh[1249]: bgpd: memstats:  BGP table                     :     66 *         56
Jul 25 16:33:13 ivernia frrinit.sh[1249]: bgpd: memstats:  BGP node                      : 1095682 *        128
Jul 25 16:33:13 ivernia frrinit.sh[1249]: bgpd: memstats:  BGP connected                 :      2 *          4
Jul 25 16:33:13 ivernia frrinit.sh[1249]: bgpd: memstats:  BGP node clear queue          : 2832564 *          8
Jul 25 16:33:13 ivernia frrinit.sh[1249]: bgpd: memstats:  BGP PBR Context               :      1 *         32
Jul 25 16:33:13 ivernia frrinit.sh[1249]: bgpd: memstats:  BGP MetaQ                     :      4 * (variably sized)
Jul 25 16:33:13 ivernia frrinit.sh[39663]: /etc/frr/frr.conf does not exist; skipping config apply
Jul 25 16:33:13 ivernia watchfrr[1226]: [QDG3Y-BY5TN] bgpd state -> up : connect succeeded
Jul 25 16:33:14 ivernia watchfrr[1226]: [HD38Q-0HBRT][EC 268435457] bgpd state -> down : read returned EOF
Jul 25 16:33:14 ivernia watchfrr[1226]: [QDG3Y-BY5TN] bgpd state -> up : connect succeeded
Jul 25 16:33:14 ivernia watchfrr[1226]: [HD38Q-0HBRT][EC 268435457] bgpd state -> down : unexpected read error: Connection reset by peer
Jul 25 16:34:14 ivernia watchfrr[1226]: [YFT0P-5Q5YX] Forked background command [pid 40037]: /usr/lib/frr/watchfrr.sh restart bgpd
Jul 25 16:34:14 ivernia frrinit.sh[40038]: Cannot stop bgpd: pid 39992 not running
Jul 25 16:34:14 ivernia frrinit.sh[40038]: /etc/frr/frr.conf does not exist; skipping config apply
Jul 25 16:34:14 ivernia watchfrr[1226]: [QDG3Y-BY5TN] bgpd state -> up : connect succeeded
Jul 25 16:34:14 ivernia watchfrr[1226]: [HD38Q-0HBRT][EC 268435457] bgpd state -> down : read returned EOF

And from there it just keeps crashing and restarting until I did a
systemctl restart frr:

Jul 27 09:58:34 ivernia watchfrr[1226]: [QDG3Y-BY5TN] bgpd state -> up : connect succeeded
Jul 27 09:58:34 ivernia watchfrr[1226]: [HD38Q-0HBRT][EC 268435457] bgpd state -> down : read returned EOF
Jul 27 10:08:39 ivernia watchfrr[1226]: [YFT0P-5Q5YX] Forked background command [pid 238320]: /usr/lib/frr/watchfrr.sh restart bgpd
Jul 27 10:08:39 ivernia frrinit.sh[238321]: Cannot stop bgpd: pid 236766 not running
Jul 27 10:08:39 ivernia frrinit.sh[238321]: /etc/frr/frr.conf does not exist; skipping config apply
Jul 27 10:08:39 ivernia watchfrr[1226]: [QDG3Y-BY5TN] bgpd state -> up : connect succeeded
Jul 27 10:08:39 ivernia watchfrr[1226]: [HD38Q-0HBRT][EC 268435457] bgpd state -> down : read returned EOF
Jul 27 10:08:55 ivernia systemd[1]: Stopping frr.service - FRRouting...
Jul 27 10:08:55 ivernia watchfrr[1226]: [NG1AJ-FP2TQ] Terminating on signal
Jul 27 10:08:56 ivernia frrinit.sh[238339]: Stopped watchfrr.
Jul 27 10:08:56 ivernia frrinit.sh[238368]: Cannot stop bgpd: pid 238329 not running ... failed!
Jul 27 10:08:56 ivernia frrinit.sh[238369]: Stopped zebra.
Jul 27 10:08:56 ivernia frrinit.sh[238367]: Stopped staticd.
Jul 27 10:08:56 ivernia frrinit.sh[238371]: Stopped mgmtd.
Jul 27 10:08:56 ivernia systemd[1]: frr.service: Deactivated successfully.
Jul 27 10:08:56 ivernia systemd[1]: Stopped frr.service - FRRouting.
Jul 27 10:08:56 ivernia systemd[1]: frr.service: Consumed 17h 8min 57.650s CPU time, 2.5G memory peak.
Jul 27 10:08:56 ivernia systemd[1]: Starting frr.service - FRRouting...
Jul 27 10:08:56 ivernia frrinit.sh[238383]: Starting watchfrr with command: '  /usr/lib/frr/watchfrr  -d   mgmtd zebra bgpd staticd'.
Jul 27 10:08:56 ivernia watchfrr[238393]: [T83RR-8SM5G] watchfrr 10.6.1 starting: vty@0
Jul 27 10:08:56 ivernia watchfrr[238393]: [ZCJ3S-SPH5S] mgmtd state -> down : initial connection attempt failed
Jul 27 10:08:56 ivernia watchfrr[238393]: [ZCJ3S-SPH5S] zebra state -> down : initial connection attempt failed
Jul 27 10:08:56 ivernia watchfrr[238393]: [ZCJ3S-SPH5S] bgpd state -> down : initial connection attempt failed
Jul 27 10:08:56 ivernia watchfrr[238393]: [ZCJ3S-SPH5S] staticd state -> down : initial connection attempt failed
Jul 27 10:08:56 ivernia watchfrr[238393]: [YFT0P-5Q5YX] Forked background command [pid 238394]: /usr/lib/frr/watchfrr.sh restart all
Jul 27 10:08:56 ivernia frrinit.sh[238406]: 2026/07/27 10:08:56 ZEBRA: [QBKSZ-0KHCW][EC 4043309138] Disabling MPLS support (no kernel support)
Jul 27 10:08:56 ivernia frrinit.sh[238395]: /etc/frr/frr.conf does not exist; skipping config apply
Jul 27 10:08:56 ivernia watchfrr.sh[238431]: /etc/frr/frr.conf does not exist; skipping config apply
Jul 27 10:08:56 ivernia watchfrr[238393]: [QDG3Y-BY5TN] mgmtd state -> up : connect succeeded
Jul 27 10:08:56 ivernia watchfrr[238393]: [QDG3Y-BY5TN] zebra state -> up : connect succeeded
Jul 27 10:08:56 ivernia watchfrr[238393]: [QDG3Y-BY5TN] bgpd state -> up : connect succeeded
Jul 27 10:08:56 ivernia watchfrr[238393]: [QDG3Y-BY5TN] staticd state -> up : connect succeeded
Jul 27 10:08:56 ivernia watchfrr[238393]: [KWE5Q-QNGFC] all daemons up, doing startup-complete notify
Jul 27 10:08:56 ivernia frrinit.sh[238383]: Started watchfrr.
Jul 27 10:08:56 ivernia systemd[1]: Started frr.service - FRRouting.

Now it all seems to be running ok.

At the same time I find this in the bgpd.log:

2026/07/25 16:32:58 BGP: [ZW1GY-R46JE] Terminating on signal
2026/07/25 16:32:59 BGP: [PXVXG-TFNNT] %ADJCHANGE: neighbor 10.27.255.29(bgpd) in vrf default Down Neighbor deleted
2026/07/25 16:32:59 BGP: [PXVXG-TFNNT] %ADJCHANGE: neighbor 89.202.138.113(Unknown) in vrf default Down Neighbor deleted
2026/07/25 16:33:00 BGP: [PXVXG-TFNNT] %ADJCHANGE: neighbor 192.168.130.254(bgpd) in vrf default Down Neighbor deleted
2026/07/25 16:33:01 BGP: [PXVXG-TFNNT] %ADJCHANGE: neighbor 193.188.249.254(bgpd) in vrf default Down Neighbor deleted
2026/07/25 16:33:02 BGP: [PXVXG-TFNNT] %ADJCHANGE: neighbor 217.117.144.57(Unknown) in vrf default Down Neighbor deleted
2026/07/25 16:33:13 BGP: [SHWNK-NWT5S][EC 100663304] Command returned Incomplete on config line 11: no debug bgp
2026/07/25 16:33:13 BGP: [SHWNK-NWT5S][EC 100663304] No such command on config line 60:  no synchronization
2026/07/25 16:33:13 BGP: [S48XV-GT1WC][EC 100663311] stream_get2: Attempt to get out of bounds
2026/07/25 16:33:13 BGP: [RF6RD-ZCBTC][EC 100663311] &(struct stream): 0x561da35ca660, size: 165016, getp: 81, endp: 84
2026/07/25 16:33:13 BGP: Backtrace:
2026/07/25 16:33:14 BGP: stream_get2+0x101                  7f6d88f1a2f1     7ffe517d4170 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6d88e00000)
2026/07/25 16:33:14 BGP: ?                                  7f6d88f3ca4a     7ffe517d41a0 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6d88e00000)
2026/07/25 16:33:14 BGP: ?                                  7f6d88f3cb00     7ffe517d41e0 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6d88e00000)
2026/07/25 16:33:14 BGP: ?                                  7f6d88f3da1c     7ffe517d4230 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6d88e00000)
2026/07/25 16:33:14 BGP: event_call+0xac                    7f6d88f27f1c     7ffe517d4280 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6d88e00000)
2026/07/25 16:33:14 BGP: frr_run+0xc0                       7f6d88ec6510     7ffe517d43c0 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6d88e00000)
2026/07/25 16:33:14 BGP: main+0x3d6                         561d72be1c46     7ffe517d44e0 /usr/lib/frr/bgpd (mapped at 0x561d72af3000)
2026/07/25 16:33:14 BGP: ?                                  7f6d88c21ca8     7ffe517d4570 /lib/x86_64-linux-gnu/libc.so.6 (mapped at 0x7f6d88bf8000)
2026/07/25 16:33:14 BGP: __libc_start_main+0x85             7f6d88c21d65     7ffe517d4610 /lib/x86_64-linux-gnu/libc.so.6 (mapped at 0x7f6d88bf8000)
2026/07/25 16:33:14 BGP: _start+0x21                        561d72be4db1     7ffe517d4660 /usr/lib/frr/bgpd (mapped at 0x561d72af3000)
2026/07/25 16:33:14 BGP: [ND9C6-S6XT9] Could not parse interface values; aborting
2026/07/25 16:33:14 BGP: ../lib/zclient.c:3090: zebra_interface_if_set_value(): assertion (!"Failed to parse interface values") failed
BGP: Received signal 6 at 1784989994 (si_addr 0x7200009c38, PC 0x7f6d88c8c95c); aborting...
BGP: zlog_signal+0xf7                   7f6d88ecf8c7     7ffe517d3770 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6d88e00000)
BGP: ?                                  7f6d88f14063     7ffe517d38b0 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6d88e00000)
BGP: ?                                  7f6d88c37df0     7ffe517d3a00 /lib/x86_64-linux-gnu/libc.so.6 (mapped at 0x7f6d88bf8000)
BGP:     ---- signal ----
BGP: ?                                  7f6d88c8c95c     7ffe517d3fa0 /lib/x86_64-linux-gnu/libc.so.6 (mapped at 0x7f6d88bf8000)
BGP: gsignal+0x12                       7f6d88c37cc2     7ffe517d3fe0 /lib/x86_64-linux-gnu/libc.so.6 (mapped at 0x7f6d88bf8000)
BGP: abort+0x22                         7f6d88c204ac     7ffe517d3ff0 /lib/x86_64-linux-gnu/libc.so.6 (mapped at 0x7f6d88bf8000)
BGP: _zlog_assert_failed+0xed           7f6d88f4783d     7ffe517d40b0 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6d88e00000)
BGP: ?                                  7f6d88f3ca73     7ffe517d41a0 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6d88e00000)
BGP: ?                                  7f6d88f3cb00     7ffe517d41e0 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6d88e00000)
BGP: ?                                  7f6d88f3da1c     7ffe517d4230 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6d88e00000)
BGP: event_call+0xac                    7f6d88f27f1c     7ffe517d4280 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6d88e00000)
BGP: frr_run+0xc0                       7f6d88ec6510     7ffe517d43c0 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6d88e00000)
BGP: main+0x3d6                         561d72be1c46     7ffe517d44e0 /usr/lib/frr/bgpd (mapped at 0x561d72af3000)
BGP: ?                                  7f6d88c21ca8     7ffe517d4570 /lib/x86_64-linux-gnu/libc.so.6 (mapped at 0x7f6d88bf8000)
BGP: __libc_start_main+0x85             7f6d88c21d65     7ffe517d4610 /lib/x86_64-linux-gnu/libc.so.6 (mapped at 0x7f6d88bf8000)
BGP: _start+0x21                        561d72be4db1     7ffe517d4660 /usr/lib/frr/bgpd (mapped at 0x561d72af3000)
BGP: in thread zclient_read scheduled from ../lib/zclient.c:5021 zclient_event()

The "stream_get2: Attempt to get out of bounds" crash happens every time
bgpd is restarted:

2026/07/25 16:33:13 BGP: [S48XV-GT1WC][EC 100663311] stream_get2: Attempt to get out of bounds
2026/07/25 16:34:14 BGP: [S48XV-GT1WC][EC 100663311] stream_get2: Attempt to get out of bounds
2026/07/25 16:36:19 BGP: [S48XV-GT1WC][EC 100663311] stream_get2: Attempt to get out of bounds
...
2026/07/26 23:46:15 BGP: [S48XV-GT1WC][EC 100663311] stream_get2: Attempt to get out of bounds
2026/07/26 23:56:15 BGP: [S48XV-GT1WC][EC 100663311] stream_get2: Attempt to get out of bounds
2026/07/27 00:06:16 BGP: [S48XV-GT1WC][EC 100663311] stream_get2: Attempt to get out of bounds
2026/07/27 00:16:17 BGP: [S48XV-GT1WC][EC 100663311] stream_get2: Attempt to get out of bounds
...

Until I restart frr.

#1142874#39
Date:
2026-07-27 12:00:24 UTC
From:
To:
forwarded 1142874 https://github.com/FRRouting/frr/issues/22829
thanks

great, thanks!

Regards,
Daniel

#1142874#46
Date:
2026-07-27 12:29:56 UTC
From:
To:
Aaand... the problem turns out to be operator error.

When I installed 10.6.1 I forgot to restart frr, so now frr 10.3 was
still running but 10.6.1 was installed.  When the same bgpd problem as
before showed up and bgpd crashed due to some kind of problem with one
of my peers watchfrr tried to start the 10.6.1 version of bgpd, which
can't talk to the 10.3 version of zebra, and so crashed, causing
watchfrr to restart it again, and...

Should installing a new version of frr force a restart?  Or produce a
big warning message?  Or did it produce a big warning message that I
ignored?

#1142874#51
Date:
2026-07-27 13:06:49 UTC
From:
To:
retitle 1142874 handle/document frr restarts on package upgrades
tag 1142874 - upstream
thanks

Hi,

I've added a note to the github issue about adding some changes to the
frr package in debian to account for this sort of problem.

Generally, processes should be automatically reloaded unless there's a
reason not to, which is the case with frr as this can break essential
network services of a whole infrastructure.

I'll check if there's anything that we can do gracefully here, if not
then at least I'll add some notes and some debconf prompts so users are
aware of this.

Regards,
Daniel