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

13.x TRCE/Timing Analyzer - *** glibc detected *** ISE/bin/lin/unwrapped/trce: double free or corruption (!prev): 0x096462d8 ***

Description

When running TRCE to perform timing analysis on a design, TRCE may crash with the message:

*** glibc detected *** /proj/gsd/ids/13.4/ISE_DS/ISE/bin/lin/unwrapped/trce: double free or corruption (!prev): 0x096462d8 ***

Solution

Xilinx has identified a scenario where the above error can occur when TRCE attempts to write out the TWR and TWX report files. This issue occurs in a specific scenario and only under certain conditions. Please pay particular attention to the pre-requisite conditions below in order to determine if a given scenario is a good match for the issue described here.

Pre-requisite Conditions

Operating System: Red Hat Enterprise Linux 5.8

GLIBC Version: 2.5-81.el5_8.2

Architecture: 32-bit(x86) -- this includes 32-bit ISE on 64-bit Linux

Scenario Description

When running TRCE in any flow (eg, ISE, XTCLSH, or command line), TRCE may crash with a message similar to the following:


WARNING:Timing:3225 - Timing constraint COMP "mIoDmaReq<3>" OFFSET = OUT 15.46
ns AFTER COMP "MiteClk"; ignored during timing analysis
WARNING:Timing:3175 - MiteClk does not clock data to mIoDmaReq<2>
WARNING:Timing:3225 - Timing constraint COMP "mIoDmaReq<2>" OFFSET = OUT 15.46
ns AFTER COMP "MiteClk"; ignored during timing analysis
WARNING:Timing:3175 - MiteClk does not clock data to mIoDmaReq<1>
WARNING:Timing:3225 - Timing constraint COMP "mIoDmaReq<1>" OFFSET = OUT 15.46
ns AFTER COMP "MiteClk"; ignored during timing analysis
WARNING:Timing:3175 - MiteClk does not clock data to mIoDmaReq<0>
WARNING:Timing:3225 - Timing constraint COMP "mIoDmaReq<0>" OFFSET = OUT 15.46
ns AFTER COMP "MiteClk"; ignored during timing analysis
*** glibc detected *** /proj/gsd/ids/13.4/ISE_DS/ISE/bin/lin/unwrapped/trce: double free or corruption (!prev): 0x096462d8 ***
======= Backtrace: =========
/lib/libc.so.6[0x24bee5]
/lib/libc.so.6(cfree+0x59)[0x24c329]
/proj/gsd/ids/13.4/ISE_DS/ISE//lib/lin/libstlport.so.5.1(_ZdlPv+0x21)[0xf7383851]
/proj/gsd/ids/13.4/ISE_DS/ISE//lib/lin/libxalanc.so(_ZN11xalanc_1_1014XSLTEngineImpl9terminateEv+0x273)[0xf54c4e23]
/proj/gsd/ids/13.4/ISE_DS/ISE//lib/lin/libxalanc.so(_ZN11xalanc_1_108XSLTInitD1Ev+0x24)[0xf54cd924]
/proj/gsd/ids/13.4/ISE_DS/ISE//lib/lin/libxalanc.so(_ZN11xalanc_1_1016XalanTransformer9terminateEv+0x49)[0xf5567869]
/proj/gsd/ids/13.4/ISE_DS/ISE//lib/lin/libTw.so[0xf6c2b516]
/proj/gsd/ids/13.4/ISE_DS/ISE//lib/lin/libTw.so[0xf6b65640]
/proj/gsd/ids/13.4/ISE_DS/ISE//lib/lin/libTw.so[0xf6d11e4c]
/lib/ld-linux.so.2[0x1d3956]
/lib/libc.so.6(exit+0xe9)[0x20fec9]
/lib/libc.so.6(__libc_start_main+0xe4)[0x1f9ea4]
/proj/gsd/ids/13.4/ISE_DS/ISE/bin/lin/unwrapped/trce(__gxx_personality_v0+0x271)[0x8049531]
======= Memory map: ========
001c5000-001e0000 r-xp 00000000 68:02 2589472 /lib/ld-2.5.so
001e0000-001e1000 r--p 0001a000 68:02 2589472 /lib/ld-2.5.so
001e1000-001e2000 rw-p 0001b000 68:02 2589472 /lib/ld-2.5.so
001e4000-00336000 r-xp 00000000 68:02 2588687 /lib/libc-2.5.so
00336000-00337000 ---p 00152000 68:02 2588687 /lib/libc-2.5.so
00337000-00339000 r--p 00152000 68:02 2588687 /lib/libc-2.5.so
00339000-0033a000 rw-p 00154000 68:02 2588687 /lib/libc-2.5.so
0033a000-0033d000 rw-p 0033a000 00:00 0
.......................................................
f4a15000-f4a38000 r-xp 00000000 00:32 446516024 /proj/gsd/ids/13.4/IS
Analysis completed Tue Jun 12 12:54:49 2012
--------------------------------------------------------------------------------
Generating Report ...

It is important to note that in order to be a good match for this AR, the backtrace must show an interaction with the XALAN library as noted in this line:

/proj/gsd/ids/13.4/ISE_DS/ISE//lib/lin/libxalanc.so

Workarounds

In general, this issue does not occur when the TRCE tool is run in 64-bit mode. If possible, suggest working around this by running 64-bit TRCE instead of 32-bit TRCE.

In general, this issue does not occur when the .TWR and .TWX files exist on disk. If possible, ensure that a valid .TWR and .TWX file exist on disk to work around this issue.

Patch

For those scenarios that cannot utilize one of the workarounds described above, a patch has been developed. This patch is valid only for the ISE 13.4 release. This patch is valid only for the 32-bit release. This patch is valid only for Linux. For any other operating system, architecture, or release please file a new Xilinx WebCase.

http://www.xilinx.com/txpatches/pub/swhelp/ise13_updates/ar50421_trce_13.4_lin32.zip

Expected Behavior

Without applying this patch, users using 32-bit TRCE in Linux will not be able to generate a valid timing analysis report and, additionally, will not be able to complete the implementation flow.

After applying this patch, most users should be able to properly generate a timing analysis report and complete the implementation flow. It is possible that there are edge cases not covered by this Answer Record. In this case, please file a Xilinx WebCase for additional triage.

AR# 50421
Date Created 06/12/2012
Last Updated 10/11/2012
Status Active
Type General Article
Devices
  • FPGA Device Families
Tools
  • ISE Design Suite - 13.4
  • ISE Design Suite - 13.3
  • ISE Design Suite - 13.2
  • More
  • ISE Design Suite - 13.1
  • ISE Design Suite - 13
  • Less