Well, I ran into a bit of a snag, and I have exhausted all possibilities
I could come up with to debug this for now, so I am setting it aside to
those who know what they're doing, and leaving my notes.
On my machine (arm64), I could run the initial web setup wizard just
fine, and go all the way through, but attempting to launch it afterwards
(only to perform a normal startup, opening the offline database console
is fine) results in a segfault. It took me positively forever to figure
out how to force debug symbols, but once I did, even more strangely, the
entire kernel goes down if I try to compile the binary with debug
symbols enabled, I think during the final linking stage (or towards the
end in any case), due to not having enough inodes even though I have
enough disk space, so beware to those attempting to do this on a
Raspberry Pi 4B+ I guess. I'd appreciate guidance on how exactly to deal
with this kind of issue in the future, considering that I usually run
this machine headless and I had to repeatedly power it off manually and
plug it into a monitor to bring it back to a working state.
There, however, appears to be a broader issue with RocksDB and Stalwart
on *BSD, as noted in the following issues:
https://github.com/stalwartlabs/stalwart/discussions/2755
https://github.com/stalwartlabs/stalwart/issues/253

I noticed that mmap(2) mentions it sends SIGSEGV instead of SIGBUS in
some cases on some platforms, so maybe someone could also check on other
architectures if the issue is the same or not. 0.16.4 just came out, so
it would be best to test against that in any case, but considering that
it takes upwards of 7h to compile on my machine each and every time, and
there seems to be few programs in the ports tree that even use RocksDB
to take inspiration from, I have no more ideas on how to deal with this.
I'll gladly test a revised diff in any case, as it would still be great
to get this port updated. Maybe if nothing else and if it continues to
remain problematic, we can tweak the options to favour another database.

Reply via email to