Skip to content

[Go][Compute] Panic in isIn kernel for FixedSizeBinary: slice bounds out of range in bufferbuilder.go #785

@Patzifist

Description

@Patzifist

Describe the bug, including details regarding any error messages, version, and platform.

Description:
I am encountering a runtime panic when executing a SetLookup (IsIn) operation on a FixedSizeBinary column using the Go implementation of Apache Arrow (v18).
The stack trace indicates that the panic occurs within visitFSB (Fixed Size Binary visitor) inside the isInKernelExec. Specifically, it fails when the BinaryMemoTable attempts to look up values, leading to an invalid slice operation in the underlying bufferBuilder.

Steps to Reproduce:
Data: TPC-DS dataset SF1

The issue appears when using a filter with an IN clause on a column with a fixed-size type.
Example logic:

-- i_category is a FixedSizeBinary type
SELECT i_item_id, i_item_desc, i_category, i_current_price
FROM item
WHERE i_category IN ('Sports', 'Books', 'Home', 'Test');

Observed Behavior:
The application panics with:

panic: runtime error: slice bounds out of range [:16] with capacity 0

goroutine 3835099 [running]:
://github.com
arrow/array/bufferbuilder.go:85
...
://github.com
arrow/compute/internal/kernels/scalar_set_lookup.go:75
://github.com
arrow/compute/internal/kernels/scalar_set_lookup.go:73

Component(s)

Parquet, Other

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type: bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions