Skip to content

TABLESAMPLE corrupts memory #16258

@JasonPunyon

Description

@JasonPunyon

What happens?

When I do this...

CREATE OR REPLACE TABLE blah as (
        SELECT *
        FROM range(10_000_000)
    );
SELECT * FROM blah TABLESAMPLE 100 ROWS;
SELECT * FROM blah TABLESAMPLE 100 ROWS;
SELECT * FROM blah TABLESAMPLE 100 ROWS;
SELECT * FROM blah TABLESAMPLE 100 ROWS;
SELECT * FROM blah TABLESAMPLE 100 ROWS;
SELECT * FROM blah TABLESAMPLE 100 ROWS;
SELECT * FROM blah TABLESAMPLE 100 ROWS;
SELECT * FROM blah TABLESAMPLE 100 ROWS;
SELECT * FROM blah TABLESAMPLE 100 ROWS;
SELECT * FROM blah TABLESAMPLE 100 ROWS;

One of those selects will throw, usually the second.

duckdb(24789,0x1fed14240) malloc: Incorrect checksum for freed object 0x152085800: probably modified after being freed.
Corrupt value: 0x2f2525
duckdb(24789,0x1fed14240) malloc: *** set a breakpoint in malloc_error_break to debug

To Reproduce

CREATE OR REPLACE TABLE blah as (
        SELECT *
        FROM range(10_000_000)
    );
SELECT * FROM blah TABLESAMPLE 100 ROWS;
SELECT * FROM blah TABLESAMPLE 100 ROWS;
SELECT * FROM blah TABLESAMPLE 100 ROWS;
SELECT * FROM blah TABLESAMPLE 100 ROWS;
SELECT * FROM blah TABLESAMPLE 100 ROWS;
SELECT * FROM blah TABLESAMPLE 100 ROWS;
SELECT * FROM blah TABLESAMPLE 100 ROWS;
SELECT * FROM blah TABLESAMPLE 100 ROWS;
SELECT * FROM blah TABLESAMPLE 100 ROWS;
SELECT * FROM blah TABLESAMPLE 100 ROWS;

OS:

macOS Sequoia 15.2

DuckDB Version:

v1.2.0 5f5512b

DuckDB Client:

cli

Hardware:

2021 Macbook Pro, M1 Max 64GB

Full Name:

Jason Punyon

Affiliation:

Sumble

What is the latest build you tested with? If possible, we recommend testing with the latest nightly build.

Local release build at 28c95be

Did you include all relevant data sets for reproducing the issue?

Yes

Did you include all code required to reproduce the issue?

  • Yes, I have

Did you include all relevant configuration (e.g., CPU architecture, Python version, Linux distribution) to reproduce the issue?

  • Yes, I have

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions