Skip to content

Lots of UNION ALL causes "memory access out of bounds" #1954

@jasonmcole

Description

@jasonmcole

What happens?

When running a query with enough unions, the error "memory access out of bounds" is thrown. Once this error is thrown, all further queries fail to execute with the same error.

duckdb-browser-eh.worker.js.gz:1
RuntimeError: memory access out of bounds
    at 08812f2a:0x1eeaa86
    at 08812f2a:0x1f33b65
    at 08812f2a:0xbf0524
    at 08812f2a:0xb0b644
    at 08812f2a:0xafa20e
    at 08812f2a:0xaf6d4d
    at 08812f2a:0xaf68b5
    at 08812f2a:0xaf9c9a
    at 08812f2a:0xaf6d4d
    at 08812f2a:0xaf68b5

To Reproduce

Run this query, with 86 unions (85 or fewer seem to work fine). This is reproducible on shell.duckdb.org, but not in native DuckDB.

select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num
union all
select 1 as num

Browser/Environment:

Chrome 132.0.6834.160 (arm64)

Device:

Mac Mini, M4 Pro, Sequoia 15.2

DuckDB-Wasm Version:

1.29.1-dev3.0

DuckDB-Wasm Deployment:

https://count.co or https://shell.duckdb.org/

Full Name:

Jason Cole

Affiliation:

Count

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions