У нас возникли проблемы с ASAN + Java, в частности, на некоторых компьютерах с macOS. С нашей штатной C++ библиотекой и ее тестами на всех операционных системах проблем не возникло. Мы разобрались со всеми флагами компилятора, флагами связывания и переменными среды выполнения, чтобы ASAN работал правильно.
Но с библиотекой JNI, связывающей Java (только в macOS), все по-другому. . Когда мы загружаем нашу связанную с ASAN библиотеку привязки и пытаемся использовать ее в Java в macOS, мы получаем следующую ошибку и процесс Java прерывается:
Код: Выделить всё
==36055==ERROR: Interceptors are not working. This may be because AddressSanitizer is loaded too late (e.g. via dlopen). Please launch the executable with:
DYLD_INSERT_LIBRARIES=/path/to/libclang_rt.asan_osx_dynamic.dylib
"interceptors not installed" && 0
Как правильно заставить Java включить предварительно загрузить библиотеку ASAN в системы macOS с поддержкой SIP, чтобы предотвратить эту ошибку?
Подробнее здесь: https://stackoverflow.com/questions/790 ... ni-library