Describe the bug
attr('sample') == val('xxx')
python: malloc.c:2617: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed.
Aborted
To Reproduce
import tiledbsoma
exp = tiledbsoma.Experiment.open("s3://xxx")
# To anndata
measurement_name = "RNA"
print(len(exp.obs)) #2343203
print(len(exp.ms["RNA"]["var"])) #22653
## Var Query
gene_names = ["xxx"]
var_query = tiledbsoma.AxisQuery(value_filter=f'var_id in {gene_names}')
## Obs Query
first_obs_name="sample"
first_obs_value="xxx"
value_filter=f"attr('{first_obs_name}') == val('{first_obs_value}')"
print(value_filter)
obs_query = tiledbsoma.AxisQuery(value_filter=value_filter)
# Run query
query = exp.axis_query("RNA", obs_query=obs_query, var_query=var_query)
adata = query.to_anndata(X_name="data")
Versions (please complete the following information):
tiledbsoma.__version__ 2.3.0
TileDB core version (libtiledbsoma) 2.30.0
python version 3.13.1.final.0
OS version Linux 6.8.0-1050-aws
Additional context
When I remove the obs_query the error doesn't happen
query = exp.axis_query("RNA", var_query=var_query)
This is the platform_config used with tiledbsoma.io.from_anndata to create the data
max_n_obs = 1000
if len(ad.obs) > max_n_obs:
obs_tile_extent = int(len(ad.obs) / 10)
else:
obs_tile_extent = int(len(ad.obs))
var_tile_extent = 5
platform_config = tiledbsoma.options.TileDBCreateOptions(
tile_order="col-major",
cell_order="col-major",
dims={
"soma_dim_0": {"filters": [{"_type": "ZstdFilter", "level": 3}], "tile": obs_tile_extent},
"soma_dim_1": {"filters": [{"_type": "ZstdFilter", "level": 3}], "tile": var_tile_extent},
},
attrs={
"soma_data": {"filters": [{"_type": "ZstdFilter", "level": 3}]},
},
)
Describe the bug
To Reproduce
Versions (please complete the following information):
Additional context
When I remove the obs_query the error doesn't happen
query = exp.axis_query("RNA", var_query=var_query)This is the
platform_configused withtiledbsoma.io.from_anndatato create the data