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.
