Alexey MilovidovandClaude Opus 4.8 d1038006e9 Bump contrib/libdeflate: fix data race in the CPU-feature global
The previous bump (cb6b5c9) made the per-codec dispatch function pointers
(`crc32_impl`, `adler32_impl`, ...) atomic, but each dispatcher still calls
`get_x86_cpu_features` / `get_arm_cpu_features`, which lazily initialize the
global `libdeflate_x86_cpu_features` / `libdeflate_arm_cpu_features` bitmask on
the first call. That global was only `volatile`, so a plain load racing with
the store in `libdeflate_init_*_cpu_features` is still undefined behavior and
was flagged by ThreadSanitizer:

    WARNING: ThreadSanitizer: data race
      Write ... libdeflate_init_x86_cpu_features cpu_features.c:210
      Read  ... get_x86_cpu_features cpu_features.h:62
      Location is global 'libdeflate_x86_cpu_features'

It reproduced as a "Server died" failure under TSan when two HTTP connections
first compressed a gzip error response concurrently (e.g.
`test_profile_max_sessions_for_user` on the amd_tsan integration shard).

The global is now accessed with relaxed `__atomic_load_n` / `__atomic_store_n`,
matching the dispatch-pointer fix. Fork commit:
https://github.com/ClickHouse/libdeflate/commit/ec0718b
Related: https://github.com/ClickHouse/libdeflate/pull/5

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-30 15:02:07 +00:00
…
…
…
…
…
…
…
…
…

Website Apache 2.0 License

The ClickHouse company logo.

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

How To Install (Linux, macOS, FreeBSD)

curl https://clickhouse.com/ | sh
  • Official website has a quick high-level overview of ClickHouse on the main page.
  • ClickHouse Cloud ClickHouse as a service, built by the creators and maintainers.
  • 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.
  • ClickHouse Theater contains presentations and videos about ClickHouse.
  • 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.
  • Bluesky and X for short news.
  • Code Browser (github.dev) with syntax highlighting, powered by github.dev.
  • Contacts can help to get your questions answered if there are any.

Monthly Release & Community Call

Join us for the ClickHouse 26.5 Release Call on May 21, 2026.

Watch all release presentations and videos at ClickHouse Theater and YouTube Playlist.

Upcoming Events

Keep an eye out for upcoming meetups and events around the world. Want to speak? Apply here You can also peruse ClickHouse Events for a list of all upcoming trainings, meetups, speaking engagements, etc.

Upcoming meetups

Recent meetups

Recent Recordings

  • Recent Meetup Videos: Meetup Playlist Whenever possible recordings of the ClickHouse Community Meetups are edited and presented as individual talks.

Interested in joining ClickHouse and making it your full-time job?

ClickHouse is a nice DBMS, and it's a good place to work.

Check out our current openings here: https://clickhouse.com/company/careers

Email: [email protected]!

S
Description
No description provided
Readme Apache-2.0 Cite this repository
8.3 GiB
Languages
C++ 70.9%
Python 12.2%
Shell 5.5%
Assembly 4.2%
C 1.8%
Other 5.2%