mstlink command crashes with core dump when used on Oracle Linux 8
The mstlink command crashes when run on an Oracle Linux 8 system running Unbreakable Enterprise Kernel Release 6. The following output is typical:
sudo mstlink -d 13:00.1
/usr/include/c++/8/bits/stl_vector.h:932: std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) [with _Tp = unsigned int; _Alloc = std::allocator<unsigned int>; std::vector< Tp, _Alloc>::reference = unsigned int& std::vector<_Tp, _Alloc>::size_type = long unsigned int]: Assertion '__builtin_expect(__n < this->size(), true)' failed. Aborted (core dumped)
This issue is related to system-wide hardening changes introduced
upstream and present in Oracle Linux 8. The upstream tools in the
mstflint
package, including
mstlink do not adequately cater for these
hardening changes. Alternate tools can be used to gather and
configure link information, including ip link,
ethtool, ifstat, and
ibv_devinfo.
(Bug ID 30993407)