From 6c4a8fb81938b5067e23c819393ad272aaa01537 Mon Sep 17 00:00:00 2001 From: selsta Date: Wed, 19 Apr 2023 16:02:22 +0200 Subject: [PATCH] DaemonManager.cpp: disable JIT on macOS ARM --- src/daemon/DaemonManager.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) 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)));