Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20688 Discussions

Quartus Prime Pro: Internal Error: Sub-system: SUTIL

Altera_Forum
Honored Contributor II
2,456 Views

Hi, 

 

Please could anyone tell me what does following error message mean? I'm using Quartus Prime Pro v17.0.2. it suddenly crashed without any meaningful message but following trace, I have run many times & changed difference syn settings, it crashed always the same place.  

it is not likely server memory or disk space issue.  

BTW, I don't have partitions in my design and quartus setting. 

 

Info: Saving pre-synthesis snapshots for 2 partition(s)  

Info: Synthesizing partition "root_partition"  

Internal Error: Sub-system: SUTIL, File: /quartus/synth/sutil/sutil_partition.cpp, Line: 1173  

aux > 0  

Stack Trace:  

0x16e44b: sutil_partition_into_mffcs_new(CDB_SGATE_NETLIST*, GEN_DYN_FLAG&) + 0x11fb (synth_sutil)  

0xefc82: initialize_partitions(CDB_SGATE_NETLIST*, bool, SYNTH::SUTIL::PARTITIONING_PARAMS const&) + 0x9a (synth_sutil)  

0xeffaa: sutil_partition_on_reg_boundary(CDB_SGATE_NETLIST*, CDB_SGATE_HIERARCHY*, SYNTH::SUTIL::PARTITIONING_PARAMS const&, bool) + 0x90 (synth_sutil)  

0xce429: opt_create_partitions_for_parallel(CDB_SGATE_HIERARCHY*, CDB_SGATE_NETLIST*, SYNTH::SUTIL::PARTITIONING_PARAMS const&) + 0xe6 (synth_opt)  

0xd8c2f: SYNTH::QIS::AUTO_PARTITION_MANAGER::partition() + 0xf9 (synth_qis)  

0xeb2c8: SYNTH::QIS::SYNTHESIS_FLOW::run_parallel_rtl_in_helper_processes(BASEX_ELAB_INFO_CORE*) + 0x136 (synth_qis)  

0xef210: SYNTH::QIS::SYNTHESIS_FLOW::high_level_synthesis() + 0x2bc (synth_qis)  

0xef4fb: SYNTH::QIS::SYNTHESIS_FLOW::run_current_phase() + 0x145 (synth_qis)  

0xef7cf: SYNTH::QIS::SYNTHESIS_FLOW::run_full_flow(std::string const&, bool) + 0x237 (synth_qis)  

0x7161d: QIS_RTL_STAGE::IMPL::synthesize(QHD_PARTITION&, bool) + 0x2a7 (synth_qis)  

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

0x54ee6: qis_synthesize + 0x18f (synth_qis)  

0x51ec7: TclNRRunCallbacks + 0x47 (tcl8.6)  

0x536e7: TclEvalEx + 0x947 (tcl8.6)  

0xfb366: Tcl_FSEvalFileEx + 0x266 (tcl8.6)  

0xfb47e: Tcl_EvalFile + 0x2e (tcl8.6)  

0x11f1c: qexe_evaluate_tcl_script(std::string const&) + 0x382 (comp_qexe)  

0x18ef8: qexe_do_tcl(QEXE_FRAMEWORK*, std::string const&, std::string const&, std::list<std::string, std::allocator<std::string> > const&, bool, bool) + 0x595 (comp_qexe)  

0x19ea7: qexe_run_tcl_option(QEXE_FRAMEWORK*, char const*, std::list<std::string, std::allocator<std::string> >*, bool) + 0x581 (comp_qexe)  

0x3f6dd: qcu_run_tcl_option(QCU_FRAMEWORK*, char const*, std::list<std::string, std::allocator<std::string> >*, bool) + 0xfa8 (comp_qcu)  

0x4079f4: qsyn2_tcl_process_default_flow_option(ACF_VARIABLE_TYPE_ENUM, char const*) + 0xb4 (quartus_syn)  

0x1c651: qexe_standard_main(QEXE_FRAMEWORK*, QEXE_OPTION_DEFINITION const**, int, char const**) + 0x6b3 (comp_qexe)  

0x4064d7: qsyn2_main(int, char const**) + 0x137 (quartus_syn)  

0x408b0: msg_main_thread(void*) + 0x10 (ccl_msg)  

0x602c: thr_final_wrapper + 0xc (ccl_thr)  

0x4096f: msg_thread_wrapper(void* (*)(void*), void*) + 0x62 (ccl_msg)  

0xa599: mem_thread_wrapper(void* (*)(void*), void*) + 0x99 (ccl_mem)  

0x8fb2: err_thread_wrapper(void* (*)(void*), void*) + 0x27 (ccl_err)  

0x63f2: thr_thread_wrapper + 0x15 (ccl_thr)  

0x431d7: msg_exe_main(int, char const**, int (*)(int, char const**)) + 0xa3 (ccl_msg)  

0x40693a: main + 0x26 (quartus_syn)  

0x1ec36: __libc_start_main + 0xe6 (c)  

End-trace  

 

Thanks.
0 Kudos
11 Replies
Altera_Forum
Honored Contributor II
1,110 Views

Hi Terry, 

 

Kindly check with another machine because problem is related to temporary memory. 

Or free the temp memory area and check. 

 

Best Regards, 

Anand Raj Shankar 

(This message was posted on behalf of Intel Corporation)
0 Kudos
Altera_Forum
Honored Contributor II
1,110 Views

Hi Terry, 

 

As pointed out , this error can occur if the system runs out of Temporary disk space. I suggest you clear the /tmp drive in your Linux system and then try running the tool again. Do make sure that before you run the Quartus tools, the /tmp folder is empty and that you have cleared out all the temporary disk data, as Quartus uses this space to store the intermediate results during compilation and generation. 

 

If this doesn't resolve the issue, you could raise a support ticket with Altera and have them take a look at it.  

-Abr
0 Kudos
Altera_Forum
Honored Contributor II
1,110 Views

Hi, 

 

Thanks very much for the reply, I will try that and get back. 

 

thanks.
0 Kudos
Altera_Forum
Honored Contributor II
1,110 Views

Hi, 

 

Since the /tmp is shared by all users, is there a way to change this temp dir path in Quartus? how many GB does it require? can I find in any document? 

 

Why does Quartus use /tmp instead of running dir? 

 

thanks.
0 Kudos
Altera_Forum
Honored Contributor II
1,110 Views

Are there multiple users who use the same Linux system for their work, aka, multiple user accounts who can run the Quartus tools and other EDA tools?  

If so, you can change the temporary setting to your local home directory [/home/$USER/tmp] This way which ever tool or program you run will use the /tmp folder specified by you.  

 

** But a word of caution: Make sure your user account has ample disk space in the Linux server/system before you set this up, as this change will effect all of the software /  

programs you run from your user account. 

 

You will need to login to your Unix/Linux account and then do the following steps to change the temporary disk space folder for your user account: 

 

1. Login to your user account. 

2. Open a Linux Terminal prompt. 

3. Edit the following file using your favorite editor (Vi/gVim/emacs/etc) :  

edit /etc/profile  

OR 

gvim /etc/profile  

 

4. Add the following lines to the end of the /etc/profile file: 

if ]; then TMPDIR=/home/$USER/tmp else # You may wish to remove this line, it is there in case # a user has put a file 'tmp' in there directory or a rm -rf /home/$USER/tmp 2> /dev/null mkdir -p /home/$USER/tmp TMPDIR=$(mktemp -d /home/$USER/tmp/XXXX) fi TMP=$TMPDIR TEMP=$TMPDIR export TMPDIR TMP TEMP  

 

5. Save and close the editor.  

6. Now close this terminal and open another terminal for the new environment variables to take effect.  

 

Start Quartus tool and check if the compile goes through without any errors.  

 

There is one cavet to this though: You will need to clear this temporary folder before you logout of your session to prevent the folder being full and programs crashing.  

This way you will have modified the temporary folder to your local user home space and can delete the contents when you are done. Make sure to close all open programs before you delete the contents of the /tmp folder. 

 

Let me know if this helped! 

-Abr
0 Kudos
Altera_Forum
Honored Contributor II
1,110 Views

Hi, 

 

Thanks for your kind support. 

 

Our user home dir has very limited space, <1GB. 

 

the /tmp is 300GB, but is shared by ~50 users, it is not guaranteed disk space will be reserved for user. 

 

regarding the solution you provide, can I change it to Quartus project output_files dir instead of using /home/$user/tmp? because we are running jobs on server with large RAM and space, but /home/$user is very small. 

 

BTW, I don't have such problem with Quartus Prime Standard edition, only Pro edition has this issue.  

 

Thanks.
0 Kudos
Altera_Forum
Honored Contributor II
1,110 Views

Hi, 

 

Can you check the utilization of the /tmp folder (df -h). If the utilization says more than 70-80% Then you're running out of space.  

 

Regarding the output_dir setting, I'm not sure if that will work for the tool. Can you check if anyother software has a lock on the folders being used by Quartus? Errors can also happen if the folders and files are locked by some other process or user and are in read-only mode for you. This will prevent Quartus from getting Read/Write permissions.  

 

I have my suspicions on something else... The clue lies in that you were able to run the Standard edition without any issues and encountered this only with the Pro edition. So you have both editions installed in the same Linux machine? Did you check if the PATH variables are updated to point to the correct version of Quartus, aka, you're trying to run the Pro version, but the tool is using the Standard version libraries and files..  

 

Could you remove all the references to the Standard version and keep only that of the Pro version and then invoke the tool and try running again?
0 Kudos
Altera_Forum
Honored Contributor II
1,110 Views

 

--- Quote Start ---  

Hi, 

 

Can you check the utilization of the /tmp folder (df -h). If the utilization says more than 70-80% Then you're running out of space.  

 

Regarding the output_dir setting, I'm not sure if that will work for the tool. Can you check if anyother software has a lock on the folders being used by Quartus? Errors can also happen if the folders and files are locked by some other process or user and are in read-only mode for you. This will prevent Quartus from getting Read/Write permissions.  

 

I have my suspicions on something else... The clue lies in that you were able to run the Standard edition without any issues and encountered this only with the Pro edition. So you have both editions installed in the same Linux machine? Did you check if the PATH variables are updated to point to the correct version of Quartus, aka, you're trying to run the Pro version, but the tool is using the Standard version libraries and files..  

 

Could you remove all the references to the Standard version and keep only that of the Pro version and then invoke the tool and try running again? 

--- Quote End ---  

 

 

Hi, 

 

1) seems disk space is more than enough...... 

 

sgsxlc036> df -h /tmp 

Filesystem Size Used Avail Use% Mounted on 

/dev/sda10 777G 330M 738G 1% /tmp 

 

2) I have checked $PATH is correct, I set env variable only once when I open a new terminal and never change again. And one terminal set either Standard or Pro, not both. 

 

3) I can run a small project successfully, no error. But will get this error everytime when running my project, after the line "Info: Synthesizing partition "root_partition"", is it something to do with partition, actually i don't have any partition. 

 

4) I use Synplify_premier v2017.09 prior to Quartus for Synthesis, the Quartus takes .vqm file and memory qsys file for P&R, does quartus prime pro support vqm? 

 

Thanks.
0 Kudos
Altera_Forum
Honored Contributor II
1,110 Views

Hi Terry 

 

1.Have you successfully ran the program in past? 

2.Try with different quartus version or reinstall and check. 

 

Best Regards, 

Anand Raj Shankar 

(This message was posted on behalf of Intel Corporation)
0 Kudos
Altera_Forum
Honored Contributor II
1,110 Views

 

--- Quote Start ---  

Hi Terry 

 

1.Have you successfully ran the program in past? 

2.Try with different quartus version or reinstall and check. 

 

Best Regards, 

Anand Raj Shankar 

(This message was posted on behalf of Intel Corporation) 

--- Quote End ---  

 

 

Hi Anand, 

 

I was using Quartus II v13.1-SP1, did not see such issue. I move to Quartus Prime Pro recently for Arria 10.  

 

I can build a small project without this error, is this related to design or constraint? The Quartus does not give any useful logs.
0 Kudos
Altera_Forum
Honored Contributor II
1,110 Views

Hi Anand, 

 

there is no problem with Standard version, only Quartus Prime Pro.  

 

I'm trying to install v17.1 and see if problem is gone. 

 

Thanks.
0 Kudos
Reply