Forum Discussion

AlexOrange's avatar
AlexOrange
Icon for New Contributor rankNew Contributor
4 years ago

Using Quartus 17.0.2 EDA Netlist Writer crashing

Quartus is crashing. I don't even know where to start. Let me know what more I need to post to help diagnose this.

Problem Details
Error:
Internal Error: Sub-system: WSC, File: /quartus/neto/wsc/wsc_hierarchy_info.cpp, Line: 3257
obuf_atom_info != NULL
Stack Trace:
    0x87201: WSC_HIERARCHY_INFO::connect_ports_to_iterms() + 0x349 (neto_wsc)
    0x877c6: WSC_HIERARCHY_INFO::create_hierarchy_ports() + 0x3a (neto_wsc)
    0x8ffaf: WSC_HIERARCHY_BUILDER::build_hierarchy_wires_and_ports() + 0x1b5 (neto_wsc)
    0x98f7a: WSC_HIERARCHY_BUILDER::build_hierarchy_from_partitions() + 0x56 (neto_wsc)
    0x9c503: WSC_HIERARCHY_BUILDER::build() + 0x223 (neto_wsc)
    0x283ad: QNETO_START::build_hierarchy_netlist(std::string const&, WSC_NETLIST_TYPE, bool, bool, bool, bool, bool, bool, bool) + 0x235 (quartus_eda)
    0x32064: QNETO_START::generate_simulation_files(QEDA_CALL_TYPE, QEDAU_UTIL const&) + 0x4dc (quartus_eda)
    0x38889: QNETO_START::generate_eda_files(QEDA_CALL_TYPE, QEDAU_UTIL const&) + 0x39 (quartus_eda)
    0x3e9dd: generate_all_eda_files(CMP_FACADE*, QEDAU_UTIL const&) + 0x45 (quartus_eda)
    0x4080e: qneto_execute(CMP_FACADE*, char const*, bool, bool, std::string, std::string, std::string, bool, QEDAU_UTIL const&) + 0x1c82 (quartus_eda)
    0x12a50: QNETO_FRAMEWORK::execute() + 0x52a (quartus_eda)
    0x1c75b: qexe_standard_main(QEXE_FRAMEWORK*, QEXE_OPTION_DEFINITION const**, int, char const**) + 0x888 (comp_qexe)
    0x12e01: qneto_main(int, char const**) + 0x9b (quartus_eda)
    0x40720: msg_main_thread(void*) + 0x10 (ccl_msg)
     0x602c: thr_final_wrapper + 0xc (ccl_thr)
    0x407df: msg_thread_wrapper(void* (*)(void*), void*) + 0x62 (ccl_msg)
     0xa559: mem_thread_wrapper(void* (*)(void*), void*) + 0x99 (ccl_mem)
     0x8f92: err_thread_wrapper(void* (*)(void*), void*) + 0x27 (ccl_err)
     0x63f2: thr_thread_wrapper + 0x15 (ccl_thr)
    0x427e2: msg_exe_main(int, char const**, int (*)(int, char const**)) + 0xa3 (ccl_msg)
    0x1aa18: main + 0x26 (quartus_eda)
    0x202e1: __libc_start_main + 0xf1 (c.so.6)
 
 
End-trace


Executable: quartus
Comment:
None

System Information
Platform: linux64
OS name: Debian GNU/Linux
OS version: 9

Quartus Prime Information
Address bits: 64
Version: 17.0.2
Build: 602
Edition: Lite Edition

12 Replies

  • Nurina's avatar
    Nurina
    Icon for Regular Contributor rankRegular Contributor

    Hi,


    Can you provide your qar file so I can reproduce your error? To do this, go to Project->Archive Project...


    Thanks,

    Nurina


  • AlexOrange's avatar
    AlexOrange
    Icon for New Contributor rankNew Contributor

    FYI, this also applies to 20.1.1. Same project, seemingly same error message. See below:

    Problem Details
    Error:
    Internal Error: Sub-system: WSC, File: /quartus/neto/wsc/wsc_hierarchy_info.cpp, Line: 3257
    obuf_atom_info != NULL
    Stack Trace:
        0x81bc7: WSC_HIERARCHY_INFO::connect_ports_to_iterms() + 0x331 (neto_wsc)
        0x82108: WSC_HIERARCHY_INFO::create_hierarchy_ports() + 0x3a (neto_wsc)
        0x89d29: WSC_HIERARCHY_BUILDER::build_hierarchy_wires_and_ports() + 0x1b5 (neto_wsc)
        0x92752: WSC_HIERARCHY_BUILDER::build_hierarchy_from_partitions() + 0x56 (neto_wsc)
        0x946a8: WSC_HIERARCHY_BUILDER::build() + 0x20a (neto_wsc)
        0x25750: QNETO_START::build_hierarchy_netlist(std::string const&, WSC_NETLIST_TYPE, bool, bool, bool, bool, bool, bool, bool) + 0x23c (quartus_eda)
        0x2f985: QNETO_START::generate_simulation_files(QEDA_CALL_TYPE, QEDAU_UTIL const&) + 0x4b3 (quartus_eda)
        0x35b51: QNETO_START::generate_eda_files(QEDA_CALL_TYPE, QEDAU_UTIL const&) + 0x39 (quartus_eda)
        0x3bb66: generate_all_eda_files(CMP_FACADE*, QEDAU_UTIL const&) + 0x5d (quartus_eda)
        0x3d980: qneto_execute(CMP_FACADE*, char const*, bool, bool, std::string, std::string, std::string, bool, QEDAU_UTIL const&) + 0x1c65 (quartus_eda)
        0x117e3: QNETO_FRAMEWORK::execute() + 0x589 (quartus_eda)
        0x1b026: qexe_standard_main(QEXE_FRAMEWORK*, QEXE_OPTION_DEFINITION const**, int, char const**) + 0x6a7 (comp_qexe)
        0x11b26: qneto_main(int, char const**) + 0xa0 (quartus_eda)
        0x3ee30: msg_main_thread(void*) + 0x10 (ccl_msg)
         0x5acc: thr_final_wrapper + 0xc (ccl_thr)
        0x3eeef: msg_thread_wrapper(void* (*)(void*), void*) + 0x62 (ccl_msg)
         0x9f9c: mem_thread_wrapper(void* (*)(void*), void*) + 0x5c (ccl_mem)
         0x8b39: err_thread_wrapper(void* (*)(void*), void*) + 0x27 (ccl_err)
         0x5b0f: thr_thread_wrapper + 0x15 (ccl_thr)
        0x40ea1: msg_exe_main(int, char const**, int (*)(int, char const**)) + 0xb2 (ccl_msg)
        0x190c8: main + 0x26 (quartus_eda)
        0x202e1: __libc_start_main + 0xf1 (c.so.6)
     
     
    End-trace


    Executable: quartus
    Comment:
    None

    System Information
    Platform: linux64
    OS name: Debian GNU/Linux
    OS version: 9

    Quartus Prime Information
    Address bits: 64
    Version: 20.1.1
    Build: 720
    Edition: Lite Edition
  • Nurina's avatar
    Nurina
    Icon for Regular Contributor rankRegular Contributor

    Hi,


    Thank you for providing your project file. I've reported this issue to engineering.


    Regards,

    Nurina


  • Nurina's avatar
    Nurina
    Icon for Regular Contributor rankRegular Contributor

    Hi,


    Engineering suggests the following workaround:

    Remove the RESERVE_PIN AS_BIDIRECTIONAL assignments from the QSF if the pin is not used by the design.

    The fitter won't create IO buffers to implement the BIDIR if they are not there.


    Let me know if this solves your problem.

    Regards,

    Nurina


  • AlexOrange's avatar
    AlexOrange
    Icon for New Contributor rankNew Contributor

    Well, that's a bit of a frustrating workaround. We really don't want to keep changing the QSF file for the board based on whether we're using a given pin at a point in time or not.

  • Nurina's avatar
    Nurina
    Icon for Regular Contributor rankRegular Contributor

    Hi,


    Unfortunately this is the only available workaround.


    With the RESERVE_PIN_AS_BIDERECTIONAL assignment, Quartus will create IO buffers and quartus_eda will try to connect the IO buffer to the pin whether or not it is used. If unused, Quartus will assert for the pin to be used and you will come across this Internal Error.


    Apologies on the inconvenience.


    Regards,

    Nurina


    • AlexOrange's avatar
      AlexOrange
      Icon for New Contributor rankNew Contributor

      Understood, how long should we expect for this bug to be fixed?

  • Nurina's avatar
    Nurina
    Icon for Regular Contributor rankRegular Contributor

    Hi,


    The bug has already been fixed for Quartus Standard version 21.1.


    Regards,

    Nurina


  • Nurina's avatar
    Nurina
    Icon for Regular Contributor rankRegular Contributor

    Can you let me know if this solves the Internal Error?


    Regards,

    Nurina


  • Nurina's avatar
    Nurina
    Icon for Regular Contributor rankRegular Contributor

    Hi,

    We did not receive any response to the previous question/reply/answer that I have provided, thus I will put this case to close pending. Please post a response in 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 with your follow-up questions.

    Regards,
    Nurina

    PS: If you find any comment from the community or Intel Support to be helpful, feel free to give Kudos.

  • AlexOrange's avatar
    AlexOrange
    Icon for New Contributor rankNew Contributor

    The Lite edition is still stuck at 20.1.1. This issue will remain open until you release 21.1 to Lite.

    Thanks,

    Alex