Intel® oneAPI Base Toolkit
Support for the core tools and libraries within the base toolkit that are used to build and deploy high-performance data-centric applications.
419 Discussions

shared objects missing for sanitizer option

Frank_R_1
Beginner
2,897 Views

Hi,

We tried to use the -fsanitize=address option of icx compiler on linux and windows in Intel oneAPI 2022.3, but all the .so/.dll files are missing!

We need to download llvm 15.0 and extract from it all the necessary libraries

linux:

/software/intel/oneAPI/2022.3.0/linux/compiler/2022.2.0/linux/lib/clang/15.0.0/lib/linux
libclang_rt.asan.so
libclang_rt.tsan.so
libclang_rt.asan-preinit.a
libclang_rt.asan-x86_64.a
libclang_rt.asan-x86_64.a.syms
libclang_rt.asan_cxx-x86_64.a
libclang_rt.asan_cxx-x86_64.a.syms
libclang_rt.asan_static-x86_64.a
libclang_rt.dfsan-x86_64.a
libclang_rt.dfsan-x86_64.a.syms
libclang_rt.lsan-x86_64.a
libclang_rt.msan-x86_64.a
libclang_rt.msan-x86_64.a.syms
libclang_rt.msan_cxx-x86_64.a
libclang_rt.msan_cxx-x86_64.a.syms
libclang_rt.tsan-x86_64.a
libclang_rt.tsan-x86_64.a.syms
libclang_rt.tsan_cxx-x86_64.a
libclang_rt.tsan_cxx-x86_64.a.syms
libclang_rt.ubsan_minimal.a
libclang_rt.ubsan_minimal.a.syms
libclang_rt.ubsan_minimal.so
libclang_rt.ubsan_standalone.a
libclang_rt.ubsan_standalone.a.syms
libclang_rt.ubsan_standalone.so
libclang_rt.ubsan_standalone_cxx.a
libclang_rt.ubsan_standalone_cxx.a.syms

 

windows:

/software/intel/oneAPI/2022.3.0/windows/compiler/2022.2.0/windows/lib/clang/15.0.0/lib/windows/
clang_rt.asan-preinit-x86_64.lib
clang_rt.asan-x86_64.lib
clang_rt.asan_cxx-x86_64.lib
clang_rt.asan_dll_thunk-x86_64.lib
clang_rt.asan_dynamic-x86_64.dll*
clang_rt.asan_dynamic-x86_64.lib
clang_rt.asan_dynamic_runtime_thunk-x86_64.lib
clang_rt.asan_static-x86_64.lib
clang_rt.builtins-x86_64.lib
clang_rt.fuzzer-x86_64.lib
clang_rt.fuzzer_interceptors-x86_64.lib
clang_rt.fuzzer_no_main-x86_64.lib
clang_rt.profile-x86_64.lib
clang_rt.stats-x86_64.lib
clang_rt.stats_client-x86_64.lib
clang_rt.ubsan_standalone-x86_64.lib
clang_rt.ubsan_standalone_cxx-x86_64.lib

 

Please fix this in the upcoming release, since this is a really helpful feature which substitute the pointer checker from intel classic compiler icc/icl.

 

Best regards

Frank

0 Kudos
13 Replies
ShanmukhS_Intel
Moderator
2,854 Views

Hi Frank,


Thanks for posting on Intel Communities.


Could you please confirm if the libraries mentioned by you were available in the corresponding paths in earlier releases of oneAPI? As of now, we could see the below files which were available under the corresponding paths.

For Windows:

clang_rt.profile-x86_64.lib.

For Linux:

libclang_rt.profile-i386.a libclang_rt.profile-x86_64.a


Best Regards,

Shanmukh.SS


0 Kudos
Frank_R_1
Beginner
2,847 Views

Hi,

on Linux the following is available after installation:

software/intel/oneAPI/2022.3.0/linux/compiler/2022.2.0/linux/lib/clang/15.0.0/lib/x86_64-unknown-linux-gnu/libclang_rt.profile.a
software/intel/oneAPI/2022.3.0/linux/compiler/2022.2.0/linux/lib/clang/15.0.0/lib/i386-unknown-linux-gnu/libclang_rt.profile.a

 

on Windows the following is available after installation:

software\intel\oneAPI\2022.3.0\windows\compiler\2022.2.0\windows\lib\clang\15.0.0\lib\windows\clang_rt.profile-x86_64.lib

 

No .dll/.so files are present

 

Best regards

Frank

 

0 Kudos
ShanmukhS_Intel
Moderator
2,200 Views

Hi Frank Roser,

 

Could you please confirm for me if you mean to say, the dll's were available in the earlier releases in corresponding paths, If yes, Could you please let us know the version used by you earlier that you took as a reference? Regrets for any difference in understanding.

 

Best Regards,

Shanmukh.SS

 

0 Kudos
Frank_R_1
Beginner
2,199 Views

Hi,

 

No I can't say that there were .so/.dll in previous versions. We started to use sanitizer since Intel oneAPI 2022.3.0 and there were no libraries on either Windows nor Linux.

 

We now installed Intel oneAPI 2023.0.0 and there again all libraries missing on Windows and Linux!

 

Best regards

Frank

0 Kudos
ShanmukhS_Intel
Moderator
2,173 Views

Hi Fran Roeser,

 

Thank you for your feedback. We have provided your feedback to the relevant team and as per your request, all the required libraries would be shipped along with the compiler in future releases. Could you please let me know if we can go ahead and close this case?

 

Best Regards,

Shanmukh.SS

 

0 Kudos
Frank_R_1
Beginner
2,135 Views

Hi,

sure you can close it when the issue will be fixed.

Just an additional information, we get the following compiling error on Windows when compiling code which uses boost library:

cannot make section .ASAN$GL associative with sectionless symbol

But I think this is a llvm problem (https://www.mail-archive.com/llvm-bugs@lists.llvm.org/msg46110.html)

 

Best regards

FranK

0 Kudos
Frank_R_1
Beginner
2,130 Views

Hi,

This seems more like a problem with Windows Visual Studio 2019 stl library files:

error: cannot make section .ASAN$GL associative with sectionless symbol ?id@?$collate@D@std@@2V0locale@2@A
error: cannot make section .ASAN$GL associative with sectionless symbol ?id@?$numpunct@D@std@@2V0locale@2@A

Any hints what to do here?

Best regards

Frank

0 Kudos
Frank_R_1
Beginner
2,109 Views

Hi,

Consider the following minimal example which we found in some forum:

 

file a.cxx:

##################################################

#include <locale>

void grouping_impl() {
  std::use_facet<std::numpunct<char>>(std::locale());
}

##################################################

Compile with:

icx -MD -Qstd=c++17 -Od -Z7 -fsanitize=address -c a.cxx
Intel(R) oneAPI DPC++/C++ Compiler for applications running on Intel(R) 64, Version 2023.0.0 Build 20221201
Copyright (C) 1985-2022 Intel Corporation. All rights reserved.

error: cannot make section .ASAN$GL associative with sectionless symbol ?id@?$numpunct@D@std@@2V0locale@2@A
1 error generated.

 

Then compile with:

icx -MD -Qstd=c++17 -O1 -Z7 -fsanitize=address -c a.cxx
Intel(R) oneAPI DPC++/C++ Compiler for applications running on Intel(R) 64, Version 2023.0.0 Build 20221201
Copyright (C) 1985-2022 Intel Corporation. All rights reserved.

 

So the sanitizer is not usable on Windows in debug mode : (

On Linux it works!

 

Best regards

Frank

0 Kudos
ShanmukhS_Intel
Moderator
1,970 Views

Hi Frank,

 

Thanks for sharing the details.

 

It seems the error mentioned below is more related to the Address Sanitizer tool likely indicating a conflict or problem when associating the ASAN$GL section with the symbol ?id@?$numpunct@D@std@@2V0locale@2@A from the C++ Standard Library., which is a runtime memory error

error: cannot make section .ASAN$GL associative with sectionless symbol ?id@?$numpunct@D@std@@2V0locale@2@A

 

Could you please check the compatibility of the Visual Studio version being used by you? It is always recommended to use the IDE with latest patches/updates. You could review your code/check the compiler flags. Seems you are using boost libraries, could you please share us the source code regarding the same? It helps us investigate your issue better.

 

Best Regards,

Shanmukh.SS

 

0 Kudos
ShanmukhS_Intel
Moderator
1,918 Views

Hi Frank,

 

As -Od option disables all optimizations, and hence it is recommended not to use it. Could you please try disabling it and get back to us if the issue persists?

 

It can be used for selective optimizations, such as a combination of /Od and /Ob1 (disables all optimizations, but enables inlining).

IDE Equivalent

Visual Studio: Optimization > Optimization

 

Please refer to the below link for more details regarding the compiler options that pertain to optimization

https://www.intel.com/content/www/us/en/docs/dpcpp-cpp-compiler/developer-guide-reference/2023-0/optimization-options.html

 

Best Regards,

Shanmukh.SS

 

0 Kudos
ShanmukhS_Intel
Moderator
1,764 Views

Hi Frank,

 

A gentle reminder:

We have not heard back from you for a while. Could you please let us know if any update regarding your issue. Could you please try disabling it and get back to us if the issue persists?

 

Best Regards,

Shanmukh.SS

 

0 Kudos
ShanmukhS_Intel
Moderator
1,735 Views

Hi Frank,


We assume that your issue is resolved. If you need any other information, please post a new query as this thread will no longer be monitored by Intel.


Best Regards,

Shanmukh.SS


0 Kudos
Frank_R_1
Beginner
1,162 Views

Hi,

 

this problem is not solved in Intel oneAPI 2023.2.0

error: cannot make section .ASAN$GL associative with sectionless symbol ?id@?$numpunct@D@std@@2V0locale@2@A

So sanitizer and debug mode on Windows are unuseable together.

Again is it possible to contact the llvm developers?

(https://www.mail-archive.com/llvm-bugs@lists.llvm.org/msg46110.html)

 

Best regards

Frank

0 Kudos
Reply