UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 61044

2014.2 Vivado IP Flows - Abnormal program termination (EXCEPTION_ACCESS_VIOLATION) when closing project

Description

When I close my project straight after generating targets for an IP core (Including the OOC output), Vivado crashes with the message below:
 
Windows OS

INFO: [Common 17-206] Exiting Vivado at Sun Jun 01 22:07:17 2014...
[Sun Jun 01 22:07:21 2014] myip_0_synth_1 finished
wait_on_run: Time (s): cpu = 00:00:00 ; elapsed = 00:02:28 . Memory (MB): peak = 220.637 ; gain = 4.227
# close_project
Abnormal program termination (EXCEPTION_ACCESS_VIOLATION)
Please check 'm:/test/hs_err_pid12516.log' for details

 
Linux OS

#
# An unexpected error has occurred (11)
#
Stack:
/lib64/libc.so.6() [0x3163832920]
/proj/xbuilds/2014.2_0602_1/installs/lin64/Vivado/2014.2/lib/lnx64.o/librdi_coregen.so(__gnu_cxx::__normal_iterator<HACGIPInst**, std::vector<HACGIPInst*, std::allocator<HACGIPInst*> > > std::__find<__gnu_cxx::__normal_iterator<HACGIPInst**, std::vector<HACGIPInst*, std::allocator<HACGIPInst*> > >, HACGIPInst*>(__gnu_cxx::__normal_iterator<HACGIPInst**, std::vector<HACGIPInst*, std::allocator<HACGIPInst*> > >, __gnu_cxx::__normal_iterator<HACGIPInst**, std::vector<HACGIPInst*, std::allocator<HACGIPInst*> > >, HACGIPInst* const&, std::random_access_iterator_tag)+0x20) [0x2b0af50dece0]
/eda/Vivado/2014.2/lib/lnx64.o/librdi_coregen.so(HACGIPInst::removeChildIP(HACGIPInst*)+0x38) [0x2b0af50ce968]
/eda/Vivado/2014.2/lib/lnx64.o/librdi_coregen.so(HACGIPInst::~HACGIPInst()+0xab) [0x2b0af50cfa5b]
/eda/Vivado/2014.2/lib/lnx64.o/librdi_coregen.so(HACGIPInst::~HACGIPInst()+0x9) [0x2b0af50cfb59]
/eda/Vivado/2014.2/lib/lnx64.o/librdi_coregen.so(HACGIPMgr::resetIP()+0x2f) [0x2b0af50e40df]
/eda/Vivado/2014.2/lib/lnx64.o/librdi_coregen.so(HACGIPMgr::unregisterIPMgr(HADAFileMgr const*)+0x26) [0x2b0af50e41e6]
/eda/Vivado/2014.2/lib/lnx64.o/librdi_coregen.so(HACGIPMgr::~HACGIPMgr()+0x3c) [0x2b0af50efc3c]
/eda/Vivado/2014.2/lib/lnx64.o/librdi_coregen.so(HACGIPMgr::~HACGIPMgr()+0x9) [0x2b0af50efe89]
/eda/Vivado/2014.2/lib/lnx64.o/librdi_project.so(HAPRProject::~HAPRProject()+0x287) [0x2b0aff131b97]
/eda/Vivado/2014.2/lib/lnx64.o/librdi_project.so(HAPRProject::~HAPRProject()+0x9) [0x2b0aff131fe9]
/eda/Vivado/2014.2/lib/lnx64.o/librdi_project.so(HAPRMgr::closeProject(HAPRProject*, bool, HDGUIStatus&)+0x236)

 

Solution

This issue has been seen intermittently (depending on directory structure) with designs which:

a) contain a user packaged IP of projects which contain static IP cores (i.e. a sub-core) or

b) contain an IP core for one of the following IP:

  • aurora_8b10b_v10_2
  • aurora_64b66b_v9_2
  • cpri_v8_2/component.xml
  • gig_ethernet_pcs_pma_v14_2
  • jesd204_v5_2
  • pcie3_7x_v3_0
  • pcie3_ultrascale_v3_0
  • pcie_7x_v3_0
  • quadsgmii_v3_2
  • rxaui_v4_2
  • ten_gig_eth_pcs_pma_v4_1
  • xaui_v12_1


This problem exists when the order of destruction of hierarchical IP is such that the parent IP is deleted before the child IP.

An un-ordered container is being used during destruction, leading to seemingly sporadic reproducibility. 

In reality, a hash of the absolute path of the xci files is used, determining the order. 

When the computed path causes the "wrong" parent child relationship, we see the crash.

 
See (Xilinx Answer 61041) for a patch that will fix this issue in Vivado 2014.2.

This issue is fixed in Vivado 2014.3 and the patch will no longer be required.

Linked Answer Records

Master Answer Records

Associated Answer Records

AR# 61044
Date Created 06/06/2014
Last Updated 06/19/2014
Status Active
Type Known Issues
Tools
  • Vivado Design Suite - 2014.2