ClickHouse® is a real-time analytics DBMS
Go to file
Azat Khuzhin a4f9e1da5b Fix getauxval() by using procfs with fallback to environ
getauxval() from glibc-compatibility did not work always correctly:

- It does not work after setenv(), and this breaks vsyscalls,
  like sched_getcpu() [1] (and BaseDaemon.cpp always set TZ if timezone
  is defined, which is true for CI [2]).

  Also note, that fixing setenv() will not fix LSan,
  since the culprit is getauxval()

  [1]: https://bugzilla.redhat.com/show_bug.cgi?id=1163404
  [2]: ClickHouse#32928 (comment)

- Another think that is definitely broken is LSan (Leak Sanitizer), it
  relies on worked getauxval() but it does not work if __environ is not
  initialized yet (there is even a commit about this).

  And because of, at least, one leak had been introduced [3]:

    [3]: ClickHouse#33840

Fix this by using /proc/self/auxv with fallback to environ solution to
make it compatible with environment that does not allow reading from
auxv (or no procfs).

v2: add fallback to environ solution
v3: fix return value for __auxv_init_procfs()
(cherry picked from commit f187c3499a)
v4: more verbose message on errors, CI founds [1]:
    AUXV already has value (529267711)
    [1]: https://s3.amazonaws.com/clickhouse-test-reports/39103/2325f7e8442d1672ce5fb43b11039b6a8937e298/stress_test__memory__actions_.html
v5: break at AT_NULL
v6: ignore AT_IGNORE
v7: suppress TSan and remove superior check to avoid abort() in case of race
v8: proper suppressions (not inner function but itself)
Refs: #33957
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-07-25 01:22:04 +03:00
.github Merge branch 'master' into status-names 2022-07-24 00:34:00 +03:00
base Fix getauxval() by using procfs with fallback to environ 2022-07-25 01:22:04 +03:00
benchmark Remove old file 2022-07-12 20:28:02 +02:00
cmake Update version to 22.8.1.1 2022-07-21 19:21:28 +02:00
contrib Merge pull request #39292 from zvonand/zvonand-b58-datatype 2022-07-24 18:09:40 +02:00
docker Merge pull request #39390 from ClickHouse/paint-it-black 2022-07-22 17:19:00 +02:00
docs Merge pull request #39292 from zvonand/zvonand-b58-datatype 2022-07-24 18:09:40 +02:00
packages Merge pull request #38580 from ClickHouse/artifactory-arm64 2022-07-04 12:31:52 +02:00
programs Merge branch 'master' into dev_intel_iaa_deflate 2022-07-22 11:05:44 +08:00
src Add a test for LSan 2022-07-25 01:21:40 +03:00
tests Merge pull request #39292 from zvonand/zvonand-b58-datatype 2022-07-24 18:09:40 +02:00
utils Merge pull request #39390 from ClickHouse/paint-it-black 2022-07-22 17:19:00 +02:00
website Merge branch 'master' into add_equinix_n3.xlarge 2022-07-24 19:21:05 +02:00
.clang-format add BeforeLambdaBody to .clang-format 2022-02-11 16:51:45 +01:00
.clang-tidy Revert "Fix errors of CheckTriviallyCopyableMove type" 2022-06-07 13:53:10 +02:00
.editorconfig Changed tabs to spaces in editor configs and in style guide [#CLICKHOUSE-3]. 2017-04-01 11:35:09 +03:00
.gitattributes mark test data as binary 2022-01-22 03:19:47 +03:00
.gitignore Add cmake page back to docs && fix /settings/settings in /zh 2022-04-24 16:47:19 -06:00
.gitmodules Merge pull request #39292 from zvonand/zvonand-b58-datatype 2022-07-24 18:09:40 +02:00
.pylintrc Cover deprecated bad-* pylint options with black 2022-06-08 14:18:28 +02:00
.vimrc Changed tabs to spaces in editor configs and in style guide [#CLICKHOUSE-3]. 2017-04-01 11:35:09 +03:00
.yamllint Drop truthy.check-keys from yamllint (does not supported on CI) 2021-02-21 06:15:36 +03:00
AUTHORS Update AUTHORS 2021-09-22 11:38:03 +03:00
CHANGELOG.md Update CHANGELOG.md 2022-07-23 22:20:37 +03:00
CMakeLists.txt Fix make clean (due to crosscompile of llvm) 2022-07-20 17:34:10 +03:00
CODE_OF_CONDUCT.md Add minimal code of conduct #9676 2020-03-16 12:44:28 +03:00
CONTRIBUTING.md Mention ClickHouse CLA in CONTRIBUTING.md (#32697) 2021-12-14 03:47:19 +03:00
format_sources allow several <graphite> targets (#603) 2017-03-21 23:08:09 +04:00
LICENSE Update year 2022-01-27 01:01:27 +03:00
PreLoad.cmake Do not override compiler if it had been already set 2022-07-06 08:51:57 +03:00
README.md Update README.md 2022-06-30 12:03:09 -06:00
SECURITY.md Update SECURITY.md 2022-07-06 22:04:53 +10:00

ClickHouse — open source distributed column-oriented DBMS

ClickHouse® is an open-source column-oriented database management system that allows generating analytical data reports in real-time.

  • Official website has a quick high-level overview of ClickHouse on the main page.
  • Tutorial shows how to set up and query a small ClickHouse cluster.
  • Documentation provides more in-depth information.
  • YouTube channel has a lot of content about ClickHouse in video format.
  • Slack and Telegram allow chatting with ClickHouse users in real-time.
  • Blog contains various ClickHouse-related articles, as well as announcements and reports about events.
  • Code Browser (Woboq) with syntax highlight and navigation.
  • Code Browser (github.dev) with syntax highlight, powered by github.dev.
  • Contacts can help to get your questions answered if there are any.

Upcoming events