Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
6.5.3, 6.6.1
-
None
-
Alma Linux 9.3
-
c4d3c0cc1 (dev), 912af1e8b (6.8)
Description
I'm a developer working on Jami. I recently tested the app on a fresh install of Alma Linux 9.3, which has SELinux enabled by default, and saw the following error appear repeatedly in the terminal (over a thousand times in less than a minute of using the app):
mprotect failed in ExecutableAllocator::makeExecutable: Permission denied
This triggers a large number of SELinux 'AVC denial' alerts:
SELinux is preventing /usr/bin/jami from execmod access on the file /memfd:JITCode:QtQml (deleted).
This problem occurs both on Qt 6.5.3 (the version we use in our current stable release) and Qt 6.6.1 (the version we are in the process of migrating to).
Backtrace:
Thread 1 "jami" hit Breakpoint 1, __GI_perror (s=0x7ffff5e986f0 "mprotect failed in ExecutableAllocator::makeExecutable") at perror.c:48 48 { (gdb) bt #0 __GI_perror (s=0x7ffff5e986f0 "mprotect failed in ExecutableAllocator::makeExecutable") at perror.c:48 #1 0x00007ffff5b02214 in JSC::Yarr::YarrGenerator(JSC::Yarr::YarrJITCompileMode)1::compile() () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6 #2 0x00007ffff5ae94d1 in JSC::Yarr::jitCompile(JSC::Yarr::YarrPattern&, JSC::Yarr::YarrCharSize, JSC::VM*, JSC::Yarr::YarrCodeBlock&, JSC::Yarr::YarrJITCompileMode) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6 #3 0x00007ffff5c3b386 in QV4::Heap::RegExp::init(QV4::ExecutionEngine*, QString const&, unsigned int) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6 #4 0x00007ffff5c3bc19 in QV4::RegExp::create(QV4::ExecutionEngine*, QString const&, unsigned int) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6 #5 0x00007ffff5bd36b1 in QV4::ExecutableCompilationUnit::linkToEngine(QV4::ExecutionEngine*) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6 #6 0x00007ffff5d756c5 in QQmlObjectCreator::init(QQmlRefPointer) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6 #7 0x00007ffff5d75c0b in QQmlObjectCreator::QQmlObjectCreator(QQmlRefPointer, QQmlRefPointerQV4::ExecutableCompilationUnit const&, QQmlObjectCreatorSharedState*, bool) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6 #8 0x00007ffff5d7d5bc in QQmlObjectCreator::createInstance(int, QObject*, bool) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6 #9 0x00007ffff5d7f419 in QQmlObjectCreator::setPropertyBinding(QQmlPropertyData const*, QV4::CompiledData::Binding const*) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6 #10 0x00007ffff5d8120e in QQmlObjectCreator::setupBindings(QFlagsQQmlObjectCreator::BindingMode) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6 #11 0x00007ffff5d7aedc in QQmlObjectCreator::populateInstance(int, QObject*, QObject*, QQmlPropertyData const*, QV4::CompiledData::Binding const*) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6 #12 0x00007ffff5d7cb68 in QQmlObjectCreator::createInstance(int, QObject*, bool) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6 #13 0x00007ffff5d7e493 in QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*, int) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6 #14 0x00007ffff5ce6d41 in QQmlComponentPrivate::beginCreate(QQmlRefPointer) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6 #15 0x00007ffff5ce7309 in QQmlComponent::beginCreate(QQmlContext*) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6 #16 0x00007ffff5ce81e9 in QQmlComponentPrivate::createWithProperties(QObject*, QMap<QString, QVariant> const&, QQmlContext*, QQmlComponentPrivate::CreateBehavior) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6 #17 0x00007ffff5ce84c9 in QQmlComponent::create(QQmlContext*) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6 #18 0x00007ffff5cc6263 in QQmlApplicationEnginePrivate::finishLoad(QQmlComponent*) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6 #19 0x00007ffff5cc67bc in QQmlApplicationEngine::load(QUrl const&) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6 #20 0x00000000004c1dea in MainApplication::initQmlLayer() () #21 0x00000000004c5e0f in MainApplication::init() () #22 0x0000000000477dca in main ()
Attachments
Issue Links
- resulted in
-
QTBUG-133965 [Reg 6.5 -> 6.8.1] com.apple.security.cs.allow-jit entitlement is no longer sufficient on Intel Macs with hardened runtime
-
- Closed
-