Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
16939 Discussions

Quartus 2024.2 GUI issues on Red Hat 9: "mprotect failed in ExecutableAllocator ..."

Ale_Cefo
Novice
884 Views

Hello,

 

After starting quartus GUI, following message appears (~20 tiimes) on the command prompt:

mprotect failed in ExecutableAllocator::makeExecutable: Permission denied

 

Sometimes GUI also crashes, e.g. :

 

Problem Details
Error:

*** Fatal Error: Segment Violation: faulting address=0x10, PC=0x14d6216ae58c : 0x14d6216ae58c: db_rdb!RDB_FOLDER_OBJECT::find_object_by_path(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<ch
Module: quartus
Stack Trace:
  Err Handler      0x31437: ERR_UNWINDER_BACKTRACE::get_stack_trace(void const**, int, int, void*) + 0xed (ccl_err)
  Err Handler      0x8f044: msg_ie_get_call_stack(void*) + 0xc4 (ccl_msg)
  Err Handler      0x9258e: MSG_INTERNAL_ERROR::report_fatal(char const*, void*, bool) + 0x40 (ccl_msg)
  Err Handler      0x121c4: err_report_fatal_exception(char const*, void*, bool) + 0x63 (ccl_err)
  Err Handler      0x21fb5: err_sigaction_handler + 0x19a (ccl_err)
  System           0x3e6f0: (c)
  Quartus         0x12758c: RDB_FOLDER_OBJECT::find_object_by_path(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) + 0xfc (db_rdb)
  Quartus         0x12762f: RDB_FOLDER_OBJECT::find_object_by_path(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) + 0x19f (db_rdb)
  Quartus          0x8ccbc: PJNQ_HIERARCHY_TREE_VIEW_RDB::get_resource_utilization_report_table_by_partition(RDB_REPORT*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) + 0x18c (prj_pjnq)
  Quartus          0x9bd59: PJNQ_HIERARCHY_TREE_VIEW_RDB::setup_hierarchy() + 0x1b9 (prj_pjnq)
  Quartus          0x9ced4: PJNQ_HIERARCHY_TREE_VIEW_RDB::on_rdb_updated() + 0x74 (prj_pjnq)
  Quartus         0x19dedf: void doActivate<false>(QObject*, int, void**) + 0x55f (Qt6Core)
  Quartus          0xbb364: PJNQ_NTFQ::ntfq_msg_rdb_updated(unsigned long, bool) + 0x34 (prj_pjnq)
  Quartus           0x628c: NTFQ_NOTIFY_TARGET::dispatch_notify_msg(NTFQ_NOTIFY_MAP const*, unsigned int, unsigned long, bool) + 0x972 (ccl_ntfq)
  Quartus           0x62c5: NTFQ_NOTIFY_TARGET::on_ntfq_notify(unsigned int, unsigned long, bool) + 0x2f (ccl_ntfq)
  Quartus           0x841f: NTFQ_NOTIFY_MGR::broadcast_notify(unsigned int, unsigned long) + 0x47 (ccl_ntfq)
  Quartus           0x86b1: ntfq_broadcast_notify(unsigned int, unsigned long) + 0x1e (ccl_ntfq)
  Quartus          0x6f7fd: FLOW_STATUS::refresh() + 0xe3 (sys_flow)
  Quartus          0x5dae5: flow_refresh_report + 0x8c (sys_flow)
  Quartus          0x4753b: TclInvokeStringCommand + 0x7b (tcl8.6)
  Quartus          0x4bb47: TclNRRunCallbacks + 0x67 (tcl8.6)
  Quartus          0x4cf29: TclEvalEx + 0x599 (tcl8.6)
  Quartus          0x4d646: Tcl_EvalEx + 0x16 (tcl8.6)
  Quartus          0x4d66d: Tcl_Eval + 0x1d (tcl8.6)
  Quartus          0x4d7fb: Tcl_GlobalEval + 0x2b (tcl8.6)
  Quartus          0x281f2: atcl_flush_queue(bool, bool) + 0x170 (ccl_atcl)
  Quartus          0xd99e7: AFCQ_APP::flush_tcl_queue() + 0x13 (gcl_afcq)
  Quartus         0x1e7c90: AFCQ_APP::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) + 0xe (gcl_afcq)
  Quartus         0x19dedf: void doActivate<false>(QObject*, int, void**) + 0x55f (Qt6Core)
  Quartus         0x1b0d4a: QTimer::timeout(QTimer::QPrivateSignal) + 0x3a (Qt6Core)
  Quartus         0x18fb75: QObject::event(QEvent*) + 0x205 (Qt6Core)
  Quartus         0x183102: QApplicationPrivate::notify_helper(QObject*, QEvent*) + 0x82 (Qt6Widgets)
  Quartus         0x18ea90: QApplication::notify(QObject*, QEvent*) + 0x2b0 (Qt6Widgets)
  Quartus         0x1404da: QCoreApplication::notifyInternal2(QObject*, QEvent*) + 0x12a (Qt6Core)
  Quartus         0x2e398e: QTimerInfoList::activateTimers() + 0x34e (Qt6Core)
  Quartus         0x2e0b98: QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 0x588 (Qt6Core)
  Quartus          0x5e31e: QXcbUnixEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 0xe (Qt6XcbQpa)
  Quartus          0x84485: qui_call_app_process_event + 0x1e (sys_qui)
  Quartus           0xf5e4: thr_qt_process_events + 0x54 (ccl_thr)
  Quartus         0x161257: flow_process_events() + 0x9 (da_flng)
  Quartus         0x1662e5: FLNG::FLNG_LOCAL_SHELL_LAUNCHER::run_cmd(QString const&) + 0x453 (da_flng)
  Quartus         0x164e1e: FLNG::FLNG_LOCAL_SHELL_LAUNCHER::run_task(FLNG::FLNG_TASK*, bool, DA::BSC_NODE*) + 0x1ea (da_flng)
  Quartus          0x7d69a: FLNG::FLNG_TASK_MANAGER::run_task_with_qhd(FLNG::FLNG_FLOW*, FLNG::FLNG_TASK*, bool, DA::BSC_NODE*) + 0x11a (da_flng)
  Quartus          0x99ce3: FLNG::FLNG_TASK_MANAGER::run_task(FLNG::FLNG_FLOW*, FLNG::FLNG_TASK*, bool, DA::BSC_NODE*) + 0x673 (da_flng)
  Quartus          0x9ab71: FLNG::FLNG_TASK_MANAGER::worker_thread(FLNG::FLNG_FLOW*, unsigned int, bool) + 0x9c7 (da_flng)
  Quartus          0x9ea46: FLNG::FLNG_TASK_MANAGER::run_flow(FLNG::FLNG_FLOW*, QString const&, QString const&, bool, bool, bool, QString&) + 0x2120 (da_flng)
  Quartus          0x9feda: FLNG::FLNG_TASK_MANAGER::run_flow(FLNG::FLNG_OBJECT_ID const&, QString const&, QString const&, bool, bool, bool, QString&) + 0x72 (da_flng)
  Quartus          0xf177d: FLNG::FLNG_SERVICE::run_flow(FLNG::FLNG_OBJECT_ID const&, QString const&, QString const&, bool, bool, QString&) + 0x1dd (da_flng)
  Quartus          0x23456: flng_run_flow_command + 0x1b06 (da_flng_tcl)
  Quartus          0x4bb47: TclNRRunCallbacks + 0x67 (tcl8.6)
  Quartus          0x4cf29: TclEvalEx + 0x599 (tcl8.6)
  Quartus          0x4d646: Tcl_EvalEx + 0x16 (tcl8.6)
  Quartus          0x25444: atcl_tcl_eval(Tcl_Interp*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) + 0x1c1 (ccl_atcl)
  Quartus          0x2b4e0: CONWQ_TCL_MANAGER::execute_tcl_str(QString const&, CONWQ_CONSOLE_TREE_VIEW*, QString*) + 0x1ee (prj_conwq)
  Quartus          0x1cfaf: CONWQ_CONSOLE::run_tcl_command(QString const&) + 0xc9 (prj_conwq)
  Quartus          0x1dac4: CONWQ_CONSOLE::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) + 0x4c (prj_conwq)
  Quartus         0x1533d6: QMetaMethodInvoker::invokeImpl(QMetaMethod, void*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*) + 0x876 (Qt6Core)
  Quartus         0x153f13: QMetaObject::invokeMethodImpl(QObject*, char const*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*) + 0x143 (Qt6Core)
  Quartus          0x854d6: qui_eval_tcl_command(QString const&, bool, bool) + 0x10d (sys_qui)
  Quartus         0x15f095: qui_flng_run_flow(FLNG::FLNG_OBJECT_ID const&, QString const&, QString const&, bool, QList<QString> const&, QList<QString> const&) + 0x4d1 (sys_qui)
  Quartus         0x15f9bc: QUI_PROCESSING_MENU::flng_run_flow(QString const&, QString const&, QString const&, bool) + 0x9a (sys_qui)
  Quartus         0x1763c8: QUI_PROCESSING_MENU::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) + 0x1ba8 (sys_qui)
  Quartus         0x18fc57: QObject::event(QEvent*) + 0x2e7 (Qt6Core)
  Quartus         0x1e0290: QWidget::event(QEvent*) + 0x2a0 (Qt6Widgets)
  Quartus         0x371a2b: QMenu::event(QEvent*) + 0x1cb (Qt6Widgets)
  Quartus         0x183102: QApplicationPrivate::notify_helper(QObject*, QEvent*) + 0x82 (Qt6Widgets)
  Quartus         0x18ea90: QApplication::notify(QObject*, QEvent*) + 0x2b0 (Qt6Widgets)
  Quartus         0x1404da: QCoreApplication::notifyInternal2(QObject*, QEvent*) + 0x12a (Qt6Core)
  Quartus         0x1439b5: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 0x195 (Qt6Core)
  Quartus         0x2e065d: QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 0x4d (Qt6Core)
  Quartus          0x5e31e: QXcbUnixEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 0xe (Qt6XcbQpa)
  Quartus         0x14b833: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 0x193 (Qt6Core)
  Quartus         0x147e22: QCoreApplication::exec() + 0x92 (Qt6Core)
  Quartus         0x4025e4: qgq_main(int, char const**) + 0x6e (quartus)
  Quartus          0x44758: msg_main_thread(void*) + 0x10 (ccl_msg)
  Quartus          0x4521c: msg_thread_wrapper(void* (*)(void*), void*) + 0x8c (ccl_msg)
  Quartus          0x210ed: mem_thread_wrapper(void* (*)(void*), void*) + 0x9d (ccl_mem)
  Quartus           0xe2a8: err_thread_wrapper(void* (*)(void*End-trace


Executable: quartus
Comment:
None

System Information
Platform: linux64
OS name: Red Hat Enterprise Linux
OS version: 9

Quartus Prime Information
Address bits: 64
Version: 24.2.0
Build: 40
Edition: Pro Edition

 

 

Any idea how to address this issue?

 

 Regards,

Ale Cefo

Labels (1)
0 Kudos
14 Replies
Kenny_Tan
Moderator
809 Views

Hi Ale,


When you mention ~20times, you mean you close and reopen 20times?


Thanks


0 Kudos
Kenny_Tan
Moderator
807 Views

Also, did you install all device? Or just selected devices?


0 Kudos
Kenny_Tan
Moderator
790 Views

i manage to duplicate the error message that you are seeing,



But I was not able to see the internal/fatal error that you are seeing after close and open 20times.


Does the above error message hinder your project compilation?

Thanks,

Best regards,

Kenny Tan


0 Kudos
Ale_Cefo
Novice
758 Views

Hi Kenny Tan,

In you reply I could not see the error message.
It seems that you've posted an image but it's not dislplayed on this web-page.
Could you please explain?

 

In mean time, I've discovered that Quartus 24.2 Pro is supported only on RHEL9 <= 9.1, while I'm having RHEL9.4(Plow) image.

The GUI crash is most likely related to missing ncurses-compat-libs, since after providing it on LD_LIBRARY_PATH the project compilation finishes successfully.

 

mprotect failed in ExecutableAllocator::makeExecutable: Permission denied

 

The above failure is persitent.
I've tried using "
export  QV4_FORCE_INTERPRETER=0", but this only reduces the number of "mprotect failed ..." to a single message instead of 20.

Regards,

Ale Cefo

 

0 Kudos
Kenny_Tan
Moderator
712 Views

It seems that our backend system may be causing issues with viewing screenshots. In any case, I did not see the fatal error that you are experiencing.

Initially, I thought you were using version 9.0 based on the message "OS version: 9" mentioned in your fatal error. However, that does not appear to be the case.

Since you are not using our supported OS, you will need to downgrade the OS to Red Hat version 9.1 or lower. Installing on an unsupported OS can result in numerous issues, as we have not performed any validation on unsupported OS versions. Therefore, it is essential for you to choose a supported OS to avoid any potential issues in the future.


0 Kudos
Ale_Cefo
Novice
705 Views

Hi Kenny Tan,

 

Downgrading the OS to Red Hat version 9.1 or lower, would require an exception, because our images are always upgraded to latest available (security related).

 

I'd appreciate if you can prvovide some inputs related to  "mprotect failed in ExecutableAllocator::makeExecutable: Permission denied " , at least pointing out if it's related to Qt or similar packages,

otherwise we'll have to wait for 2024.x / 2025.x that can keep up with Enterprise Linux Life Cycle.

 

Regards,

Ale Cefo

0 Kudos
Kenny_Tan
Moderator
633 Views

Hi Ale,


Sorry, just want to clarify, can you provide me the exact steps you get the fatal error?


1) When you launch quartus, you get an error: mprotect failed in ExecutableAllocator::makeExecutable: Permission denied


2) Then you compile your design, you get a Fatal error?


If the error message is causing you to have a crash on Fatal error, I supposed from my side will get the similar situation as I am getting the same error in Redhat 9.1.


Beside the fatal error, any other problem that you face after getting the error above?


Thanks,

Best regards,

Kenny Tan


0 Kudos
Ale_Cefo
Novice
613 Views

Hi Kenny Tan,


Yes, correct, the steps you've described are the ones that resulted in the GUI crash.


When I launch Quartus GUI, the Quartus Window opens, however on the CLI (terminal on RHEL9.4) it shows: 
mprotect failed in ExecutableAllocator::makeExecutable: Permission denied

 

After providing ncurses-compat-libs on LD_LIBRARY_PATH the project compilation finishes successfully, thus the crash is gone, at least for this project.

 

Are you saying that message "mprotect failed in ExecutableAllocator::makeExecutable: Permission denied" also happens on RHEL9.1?

 

Thank you,

 

Ale Cefo

 

 

 

 

 

 

0 Kudos
Kenny_Tan
Moderator
544 Views

Yes, I am experiencing this issue on Red Hat 9.1, but I am unable to replicate the crash on my end.

Could you please try using a different project to see if the crash persists? If the issue continues, please let us know.

Additionally, if possible, attach any small design .qar file that you have created on your end which replicates the issue. This will assist us in debugging the problem.


0 Kudos
Kenny_Tan
Moderator
496 Views

Not sure if you have update on the question above?


0 Kudos
Ale_Cefo
Novice
480 Views

Hi,

I've tried Agilex7, Arria 10 and Stratix 10 projects in GUI mode and these finished successfully though with a workaround that uses  LD_LIBRARY_PATH  to point to ncurses-compat-libs.

 

"mprotect failed in ExecutableAllocator::makeExecutable: Permission denied" --> is perstient, any idea is this related to Qt?

 

I'm trying to get ncurses-compat-libs installed on this RHEL9 server by our Admins, but they are recluctant to do so, since ncurses-compat-libs isn't availble in default Red Hat Software Collections.

 

Is Altera going to address these issue with ncurses-compat-libs and "mprotect failed" in a future relase, do you know?

 

 

Regards,

Ale Cefo 

 

 

 

 

0 Kudos
Kenny_Tan
Moderator
404 Views

To address the crash issue, we need to replicate it first. Could you please attach any simple design that you have run on your end? From my side, I have not been able to duplicate the crash. Another possibility is that the crash may only occur on Redhat 9.4, but not on Redhat 9.1, which we do not support yet. Thank you for your understanding and cooperation.


0 Kudos
Kenny_Tan
Moderator
301 Views

Not sure if you have an update on the above? The other alternative is to wait until Quartus officially support Redhat 9.4 in the future release.


0 Kudos
Kenny_Tan
Moderator
246 Views

As we do not receive any response from you on the previous question that we have provided. Please login to ‘https://supporttickets.intel.com/s/?language=en_US’, view details of the desire request, and post a feed/response within the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. The community users will be able to help you on your follow-up questions.



0 Kudos
Reply