cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
gsmecher
Explorer
Explorer
417 Views
Registered: ‎01-21-2011

Vivado 2021.1: Segfault in libXil_lmgr11.so

Jump to solution

Hi,

With Vivado 2021.1, I have been seeing segfaults in the flexlm libraries during license checks. With a design open in Vivado, here's how I trigger a segfault:

  • Right-click on any core in "design runs" (here, it's an FFT)
  • "Regenerate output products"

This produces the following log:

*** Running vivado
with args -log xfft_pfb128.vds -m64 -product Vivado -mode batch -messageDb vivado.pb -notrace -source xfft_pfb128.tcl

****** Vivado v2021.1 (64-bit)
**** SW Build 3247384 on Thu Jun 10 19:36:07 MDT 2021
**** IP Build 3246043 on Fri Jun 11 00:30:35 MDT 2021
** Copyright 1986-2021 Xilinx, Inc. All Rights Reserved.

WARNING: [Runs 36-547] User Strategy 'Copy_of_Vivado Synthesis Defaults' from file '/home/gsmecher/.Xilinx/Vivado/strategies/Copy_of_Vivado Synthesis Defaults_2.Vivado Synthesis 2017.psg' discarded because strategy with same name already parsed from '/home/gsmecher/.Xilinx/Vivado/strategies/Copy_of_Vivado Synthesis Defaults.Vivado Synthesis 2017.psg'
source xfft_pfb128.tcl -notrace
Command: synth_design -top xfft_pfb128 -part xc7k420tffg901-2 -mode out_of_context
Starting synth_design
Attempting to get a license for feature 'Synthesis' and/or device 'xc7k420t'
Abnormal program termination (11)
Please check '/home/gsmecher/winterland/icecore-mkids/rtl/projects/dfmux_mgk7mb_fmcdaq2/dfmux_mgk7mb_fmcdaq2.runs/xfft_pfb128_synth_1/hs_err_pid14462.log' for details
segfault in /opt/xilinx/Vivado/2021.1/bin/unwrapped/lnx64.o/vivado -exec vivado -log xfft_pfb128.vds -m64 -product Vivado -mode batch -messageDb vivado.pb -notrace -source xfft_pfb128.tcl, exiting...

If I look in the noted log file, I see the following:

#
# An unexpected error has occurred (11)
#
Stack:
/lib/x86_64-linux-gnu/libc.so.6(+0x46210) [0x7f38c761b210]
/lib/x86_64-linux-gnu/libc.so.6(malloc_usable_size+0x48) [0x7f38c7674378]
/lib/x86_64-linux-gnu/libudev.so.1(+0x10319) [0x7f38704bd319]
/lib/x86_64-linux-gnu/libudev.so.1(+0x167c4) [0x7f38704c37c4]
/lib/x86_64-linux-gnu/libudev.so.1(+0x1b255) [0x7f38704c8255]
/lib/x86_64-linux-gnu/libudev.so.1(+0x1b4bb) [0x7f38704c84bb]
/lib/x86_64-linux-gnu/libudev.so.1(udev_enumerate_scan_devices+0x277) [0x7f38704cad67]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libXil_lmgr11.so(+0x128c95) [0x7f38bf180c95]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libXil_lmgr11.so(xilinxd_52bd866351b78202+0x9) [0x7f38bf181119]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libXil_lmgr11.so(+0xd5f97) [0x7f38bf12df97]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libXil_lmgr11.so(xilinxd_52bd862318b59a70+0x86) [0x7f38bf12dd56]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libXil_lmgr11.so(+0xc32cf) [0x7f38bf11b2cf]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libXil_lmgr11.so(xilinxd_52bd9e923616155c+0x50) [0x7f38bf0fd3e0]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libXil_lmgr11.so(xilinxd_52bda08d467867f9+0x257) [0x7f38bf111237]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libXil_lmgr11.so(+0xbd69b) [0x7f38bf11569b]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libXil_lmgr11.so(xilinxd_52bd940d725306a5+0x399) [0x7f38bf110319]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libXil_lmgr11.so(xilinxd_52bd6fcc5faf4a0e+0x5a) [0x7f38bf11048a]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libXil_lmgr11.so(XilFNP::XilFlex::XF_lc_checkout(lm_handle*, char*, char*, int, int, vendorcode7*, int, unsigned char*)+0x146) [0x7f38bf0c6966]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/librdi_commonxillic.so(+0x7c03c) [0x7f38c346a03c]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/librdi_commonxillic.so(+0x7cae4) [0x7f38c346aae4]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/librdi_commonxillic.so(XilReg::Utils::GetRegKey(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, int*, bool*, int*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, bool*, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, lm_handle*>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, lm_handle*> > >&)+0x94) [0x7f38c346baa4]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/librdi_commonxillic.so(XilReg::Utils::GetRegKey(lm_handle**, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int*, bool*, int*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, bool*, unsigned char*)+0x8d) [0x7f38c346bb5d]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/librdi_common.so(HLRegMgr::checkoutFeature(HLFeature*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, bool) const+0x299) [0x7f38c85f3c09]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/librdi_common.so(HLRegMgr::getFeature(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const+0x109) [0x7f38c85f5209]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/librdi_common.so(HLRegUtils::HLLRegCheckHandler::getRegKey(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x56) [0x7f38c85f5e76]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/librdi_vivadotasks.so(+0x6840c9) [0x7f3871c8e0c9]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/librdi_vivadotasks.so(+0x6919e5) [0x7f3871c9b9e5]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/librdi_common.so(+0xa66802) [0x7f38c89e4802]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libtcl8.5.so(+0x3356f) [0x7f38c2cbe56f]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libtcl8.5.so(+0x34bf8) [0x7f38c2cbfbf8]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libtcl8.5.so(Tcl_EvalEx+0x13) [0x7f38c2cc0163]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libtcl8.5.so(Tcl_FSEvalFileEx+0x1da) [0x7f38c2d24d2a]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/librdi_commontasks.so(+0x2081ed) [0x7f38bc0691ed]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/librdi_common.so(+0xa66802) [0x7f38c89e4802]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libtcl8.5.so(+0x3356f) [0x7f38c2cbe56f]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libtcl8.5.so(Tcl_EvalObjv+0x32) [0x7f38c2cbe6a2]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libtcl8.5.so(TclEvalObjEx+0x322) [0x7f38c2cc04c2]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/librdi_commontasks.so(+0x24d0a9) [0x7f38bc0ae0a9]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/librdi_commontasks.so(+0x24eaae) [0x7f38bc0afaae]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/librdi_common.so(+0xa66802) [0x7f38c89e4802]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libtcl8.5.so(+0x3356f) [0x7f38c2cbe56f]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libtcl8.5.so(Tcl_EvalObjv+0x32) [0x7f38c2cbe6a2]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libtcl8.5.so(TclEvalObjEx+0x322) [0x7f38c2cc04c2]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/librdi_commonmain.so(+0xce23) [0x7f38c7d74e23]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libtcl8.5.so(Tcl_Main+0x1d0) [0x7f38c2d2b2f0]
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/librdi_common.so(+0xaa710b) [0x7f38c8a2510b]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x9609) [0x7f38c75bb609]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x43) [0x7f38c76f7293]

The segfault pretty clearly comes from a libudev call from within the license manager code, and if I look in the Vivado 2021.1 release notes, I see the following:

  • Flexlm version upgraded to 11.17.2.0
    • Support 64-bit versions of Linux and Windows only​
    • Customer using floating license must upgrade licensing utilities to Flexlm 11.17.2.0​

This is Vivado running within an LXC container with Ubuntu 20.04 LTS as the guest OS. This is a supported OS for this release, but since it's running in a container, it's your choice whether to triage this report as an unsupported OS or not.

Thoughts?

best,
Graeme

0 Kudos
1 Solution

Accepted Solutions
gsmecher
Explorer
Explorer
268 Views
Registered: ‎01-21-2011

Hi @anatoli,

I do not see this problem when running Vivado 2021.1 inside Docker on Ubuntu 20.04, so it's something tied to this specific LXC instance (perhaps networking?). I am closing this post for now and will re-raise it if it recurs and I can send you a reproducible environment.

best,
Graeme

View solution in original post

3 Replies
anatoli
Moderator
Moderator
345 Views
Registered: ‎06-14-2010

Hello @gsmecher ,

Looks like some of the libraries perhaps missing on this Linux OS.

Please check this Answer Record that should help to find out which libraries are required to run Vivado tools in Linux:

https://www.xilinx.com/support/answers/66184.html

What results do you see in your case?

Kind Regards,
Anatoli Curran,
Xilinx Technical Support
------------------------------------------------------------------------------------------------

Don’t forget to reply, kudo, and accept as solution.

If starting with Versal, take a look at our Versal Design Process Hub and our
Versal Blogs

------------------------------------------------------------------------------------------------
0 Kudos
gsmecher
Explorer
Explorer
309 Views
Registered: ‎01-21-2011

Hi Anatoli,

This OS has worked fine with 2020.1 and 2020.2, so unless the underlying requirements have changed I do not think it's a missing library.

Here's what I get with ldd-recursive.pl:

$ . /opt/xilinx/Vivado/2021.1/settings64.sh
$ ~/Downloads/ldd-recursive.pl /opt/xilinx/Vivado/2021.1/bin/unwrapped/lnx64.o/vivado -uniq
/lib/x86_64-linux-gnu/libc.so.6
/lib/x86_64-linux-gnu/libstdc++.so.6
linux-vdso.so.1
/lib/x86_64-linux-gnu/libm.so.6
librdi_common.so => not found
libtcmalloc.so.4 => not found
/lib64/ld-linux-x86-64.so.2
librdi_commonmain.so => not found
/lib/x86_64-linux-gnu/libgcc_s.so.1

You'll note the "not found" -- it may be the settings script no longer adds all libraries to LD_LIBRARY_PATH.

If I do that myself, I get a longer set of results:

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/xilinx/Vivado/2021.1/lib/lnx64.o
$ ~/Downloads/ldd-recursive.pl /opt/xilinx/Vivado/2021.1/bin/unwrapped/lnx64.o/vivado -uniq
/lib/x86_64-linux-gnu/librt.so.1
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libprotobuf.so.18
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libisl_iostreams.so
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/librdi_commonversion.so
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libboost_iostreams.so
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libisl_iosutils.so
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libisl_sysinfo.so
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libXil_lmgr11.so
/lib/x86_64-linux-gnu/libpthread.so.0
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/librdi_commonmain.so
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libhdxml.so
/lib/x86_64-linux-gnu/libgomp.so.1
/lib/x86_64-linux-gnu/libc.so.6
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libboost_thread.so
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libboost_regex.so
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/librdiconfig.so
/lib/x86_64-linux-gnu/libm.so.6
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libhdlpsolve.so
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libboost_program_options.so
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/librdi_common.so
/lib64/ld-linux-x86-64.so.2
linux-vdso.so.1
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libboost_filesystem.so
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libboost_xilinx.so
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libgurobi90.so
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libtcmalloc.so.4
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libboost_date_time.so
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/librdizlib.so
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/liblmx6.0.so
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libCOIN-all.so
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/librdi_commonxillic.so
/lib/x86_64-linux-gnu/libdl.so.2
/lib/x86_64-linux-gnu/libgcc_s.so.1
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libxerces-c-3.1.so
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libstdc++.so.6
/opt/xilinx/Vivado/2021.1/lib/lnx64.o/libtcl8.5.so

There do not seem to be any missing libraries.

best,
Graeme

0 Kudos
gsmecher
Explorer
Explorer
269 Views
Registered: ‎01-21-2011

Hi @anatoli,

I do not see this problem when running Vivado 2021.1 inside Docker on Ubuntu 20.04, so it's something tied to this specific LXC instance (perhaps networking?). I am closing this post for now and will re-raise it if it recurs and I can send you a reproducible environment.

best,
Graeme

View solution in original post