Skip to content

DuckDB upgrades break working setups

Outages and change7 posts from 6 people5d active+55 posts in the last 7 days, 2 the 7 days before (rising)

Posts per day

Posts per day7 posts, Sep 17 to Sep 25

The posts behind it

7, newest first
PostDate
NewVuln2: One-Byte Heap OOB Read in GZipFileSystem::UncompressGZIPString via FNAME Flag### What happens? In `GZipFileSystem::UncompressGZIPString()` (`src/common/gzip_file_system.cpp`), the guard `if (size < GZIP_HEADER_MINSIZE)` permits `size == 10`, which leaves `body_ptr` equal to `data + size` after the header is consumed. When the `FNAME` flag is set in the...duckdb/duckdbylwango613Sep 232 days ago
NewVuln16: Use-After-Free in checkpoint() via PREPARE+DETACH+EXECUTE### What happens? In `src/function/table/checkpoint.cpp`, `CheckpointBind()` stores the target `AttachedDatabase` as a raw `optional_ptr` in `CheckpointBindData::db` without retaining shared ownership. When `DETACH` is issued after the `PREPARE` transaction has committed, the...duckdb/duckdbylwango613Sep 232 days ago
Use-after-free of join-pushed table filters during read-ahead drain in TableScanGlobalSourceState teardown### What happens? Non-deterministic SIGSEGV on an async I/O thread at query teardown: a read-ahead `FileOpenTask` copies the scan's table filters after the `TableScanGlobalSourceState` that owns them has already freed them. `TableScanGlobalSourceState`...duckdb/duckdbmichael626Sep 223 days ago
a wide join containing an ANTI JOIN mis-binds its columns...An eight-table join containing one `ANTI JOIN`, aggregated with `count(DISTINCT …)`, fails to bind after the join-order optimizer rewrites it: This is not a wrong answer - it is a hard failure on a query that is plainly valid, and *valid* is not a judgement call here: **the same...duckdb/duckdbhanke580Sep 223 days ago
Released 1.4.x–1.5.x: WAL replay with interleaved ALTER TABLE / CREATE INDEX corrupts unbound index buffers → SIGSEGV on next indexed write (fixed on main & v1.5 branch; no release tag contains the fix)**Summary** A WAL that interleaves `CREATE INDEX` / `ALTER TABLE … ADD COLUMN` with row-data transactions poisons unbound index buffers during replay. On release builds (asserts off) the next index-maintaining write - or an automatic checkpoint - SIGSEGVs. On assert builds,...duckdb/duckdbu70b3Sep 196 days ago
Segfault / INTERNAL Error in CompressedMaterialization::Compress for filtered ORDER BY ... LIMIT that eliminates all rows (2.x regression)### What happens? On current 2.x nightlies, planning a `SELECT * ... WHERE (a = ... AND b LIKE ...) ORDER BY x, y LIMIT n` over a table where no row can pass the filter (e.g. an empty table) crashes inside the compressed materialization optimizer. Depending on the build it...duckdb/duckdbKyongSik-YoonSep 187 days ago
Parquet reader truncates INT96 timestamps to microseconds; no way to read their nanosecond part...their data through DuckDB changes values without a warning. There is currently no way to opt into the full precision: - casting the column to `TIMESTAMP_NS` happens after the value was already read at microsecond precision; - the `schema` parameter of `read_parquet` is keyed by...duckdb/duckdbkliszaqSep 178 days ago

Companies and products named

Company or productPosts naming it
DuckDB7
SQL Server1
GitHub1
GitHub Actions1
PyPI1
About this problem

Evidence

7 posts from 6 people in 1 place, about 7 a week over 7 days. Mostly on duckdb/duckdb. Tools named alongside: SQL Server, GitHub, GitHub Actions, PyPI.

Frustration Frustration 1 of 3· Seen on GitHub issues

How it was grouped

Posts that state a pain and match the "breaking-changes" rule about DuckDB. First post Sep 17, 2026, latest Sep 23, 2026. Corroborated: 3 or more posts from 2 or more people or places. Method

History

  • 2026-09-25 Added: DuckDB upgrades break working setups (7 posts)

Rising problems by email

Mondays: the problems in data, tech and AI that grew fastest that week.

Double opt-in. Unsubscribe any time.