GH-51018: [C++] Fix indices_nonzero segfault on chunkless ChunkedArray - #51021
Open
waterWang wants to merge 1 commit into
Open
GH-51018: [C++] Fix indices_nonzero segfault on chunkless ChunkedArray#51021waterWang wants to merge 1 commit into
waterWang wants to merge 1 commit into
Conversation
…edArray Calling indices_nonzero on a ChunkedArray with zero chunks (e.g. the shape produced by filtering a table down to no rows) segfaulted. IndicesNonZeroExecChunked built an empty vector of ArraySpans, and DoNonZero unconditionally dereferenced arrays[0].type, performing an out-of-bounds vector access. Guard DoNonZero so an empty chunk vector yields an empty result, consistent with the zero-length Array and single-empty-chunk cases.
pitrou
approved these changes
Aug 31, 2026
Member
|
Thanks @waterWang . I've trimmed the verbosity from the PR message (was it AI-generated?) and will merge if CI is green. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rationale for this change
pyarrow.compute.indices_nonzero()segfaults (SIGSEGV) on aChunkedArraywith zero chunks. A zero-lengthArrayand aChunkedArrayholding one empty chunk both work; only the chunkless case crashes.Are these changes tested?
Yes, by new test case.
Are there any user-facing changes?
Only a bugfix.