cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Address Sanitizer crash in dlopen with RTLD_DEEPBIND flag

Address Sanitizer crash in dlopen with RTLD_DEEPBIND flag

Description:

A crash on running Address Sanitizer testing has been eporting when using FNP-11.13.1.1 or later version of toolkits.

This crash has been reported in FNP library loading “libudev.so.1” with the RTLD_DEEPBIND flag.

Background on this Flag:

In order to resolve stability issues related to loading of system libraries such as libhal.so and libsmbios.so on Linux, FlexNet Publisher LSB binaries pass the RTLD_DEEPBIND flag to dlopen() calls. [Enhancement done in FNP-11.13.1.3 and onwards].

Technical Analysis:

This is a known issue and sort of a limitation.

Link - https://gitlab.freedesktop.org/jdorel/NetworkManager/commit/936e0a51fea31f9ba0484c29d1dcbe1e367ce9e2

From the FAQ's on the asan/libsanitizer Project Page it's clear that the tool doesn't support the RTLD_DEEPBIND flag (which we added some years back on publisher' suggestion):

  • Q: My library crashes with SIGABRT while calling free. What's going wrong?
  • A: Most probably you are dlopening your library with RTLD_DEEPBIND flag. ASan doesn't support RTLD_DEEPBIND, see issue #611 for details.

An enhancement request might be raised on order to support this, but given the trade off, laying off ASAN support will a small price to pay.

Was this article helpful? Yes No
No ratings
Version history
Last update:
‎May 06, 2020 05:42 PM
Updated by:
Contributors