-
Notifications
You must be signed in to change notification settings - Fork 77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
running AddressSanitizer on IlmCtlTest reports SEGV on unknown address 0x000000000008 in /usr/src/CTL/lib/IlmCtlSimd/CtlSimdInst.h:9 #92
Comments
The AddressSanitizer error does not occur if optimization is disabled by changing -O1 to -O0 in the CMakeLists asan build type as follows:
|
I've noticed some calls to
As described above, AddressSantizer gives SEGV error (which is the same error mentioned in the bugs section of alloca() man page) when running on the CTL's unit test IlmCtlTest,
|
The reported AddressSanitizer error does not occur if lines 61-62 of file /lib/IlmCtlSimd/CtlSimdInst.cpp are changed from:
to:
to disable the compiler's optimization of CtlSimdInst.h |
The reported AddressSanitizer error does not occur if lines 87-88 of file /lib/IlmCtlSimd/CtlSimdInst.h are compiled without optimization by changing
to
|
The reported AddressSanitizer error occurs when unittest
CTL function
So perhaps the compiler optimization when using -O1 or higher is causing the useless function |
To avoid attempting to call a function that has been optimized out, like CTL function for example the line:
can be changed to:
|
A similar type of check can be added to SimdCallBranchInst::execute() on line 240 of /lib/IlmCtlSimd/CtlSimdInst.cpp where
where _falsePath->execute(mask, xcontext) appears, change it to
|
closes #92 - add checks before calling executePath()
add AddressSantizer build type to CMakelists.txt
build unit tests with AddressSanitizer build type
run IlmCtlTest unit test
Output is below:
The text was updated successfully, but these errors were encountered: