Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
Announcements
The Intel sign-in experience is changing in February to support enhanced security controls. If you sign in, click here for more information.
15806 Discussions

Quartus Prime software quit unexpectedly during Analysis & Synthesis

joseph_wu
Novice
349 Views

Hi all,

 

I tried to run analysis & synthesis on a rather large design on Quartus Prime Pro 21.2, and got a popup saying "Sorry! The Quartus Prime software quit unexpectedly."

The following is the problem report:

======================================================

Problem Details
Error:
Internal Error: Sub-system: QIS, File: /quartus/synth/qis/qis_parallel_helper.cpp, Line: 1143
FAILED in creating pipe ul_pipe_rtl_0_xXFyMb with error code 12
Stack Trace:
Quartus 0x7565f: (ccl_msg)
Quartus 0x11a4e9: SYNTH::QIS::AUTO_PARTITION_MANAGER::optimize_in_helper_proccesses(SYNTH::QIS::OPTIMIZATION_STAGE) + 0xacb (synth_qis)
Quartus 0x11c879: SYNTH::QIS::AUTO_PARTITION_MANAGER::optimize_on_same_machine(SYNTH::QIS::OPTIMIZATION_STAGE) + 0x13 (synth_qis)
Quartus 0x11c987: SYNTH::QIS::AUTO_PARTITION_MANAGER::optimize_partitions_in_parallel(SYNTH::QIS::OPTIMIZATION_STAGE, bool) + 0xd (synth_qis)
Quartus 0x1327d8: SYNTH::QIS::SYNTHESIS_FLOW::run_parallel_rtl_in_helper_processes(BASEX_ELAB_INFO_CORE*) + 0x1d0 (synth_qis)
Quartus 0x13658d: SYNTH::QIS::SYNTHESIS_FLOW::high_level_synthesis() + 0x31b (synth_qis)
Quartus 0x1368c4: SYNTH::QIS::SYNTHESIS_FLOW::run_current_phase() + 0x130 (synth_qis)
Quartus 0x136ee7: SYNTH::QIS::SYNTHESIS_FLOW::run_full_flow(std::string const&, bool) + 0x419 (synth_qis)
Quartus 0xb1463: QIS_RTL_STAGE::IMPL::synthesize(QHD_PARTITION&, bool) + 0x2c7 (synth_qis)
Quartus 0xb1645: QIS_RTL_STAGE::synthesize(QHD_PARTITION&, bool) + 0xf (synth_qis)
Quartus 0x712c6: qis_synthesize + 0x20f (synth_qis)
Quartus 0x4c942: TclNRRunCallbacks + 0x42 (tcl8.6)
Quartus 0x4de7b: TclEvalEx + 0x68b (tcl8.6)
Quartus 0xf3f0e: Tcl_FSEvalFileEx + 0x25e (tcl8.6)
Quartus 0xf3ffe: Tcl_EvalFile + 0x2e (tcl8.6)
Quartus 0x14405: qexe_evaluate_tcl_script(std::string const&) + 0x452 (comp_qexe)
Quartus 0x188f2: qexe_do_tcl(QEXE_FRAMEWORK*, std::string const&, std::string const&, std::list<std::string, std::allocator<std::string> > const&, bool, bool) + 0x3d9 (comp_qexe)
Quartus 0x198ab: qexe_run_tcl_option(QEXE_FRAMEWORK*, char const*, std::list<std::string, std::allocator<std::string> >*, bool) + 0x559 (comp_qexe)
Quartus 0x3472d: QCU::DETAIL::intialise_qhd_and_run_qexe(QCU_FRAMEWORK&, FIO_PATH const&, std::string const&, std::string const&, char const*, std::list<std::string, std::allocator<std::string> >*, bool) + 0xc5 (comp_qcu)
Quartus 0x38e04: qcu_run_tcl_option(QCU_FRAMEWORK*, char const*, std::list<std::string, std::allocator<std::string> >*, bool) + 0x225 (comp_qcu)
Quartus 0x406dad: qsyn2_tcl_process_default_flow_option(ACF_VARIABLE_TYPE_ENUM, char const*) + 0x3ce (quartus_syn)
Quartus 0x1d1ce: qexe_standard_main(QEXE_FRAMEWORK*, QEXE_OPTION_DEFINITION const**, int, char const**) + 0x61f (comp_qexe)
Quartus 0x4068c5: qsyn2_main(int, char const**) + 0x13e (quartus_syn)
Quartus 0x40136: msg_main_thread(void*) + 0x10 (ccl_msg)
Quartus 0x40d6e: msg_thread_wrapper(void* (*)(void*), void*) + 0x64 (ccl_msg)
Quartus 0x1528e: mem_thread_wrapper(void* (*)(void*), void*) + 0x5e (ccl_mem)
Quartus 0xcdc0: err_thread_wrapper(void* (*)(void*), void*) + 0x1e (ccl_err)
Quartus 0x6ba5: thr_thread_wrapper + 0x15 (ccl_thr)
Quartus 0x4186f: msg_exe_main(int, char const**, int (*)(int, char const**)) + 0x148 (ccl_msg)
Quartus 0x406e4f: main + 0x26 (quartus_syn)
System 0x1ed20: __libc_start_main + 0x100 (c)
Quartus 0x4066d9: _start + 0x29 (quartus_syn)

End-trace


Executable: quartus
Comment:
None

System Information
Platform: linux64
OS name: CentOS release
OS version: 6

Quartus Prime Information
Address bits: 64
Version: 21.2.0
Build: 72
Edition: Pro Edition

======================================================

 

Any advice or possible solution to this issue would be a huge help.

Thanks in advance.

 

Joseph 

0 Kudos
10 Replies
RichardTanSY_Intel
328 Views

Hi,


I do not find this internal error in our database.


Could you help to share your design .qar file that could duplicate this error? 

As without duplication of the error from our side, it would be hard for the engineering team to debug it.


Best Regards,

Richard Tan



joseph_wu
Novice
308 Views

Hi Richard,

 

There might be a confidential issue when sharing the .qar file.

Is there any other option for us to help you get the information you need?

 

Joseph

RichardTanSY_Intel
306 Views

You can create a simplified design that could duplicate the error, which will take time.

Or you could send me the .qar through email. I will you send you a personal email and you can attach the design on top of it.

Else, there is not much we can do to resolve the internal error.


joseph_wu
Novice
300 Views

Hi Richard,

 

The email option sounds good to me.

Thank you again!

 

Joseph

RichardTanSY_Intel
265 Views

I run your design and got the below internal error.

Could you help to confirm? It is slightly different from the previous post. Line: 1143 vs 1142


Internal Error: Sub-system: QIS, File: /quartus/synth/qis/qis_parallel_helper.cpp, Line: 1142

FAILED in creating pipe ul_pipe_rtl_0_IHJikj with error code 12

Stack Trace:

 Quartus     0x161acc: SYNTH::QIS::AUTO_PARTITION_MANAGER::optimize_in_helper_proccesses(SYNTH::QIS::OPTIMIZATION_STAGE) + 0xaea (synth_qis)

 Quartus     0x163e05: SYNTH::QIS::AUTO_PARTITION_MANAGER::optimize_on_same_machine(SYNTH::QIS::OPTIMIZATION_STAGE) + 0x13 (synth_qis)

 Quartus     0x163eef: SYNTH::QIS::AUTO_PARTITION_MANAGER::optimize_partitions_in_parallel(SYNTH::QIS::OPTIMIZATION_STAGE, bool) + 0xd (synth_qis)

 Quartus     0x17d7c8: SYNTH::QIS::SYNTHESIS_FLOW::run_parallel_rtl_in_helper_processes(BASEX_ELAB_INFO_CORE*) + 0x1d0 (synth_qis)

 Quartus     0x18439f: SYNTH::QIS::SYNTHESIS_FLOW::high_level_synthesis() + 0x361 (synth_qis)

 Quartus     0x184709: SYNTH::QIS::SYNTHESIS_FLOW::run_current_phase() + 0x161 (synth_qis)

 Quartus     0x184cef: SYNTH::QIS::SYNTHESIS_FLOW::run_full_flow(std::string const&, bool) + 0x3e1 (synth_qis)

 Quartus     0xdd216: QIS_RTL_STAGE::IMPL::synthesize(QHD_PARTITION&, bool) + 0x468 (synth_qis)

 Quartus     0xdd42d: QIS_RTL_STAGE::synthesize(QHD_PARTITION&, bool) + 0xf (synth_qis)

 Quartus     0x7c071: qis_synthesize + 0x20e (synth_qis)

 Quartus     0x4c942: TclNRRunCallbacks + 0x42 (tcl8.6)

 Quartus     0x4de7b: TclEvalEx + 0x68b (tcl8.6)

 Quartus     0xf3f0e: Tcl_FSEvalFileEx + 0x25e (tcl8.6)

 Quartus     0xf3ffe: Tcl_EvalFile + 0x2e (tcl8.6)

 Quartus     0x1eb68: qexe_evaluate_tcl_script(std::string const&) + 0x39c (comp_qexe)

 Quartus     0x201fe: qexe_do_tcl(QEXE_FRAMEWORK*, std::string const&, std::string const&, std::list<std::string, std::allocator<std::string> > const&, bool, bool) + 0x3f3 (comp_qexe)

 Quartus     0x21257: qexe_run_tcl_option(QEXE_FRAMEWORK*, char const*, std::list<std::string, std::allocator<std::string> >*, bool) + 0x5ca (comp_qexe)

 Quartus     0x474d9: QCU::DETAIL::intialise_qhd_and_run_qexe(QCU_FRAMEWORK&, FIO_PATH const&, std::string const&, std::string const&, char const*, std::list<std::string, std::allocator<std::string> >*, bool) + 0x99 (comp_qcu)

 Quartus     0x4c37e: qcu_run_tcl_option(QCU_FRAMEWORK*, char const*, std::list<std::string, std::allocator<std::string> >*, bool) + 0x2a3 (comp_qcu)

 Quartus     0x4081c3: qsyn2_tcl_process_default_flow_option(ACF_VARIABLE_TYPE_ENUM, char const*) + 0x499 (quartus_syn)

 Quartus     0x2538b: qexe_standard_main(QEXE_FRAMEWORK*, QEXE_OPTION_DEFINITION const**, int, char const**) + 0x8c2 (comp_qexe)

 Quartus     0x407beb: qsyn2_main(int, char const**) + 0x139 (quartus_syn)

 Quartus     0x44d56: msg_main_thread(void*) + 0x10 (ccl_msg)

 Quartus     0x46377: msg_thread_wrapper(void* (*)(void*), void*) + 0x86 (ccl_msg)

 Quartus     0x214a8: mem_thread_wrapper(void* (*)(void*), void*) + 0x98 (ccl_mem)

 Quartus      0xcca5: err_thread_wrapper(void* (*)(void*), void*) + 0x1e (ccl_err)

 Quartus      0xad55: thr_thread_wrapper + 0x15 (ccl_thr)

 Quartus     0x46259: msg_exe_main(int, char const**, int (*)(int, char const**)) + 0x148 (ccl_msg)

 Quartus     0x407d23: main + 0x26 (quartus_syn)

 System      0x20765: __libc_start_main + 0xf5 (c)

 Quartus     0x407a09: _start + 0x29 (quartus_syn)


End-trace


RichardTanSY_Intel
264 Views

If it is below internal error:

Internal Error: Sub-system: QIS, File: /quartus/synth/qis/qis_parallel_helper.cpp, Line: 1142

 

I found that this issue has been fixed in the latest Quartus released version 22.1 and will generate a real error message now.

You may try to download the Quartus version and run the design to check if the issue fix.

 

Best Regards,
Richard Tan

p/s: If any answer from the community or Intel support are helpful, please feel free to give Kudos. 

 

RichardTanSY_Intel
261 Views

Btw, may I know how long do you run the Analysis and synthesis with your design?

For my case, it never stops running after 1 day until I force stop it and the IE pop up.


joseph_wu
Novice
257 Views

Hi Richard,

 

The error message popped up around 2 hours after Analysis & Synthesis started.

 

Also, I think I found the problem.

  • When instantiating a one-word 512-bit 2-port RAM, it takes around 13 M20K block memory instead of just one, which makes the memory usage of the device on which quartus is running increase dramatically and finally causes the error and fails the compilation.                                                                (PS: I instantiated around 400 512-bit 2-port RAM, which might take 400*13 block memory for quartus to synthesize)

 

After some architecture transformation on 2-port RAM, I was able to compile the design properly.

 

Thanks.

 

Joseph

joseph_wu
Novice
257 Views

Hi Richard,

 

The error message popped up around 2 hours after Analysis & Synthesis started.

 

Also, I think I found the problem.

  • When instantiating a one-word 512-bit 2-port RAM, it takes around 13 M20K block memory instead of just one, which makes the memory usage of the device on which Quartus is running increase dramatically and finally causes the error and fails the compilation.                                                                (PS: I instantiated around 400 512-bit 2-port RAM, which might take 400*13 block memory for Quartus to synthesize)

 

After some architecture transformation on 2-port RAM, I was able to compile the design properly.

 

Thanks.

 

Joseph

RichardTanSY_Intel
252 Views

Great to hear that you are able to find the root cause and resolve the issue! I will update this IE in our Knowledge DataBase for other users that might come across similar issue.


With that, I will now transition this thread to community support. If you have a new question, feel free to open a new thread to get the support from Intel experts. Otherwise, the community users will continue to help you on this thread. Thank you.


Best Regards,

Richard Tan

 

p/s: If any answer from the community or Intel support are helpful, please feel free to give Kudos. 


Reply