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# 61045

2014.2 Vivado IP Flows - Using upgrade_ip results in: boost: mutex lock failed in pthread_mutex_lock: Invalid argument

Description

I have a project originally created in Vivado 2014.1 which contains a block design (BD) created in IP Integrator (IPI).

If I open this project in Vivado 2014.2 and run an upgrade_ip command, I receive the following error.

boost: mutex lock failed in pthread_mutex_lock: Invalid argument

I have seen this error when running different variations of the upgrade_ip command
 
  • foreach ip [get_ips] {puts "$ip***"; upgrade_ip [get_ips $ip]}
  • upgrade_ip [get_ips]

Vivado only seems to issues this message and terminate the upgrade after upgrading certain IP cores.

For example:

INFO: [IP_Flow 19-3422] Upgraded system_rst_clk_wiz_1_100M_0 (Processor System Reset 5.0) from revision 4 to revision 5
INFO: [IP_Flow 19-3471] Wrote upgrade log to '/test/test.srcs/sources_1/bd/system/ip/system_rst_clk_wiz_1_100M_0/system_rst_clk_wiz_1_100M_0.upgrade_log'.
boost: mutex lock failed in pthread_mutex_lock: Invalid argument

Solution

This problem exists because the AppCore upgrade mechanism for IP cores does not do the following:

  • Properly Record AppCore upgrade results.
  • Insulate scoped pre-upgrade candidate block diagram cells from the post-upgrade IP instances, so as to avoid null pointer exceptions for deleted children when fetching upgrade results.

To work around this problem, a user can do the following:

  1. Open the block design containing this IP.
  2. Run upgrade_bd_cell on the block diagram cell in the Tcl console.
 
See (Xilinx Answer 61041) for a patch that will fix this issue.

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

 

The resolution in Vivado 2014.3 and in the 2014.2 patch is to set the Upgrade of AppCores to use a context-sensitive search of the IP Catalog.

This adds the report correctly to the IP Manager and no longer attempts to access AppCore children after they have been deleted by the upgrade.

Linked Answer Records

Master Answer Records

Associated Answer Records

Answer Number Answer Title Version Found Version Resolved
61044 2014.2 Vivado IP Flows - Abnormal program termination (EXCEPTION_ACCESS_VIOLATION) when closing project N/A N/A
AR# 61045
Date Created 06/06/2014
Last Updated 06/12/2014
Status Active
Type Known Issues
Tools
  • Vivado Design Suite - 2014.2