Description
Hi! I was working with some road centerline (line) data, attempting to convert it to the experimental LINESTRING_2D
type and I came across some unexpected behavior.
Platform: MacOS Sonoma (running DuckDB from command line)
DuckDB version: 1.2.2
Spatial extension version: 3bb37f8
(I'm also seeing similar behavior in the Wasm build at shell.duckdb.org. Steps to reproduce are the same)
Data:
13838 rows, with a geometry column (geom_transformed
) representing streets in Minneapolis, MN using the EPSG:4326 CRS.
File can be downloaded at https://github.com/carstonhernke/demo-h3-data/blob/main/parquet/mpls_streets.parquet
Steps to reproduce:
load spatial;
create table geo as select * from 'mpls_streets.parquet';
select "geom_transformed"::LINESTRING_2D as line from geo;
At the last step, duckdb reliably crashes, with the following error message:
duckdb(36426,0x1f6e68f40) malloc: Incorrect checksum for freed object 0x12289dc00: probably modified after being freed.
Corrupt value: 0x404672fbd9844419
duckdb(36426,0x1f6e68f40) malloc: *** set a breakpoint in malloc_error_break to debug
zsh: abort duckdb
I haven't been able to narrow the error down to a specific row. All of the rows contain a valid geometry, and none of them are especially complicated. Thanks in advance for the help!