Skip to content

DType::from_arrow panics with unimplemented! for Duration, Interval and FixedSizeBinary instead of returning an error #8346

Closed

Description

@joseph-isaacs

Found by the Python API Hypothesis fuzzer (vortex-python/test/test_fuzz_file_roundtrip.py).

DType::from_arrow hits the unimplemented!() fallback arm in vortex-array/src/dtype/arrow.rs for unsupported Arrow types, which surfaces in Python as a pyo3_runtime.PanicException instead of a clean ValueError.

import pyarrow as pa
import vortex as vx

vx.array(pa.table({"c0": pa.array([1, 2], type=pa.duration("us"))}))
# pyo3_runtime.PanicException: not implemented: Arrow data type not yet supported: Duration(Microsecond)

vx.array(pa.table({"c0": pa.array([b"abc"], type=pa.binary(3))}))
# pyo3_runtime.PanicException: not implemented: Arrow data type not yet supported: FixedSizeBinary(3)

The fallback arm should return a VortexError (e.g. via a TryFrom-style conversion) so unsupported types fail cleanly. The fuzzer currently excludes Duration and FixedSizeBinary from generation; once this is fixed, those exclusions can be lifted and the clean error will be routed to the existing unsupported-type skip path.

Activity

  1. added a commit that references this issue on Jun 24, 2026
    2a19323
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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