zanmato1984 opened a new issue, #39583: URL: https://github.com/apache/arrow/issues/39583
### Describe the bug, including details regarding any error messages, version, and platform. This is a subsequent issue of https://github.com/apache/arrow/issues/32570. In the last fix https://github.com/apache/arrow/pull/39234, I didn't realize there were similar issue for fixed size types. I am now able to produce the segmentation fault using fixed size types, listed in the following UT: ``` TEST(ExecBatchBuilder, AppendBatchDupRowsFixedSize) { std::unique_ptr<MemoryPool> owned_pool = MemoryPool::CreateDefault(); MemoryPool* pool = owned_pool.get(); { // 63-byte data occupying almost one minimal 64-byte aligned memory region. ExecBatch batch_fsb = JSONToExecBatch({fixed_size_binary(9)}, R"([ ["000000000"], ["000000000"], ["000000000"], ["000000000"], ["000000000"], ["000000000"], ["123456789"]])"); // 9-byte tail row, not aligned to a word. ASSERT_EQ(batch_fsb[0].array()->buffers[1]->capacity(), 64); ExecBatchBuilder builder; uint16_t row_ids[2] = {6, 6}; ASSERT_OK(builder.AppendSelected(pool, batch_fsb, 2, row_ids, /*num_cols=*/1)); ExecBatch built = builder.Flush(); ExecBatch batch_fsb_appended = JSONToExecBatch({fixed_size_binary(9)}, R"([["123456789"], ["123456789"]])"); ASSERT_EQ(batch_fsb_appended, built); ASSERT_NE(0, pool->bytes_allocated()); } ASSERT_EQ(0, pool->bytes_allocated()); } ``` ### Component(s) C++ -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
