- Revenera Community
- :
- FlexNet Publisher
- :
- FlexNet Publisher Knowledge Base
- :
- Address Sanitizer crash in dlopen with RTLD_DEEPBIND flag
- Mark as New
- Mark as Read
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
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.