mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-23 08:02:02 +00:00
0fe1f070fa
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]). [1]: https://bugzilla.redhat.com/show_bug.cgi?id=1163404 [2]: https://github.com/ClickHouse/ClickHouse/pull/32928#issuecomment-1015762717 - 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]: https://github.com/ClickHouse/ClickHouse/pull/33840 Fix this by using /proc/self/auxv. And let's see how many issues will LSan find... I've verified this patch manually by printing AT_BASE and compared it with output of LD_SHOW_AUXV. Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com> |
||
---|---|---|
.. | ||
base | ||
bridge | ||
daemon | ||
glibc-compatibility | ||
harmful | ||
loggers | ||
pcg-random | ||
readpassphrase | ||
widechar_width | ||
CMakeLists.txt |