diff --git a/src/daemon/DaemonManager.cpp b/src/daemon/DaemonManager.cpp index 8dd31157..237ac545 100644 --- a/src/daemon/DaemonManager.cpp +++ b/src/daemon/DaemonManager.cpp @@ -117,8 +117,17 @@ bool DaemonManager::start(const QString &flags, NetworkType::Type nettype, const connect(m_daemon.get(), SIGNAL(readyReadStandardOutput()), this, SLOT(printOutput())); connect(m_daemon.get(), SIGNAL(readyReadStandardError()), this, SLOT(printError())); - // Start monerod - bool started = m_daemon->startDetached(m_monerod, arguments); +#if defined(Q_OS_MAC) && defined(__aarch64__) + // RandomX crashes with JIT enabled when started as a detached process, disable it for now + QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); + env.insert("MONERO_RANDOMX_UMASK", "8"); + m_daemon->setProcessEnvironment(env); +#endif + + m_daemon->setProgram(m_monerod); + m_daemon->setArguments(arguments); + bool started = m_daemon->startDetached(); + // add state changed listener connect(m_daemon.get(), SIGNAL(stateChanged(QProcess::ProcessState)), this, SLOT(stateChanged(QProcess::ProcessState)));