Commit Graph

63 Commits

Author SHA1 Message Date
Azat Khuzhin
3ecfcdfe7b Remove outdated comment about broken -fsanitize-ignorelist
See: https://github.com/ClickHouse/ClickHouse/pull/49829#issuecomment-1546704055
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2024-04-26 15:45:44 +03:00
Azat Khuzhin
90e1f7d8ec Fix sanitizers suppressions
The -fsanitize-ignorelist (-fsanitize-blacklist is the alias for it)
accepts not the suppressions but special case list, that accept only
`fun` and `src`, so convert tsan_suppressions.txt into a proper
tsan_ignorelist.txt with a proper syntax, otherwise suppressions simply
does not work [1].

  [1]: https://s3.amazonaws.com/clickhouse-test-reports/61526/958659584957ff419a9305d9c7edee5703fedbdc/integration_tests__tsan__[6_6].html

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2024-03-24 16:22:23 +01:00
Alexey Milovidov
eb54432cbe Merge branch 'master' of github.com:ClickHouse/ClickHouse into enable-coverage-for-debug-build 2024-01-30 03:53:11 +01:00
Raúl Marín
ac532599aa Don't apply without coverage flags when it's not necessary 2024-01-29 17:33:53 +01:00
Alexey Milovidov
6c0445f365 Fix CMake 2024-01-18 12:47:18 +01:00
Alexey Milovidov
9f5a7c5117 Fix error 2024-01-14 08:08:56 +01:00
Alexey Milovidov
3b1cc5179b Fix error 2024-01-14 08:05:57 +01:00
Alexey Milovidov
aaca32f6a7 Add function coverageAll 2023-10-30 03:22:49 +01:00
Alexey Milovidov
8e0f487387 Initial support in clickhouse-test 2023-10-29 17:21:45 +01:00
Alexey Milovidov
70e3dd808c Granular code coverage with introspection 2023-10-29 02:07:24 +01:00
Michael Kolupaev
ce7eca0615
DWARF input format (#55450)
* Add ReadBufferFromFileBase::isRegularLocalFile()

* DWARF input format

* Review comments

* Changed things around ENABLE_EMBEDDED_COMPILER build setting

* Added 'ranges' column

* no-msan no-ubsan
2023-10-16 17:00:07 -07:00
Robert Schulze
3a3a00f95e
Bump minimal required compiler to Clang 16 2023-09-18 17:44:04 +00:00
Robert Schulze
4d06246cd4
Merge branch 'master' into clean-out-msan-suppression 2023-05-22 17:25:29 +02:00
Amos Bird
6b4dcbd3ed
Use PROJECT_*_DIR instead of CMAKE_*_DIR. 2023-05-18 23:23:39 +08:00
Robert Schulze
c28bb963b5
Remove -fsanitize-blacklist 2023-05-13 15:48:36 +00:00
Azat Khuzhin
184efcb77a Get back -fno-sanitize-address-use-after-scope quirk for llvm/clang-15
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-05-09 20:35:43 +02:00
Azat Khuzhin
e278081344 Revert "Merge pull request #43195 from ClickHouse/workaround-for-llvm-bug"
With clang 16 this workaround should not be required anymore.

This reverts commit 992729f3c0, reversing
changes made to d885b3cc4c.
2023-05-08 22:54:04 +02:00
Robert Schulze
150ea22a12
CMake: Remove dead code paths 2023-04-26 19:40:59 +00:00
alesapin
bb21461145 Try to fix with pie 2023-04-25 15:45:23 +02:00
Robert Schulze
1477887259
Initial removal of logic under COMPILER_GCC 2023-04-11 16:27:32 +00:00
Robert Schulze
27f5aad49e
What happens if I remove 156 lines of code? 2023-01-03 18:51:16 +00:00
Alexey Milovidov
f5270a6ebe A workaround for LLVM bug, https://github.com/llvm/llvm-project/issues/58633 2022-11-13 04:51:46 +01:00
Nikita Mikhaylov
8fcbef938b
Fix typo in cmake code related to fuzzing (#42627) 2022-10-24 23:01:06 +02:00
Azat Khuzhin
4a0facd341 Remove MAKE_STATIC_LIBRARIES (in favor of USE_STATIC_LIBRARIES)
There is no more MAKE_*, so remove this alias.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-01-24 17:28:33 +03:00
Nikita Mikhaylov
f0f4737676
Added -no-sanitize=unsigned-integer-overflow build flag (#31881) 2021-11-27 17:39:13 +03:00
Azat Khuzhin
d83ea5844f Enable use-after-destruction detection in MSan
Refs: https://clang.llvm.org/docs/MemorySanitizer.html#use-after-destruction-detection
2021-04-28 23:02:52 +03:00
Azat Khuzhin
c862ae0c42 Explicitly link with -llib$SANITIZER for gcc
gcc with -nodefaultlibs does not add sanitizers library during linkage
with -static-libasan and similar, fix this, by add them explicitly.

From the gcc(1) about -nodefaultlibs:

    Do not use the standard system libraries when linking. Only the
    libraries you specify are passed to the linker, and options specifying
    linkage of the system libraries, such as -static-libgcc or
    -shared-libgcc, are ignored. The standard startup files are used
    normally, unless -nostartfiles is used.

Plus checked it manually, w/o -nodefaultlibs everything works without
this explicit linkage.

After this patch UBSAN under gcc compiled successfully.

v2: freebsd and darwin
2020-12-16 21:31:03 +03:00
Azat Khuzhin
90df89b504 cmake/sanitizers.cmake: tiny refactoring 2020-12-16 21:31:03 +03:00
Azat Khuzhin
8de0c0e8fc Fix warning message for unusupported -fsanitize-blacklist 2020-12-15 02:29:09 +03:00
Azat Khuzhin
519d89dc9f Do not pass -fsanitize-blacklist for gcc (it does not support it) for UBSAN 2020-12-15 02:24:28 +03:00
Alexey Milovidov
5e502c52b3 Merge branch 'master' into AES_encrypt_decrypt 2020-10-14 16:30:23 +03:00
myrrc
c78d9f9f38 moved the generators to docs/ folder 2020-09-19 19:42:36 +03:00
Alexey Milovidov
799a675b5d Merge branch 'master' into AES_encrypt_decrypt 2020-09-17 21:42:51 +03:00
myrrc
7cd5c0d34f Merge remote-tracking branch 'upstream/master' into feature/cmake-flags-doc-generator 2020-09-17 19:17:09 +03:00
myrrc
ac606dca77 updated cmake/ files, added some comments 2020-09-17 18:37:23 +03:00
Azat Khuzhin
0f4fdcbf38 Pass -fsanitize-blacklist for TSAN only under clang (gcc does not support this)
And no such check for -fsnaitize=memory, since gcc does not support it
anyway.
2020-09-10 02:07:28 +03:00
Vasily Nemkov
b147ffcd43 encrypt, aes_encrypt_mysql, decrypt, aes_decrypt_mysql functions
Functions to encrypt/decrypt any input data with OpenSSL's ciphers
with custom key, iv, and add (-gcm mode only).

_mysql versions are 100% compatitable with corresponding MySQL functions

Supported modes depend on OpenSSL version, but generally are:
aes-{128,192,56}-{ecb,cbc,cfb1,cfb8,cfb128,ofb,gcm}

Please note that in a -gcm mode a 16-byte tag is appended to the ciphertext
on encryption and is expected to be found at the end of ciphertext on decryption.

Added tests that verify compatibility with MySQL functions,
and test vectors for GCM mode from OpenSSL.

Added masking rules for aes_X funtions
Rules are installed by default to config.d/query_masking_rules.xml
2020-09-01 12:42:15 +03:00
Alexey Milovidov
99e64729bb Remove obsolete TSan suppressions 2020-05-11 10:05:46 +03:00
Eldar Zaitov
d7a037c26b split fuzzers and sanitizers 2020-04-25 10:12:38 +03:00
Ivan
97f2a2213e
Move all folders inside /dbms one level up (#9974)
* Move some code outside dbms/src folder
* Fix paths
2020-04-02 02:51:21 +03:00
tavplubix
3b770d8b1b
Fix stateless tests with msan (#9531)
* try run tests

* try fix build

* try enable other libraries

* suppress some msan warnings

* Update msan_suppressions.txt

* Update msan_suppressions.txt

* use function names in suppressions list

* update submodule
2020-03-08 12:32:22 +03:00
Alexey Milovidov
59d9bfa71e Enable Avro with Memory Sanitizer 2020-01-23 21:47:17 +03:00
Alexey Milovidov
76e04b9843 Merge branch 'avro' of https://github.com/oandrew/ClickHouse into oandrew-avro 2020-01-18 21:23:55 +03:00
Alexey Milovidov
c0a5c664a9 Replace readline to replxx: docs and corrections 2020-01-18 18:44:08 +03:00
Andrew Onyshchuk
7320447f92 Add Avro formats
Add Avro file input/output formats
Add AvroConfluent input format (for Kafka)
2020-01-08 03:18:00 -06:00
Alexey Milovidov
a7ef9e911a Fixed UBSan check in CI 2019-12-18 18:30:23 +03:00
Alexey Milovidov
c8e19f8bc8 Enable ICU for build with Memory Sanitizer 2019-12-15 20:53:16 +03:00
Alexander Kuzmenkov
f0ed2bd233 Suppress an msan false positive in exception handling.
See https://github.com/google/sanitizers/issues/1155
2019-12-12 21:28:58 +03:00
Amos Bird
dbc352fdf9 glibc 2.29 compatibility 2019-09-30 12:28:50 +08:00
Alexander Kuzmenkov
6e32553e01 Add a comment about MemorySanitizer options. 2019-09-24 22:00:47 +03:00