Sorry for the long response time. Here is the requested output:
Program received signal SIGBUS, Bus error. 0x00056fc0 in bgp_get_prefix (path_id=0, net=0xb6f0709c, c=0xb6ee9bc0) at proto/bgp/attrs.c:1710 1710 proto/bgp/attrs.c: No such file or directory. (gdb) p sizeof(struct mblock) $1 = 16 (gdb) p px $2 = (struct bgp_prefix *) 0xb6eac01c (gdb) p (uintptr_t)px % 4 $3 = 0 (gdb) p (uintptr_t)px % 8 $4 = 4
On 12/6/24 3:16 AM, Ondrej Zajicek wrote:
On Thu, Dec 05, 2024 at 11:35:13PM +0100, nick via Bird-users wrote:
Dear BIRD Community,
I am writing to report a bug observed in the BGP implementation on ARMv7 platforms, which results in a SIGBUS error due to unaligned memory access in the NEON assembler code. I debugged this issue on version 2.15.1 of BIRD.
The root cause appears to be insufficient alignment of memory allocated for structures, specifically in this line:
```c px = mb_alloc(c->pool, sizeof(struct bgp_prefix) + net->length); ``` Hello
Thanks for the report, can you get from your crash the pointer / aligment of 'px' and also get sizeof(struct mblock) in your build?