The error happens as soon as the daemon receives the first "extra" route from its peer (in the example, the 5th route while the limit is 4). Output of '-d -f' can be found at the bottom of this msg. If the number of routes received from the peer is equal to the limit, the issue is not hit.
I was able to consistently reproduce what I've mentioned above using the following config on a Docker container based on Debian 10.1 (Linux f484b919cd3a 4.19.76-linuxkit #1 SMP Tue May 26 11:42:35 UTC 2020 x86_64 GNU/Linux - Dockerfile can be found here
https://github.com/pierky/dockerfiles/blob/master/bird/2.0.7/Dockerfile).
BIRD 1.6.8 works fine.
root@f484b919cd3a:~# bird -c /etc/bird/bird.conf -d -f
bird: device1: Initializing
bird: AS1_1: Channel ipv4 connected to table master4
bird: AS1_1: Initializing
bird: device1: Starting
bird: device1: Scanning interfaces
bird: device1: State changed to up
bird: AS1_1: Starting
bird: AS1_1: State changed to start
bird: Started
bird: AS1_1: Started
bird: AS1_1: Incoming connection from 192.0.2.11 (port 49457) accepted
bird: AS1_1: BGP session established
bird: AS1_1: State changed to up
bird: AS1_1 > added [best]
1.0.1.0/24 unicast
bird: AS1_1 < rejected by protocol
1.0.1.0/24 unicast
bird: AS1_1 > added [best]
1.0.3.0/24 unicast
bird: AS1_1 < rejected by protocol
1.0.3.0/24 unicast
bird: AS1_1 > added [best]
1.0.2.0/24 unicast
bird: AS1_1 < rejected by protocol
1.0.2.0/24 unicast
bird: AS1_1 > added [best]
1.0.5.0/24 unicast
bird: AS1_1 < rejected by protocol
1.0.5.0/24 unicast
bird: Protocol AS1_1 hits route receive limit (4), action: disable
Segmentation fault