On Sat, 21 Dec 2024 11:15:52 +0100, Florian Obser <flor...@openbsd.org> wrote: > > On 2024-12-21 09:35 UTC, Stuart Henderson <s...@spacehopper.org> wrote: > > On 2024/12/21 09:40, Florian Obser wrote: > >> This happened on my production MXs after upgrading to -current this > >> morning, but is easily reproducible with just installing rspamd on a > >> test vm. Unfortunately the debug-rspamd package is not helping? Maybe > >> I'm just holding it wrong... I've pkg_add -r to rspamd-3.10.2 for now. > > > > Hrmm. I'm running (self built) rspamd-3.11.0-hyperscan here and that's > > working ok. > > > > The systems I can test on at the moment are frankensteined for a python > > update, I can't use the current set of snapshot packages on them. It's > > currently at 3k Ms in the tree so I need to get rid of that as soon as > > I can :) > > > >> $ doas pkg_add debug-rspamd > >> quirks-7.78 signed on 2024-12-20T20:34:07Z > >> Ambiguous: choose package for debug-rspamd > >> a 0: <None> > >> 1: debug-rspamd-3.11.0 > >> 2: debug-rspamd-3.11.0-hyperscan > >> Your choice: 1 > >> debug-rspamd-3.11.0: ok > >> $ doas cp /root/rspamd.core . > >> $ doas chown florian:florian rspamd.core > >> $ egdb /usr/local/bin/.debug/rspamd.dbg rspamd.core > > > > I've never tried it that way, don't know if that's meant to work > > or not. Normal use with debug packages is to give gdb the main binary > > and let it find the detached symbols from elf headers. > > oooh, there is magic invovled. > > > > >> Core was generated by `rspamd'. > >> Program terminated with signal SIGSEGV, Segmentation fault. > >> #0 0x00000dd48a396470 in ?? () > >> (gdb) bt > >> #0 0x00000dd48a396470 in ?? () > >> #1 0x00000dd501c9617e in ?? () > >> #2 0xabf9727ba290690b in ?? () > >> #3 0x0000000000000018 in ?? () > >> #4 0x0000729b675d82f0 in ?? () > >> #5 0x00000dd501c96f70 in ?? () > > [..] > > > > Those addresses look extremely dubious. Could you try "doas egdb > > rspamd" / "set args -u _rspamd -g _rspamd -f -d" / "run" and see > > if you get anything different please? > > > > now we are cooking.... > > Starting program: /usr/local/bin/rspamd -u _rspamd -g _rspamd -f -d > 2024-12-21 11:12:16 #49696(main) <166463>; main; main: rspamd 3.11.0 is > loading configuration, build id: release > > Program received signal SIGSEGV, Segmentation fault. > strlen () at /usr/src/lib/libc/arch/amd64/string/strlen.S:125 > 125 movq (%rax),%rdx /* get bytes to check */ > (gdb) bt > #0 strlen () at /usr/src/lib/libc/arch/amd64/string/strlen.S:125 > #1 0x0000050e176ac17e in rspamd_vprintf_common ( > func=0x50e176acf70 <rspamd_printf_append_char>, apd=0x76e440eaae40, > fmt=0x50b6147a944 "s", args=0x76e440eaaec0) > at /usr/obj/ports/rspamd-3.11.0/rspamd-3.11.0/src/libutil/printf.c:907 > #2 0x0000050e1777f4cb in rspamd_vsnprintf (buf=<optimized out>, max=8192, > fmt=0x50b6147a92b "simdutf implementation: %s", args=0x76e440eaaec0) > at /usr/obj/ports/rspamd-3.11.0/rspamd-3.11.0/src/libutil/printf.c:561 > #3 rspamd_common_logv (rspamd_log=0x50d8ec0d168, level_flags=64, > module=0x50d8ec0d008 "main", id=0x50d8ec0d018 "166463530d9b64\333", > function=0x50b6147b077 "main", > fmt=0x50b6147a92b "simdutf implementation: %s", args=0x76e440eaaec0) > at > /usr/obj/ports/rspamd-3.11.0/rspamd-3.11.0/src/libserver/logger/logger.c:457 > #4 0x0000050e17780292 in rspamd_default_logv (level_flags=48, > module=0x50e175bd77a "(NULL)", id=0x0, > function=0x101010101010101 <error: Cannot access memory at address > 0x101010101010101>, fmt=0x73 <error: Cannot access memory at address 0x73>, > args=<optimized out>) > at > /usr/obj/ports/rspamd-3.11.0/rspamd-3.11.0/src/libserver/logger/logger.c:542 > #5 rspamd_default_log_function (level_flags=48, > module=0x50e175bd77a "(NULL)", id=0x0, > function=0x101010101010101 <error: Cannot access memory at address > 0x1010101--Type <RET> for more, q to quit, c to continue without paging-- > 01010101>, fmt=0x73 <error: Cannot access memory at address 0x73>) > at > /usr/obj/ports/rspamd-3.11.0/rspamd-3.11.0/src/libserver/logger/logger.c:553 > #6 0x0000050b6148f4ec in main (argc=<optimized out>, argv=<optimized out>, > env=<optimized out>) > at /usr/obj/ports/rspamd-3.11.0/rspamd-3.11.0/src/rspamd.c:1555 > > > fmt=0x73 makes me feel all warm and fuzzy. lalalala, I don't want to > know. I'll back away slowly... >
I see that upstream had fixed some crash on FreeBSD without hyperscan: https://github.com/rspamd/rspamd/commit/ccb45df90df60fae36b9438cfb2b0088e590306b Maybe try it? -- wbr, Kirill