As of #11466 we no longer have any logic to prevent a user from opening a wallet twice in two instances simultaneously. Not only could this break BDB (without the -privdb=false option, which I have really no idea why we even have a tuneable option for that), but we certainly don't have logic to handle such a case gracefully. It was noted in the original PR's description, but somehow was never followed up on before merge.
{
    return (logCategories.load(std::memory_order_relaxed) & category) != 0;
}
std::string ListLogCategories();
std::vector<CLogCategoryActive> ListActiveLogCategories();
bool GetLogCategory(uint32_t *f, const std::string *str);
int LogPrintStr(const std::string &str);
template<typename... Args> std::string FormatStringFromLogArgs(const char *fmt, const Args&... args) { return fmt; }