[
https://issues.apache.org/jira/browse/ARROW-6470?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Wamsi Viswanath updated ARROW-6470:
-----------------------------------
Description:
Below is a simple reproducible example, please let me know if the behavior is
valid:
```
#include <arrow/api.h>
#include <arrow/io/memory.h>
#include <arrow/ipc/api.h>
#include <cstdio>
#include <iostream>
int main() {
std::shared_ptr<arrow::Schema> schema =
arrow::schema(\{arrow::field("int_", arrow::int32(), false)});
std::vector<std::shared_ptr<arrow::Array>> arrays = {};
std::shared_ptr<arrow::RecordBatch> record_batch =
arrow::RecordBatch::Make(schema, arrays[0]->length(), arrays);
std::shared_ptr<arrow::Buffer> serialized_buffer;
if (!arrow::ipc::SerializeRecordBatch(
*record_batch, arrow::default_memory_pool(), &serialized_buffer)
.ok()) {
throw std::runtime_error("Error: Serializing Records.");
}
}
```
was:
Below is a simple reproducible example, please let me know if the behavior is
valid:
```
{color:#ffa759}int{color} {color:#ffd580}main{color}{color:#cbccc6}(){color}
{color:#cbccc6}{{color}
{color:#73d0ff}std{color}{color:#cbccc6}::{color}{color:#cbccc6}shared_ptr{color}{color:#f29e74}<{color}{color:#73d0ff}arrow{color}{color:#cbccc6}::{color}{color:#cbccc6}Schema{color}{color:#f29e74}>{color}{color:#cbccc6}
schema {color}{color:#f29e74}={color}
{color:#73d0ff}arrow{color}{color:#cbccc6}::{color}{color:#ffd580}schema{color}{color:#cbccc6}({{color}{color:#73d0ff}arrow{color}{color:#cbccc6}::{color}{color:#ffd580}field{color}{color:#cbccc6}({color}{color:#bae67e}"int_"{color}{color:#cbccc6},{color}
{color:#73d0ff}arrow{color}{color:#cbccc6}::{color}{color:#ffd580}int32{color}{color:#cbccc6}(){color}{color:#cbccc6},{color}
{color:#ffcc66}false{color}{color:#cbccc6})}){color}{color:#cbccc6};{color}
{color:#73d0ff}std{color}{color:#cbccc6}::{color}{color:#cbccc6}vector{color}{color:#f29e74}<{color}{color:#73d0ff}std{color}{color:#cbccc6}::{color}{color:#cbccc6}shared_ptr{color}{color:#f29e74}<{color}{color:#73d0ff}arrow{color}{color:#cbccc6}::{color}{color:#cbccc6}Array{color}{color:#f29e74}>>{color}{color:#cbccc6}
arrays {color}{color:#f29e74}={color}
{color:#cbccc6}{}{color}{color:#cbccc6};{color}
{color:#73d0ff}std{color}{color:#cbccc6}::{color}{color:#cbccc6}shared_ptr{color}{color:#f29e74}<{color}{color:#73d0ff}arrow{color}{color:#cbccc6}::{color}{color:#cbccc6}RecordBatch{color}{color:#f29e74}>{color}{color:#cbccc6}
record_batch {color}{color:#f29e74}={color}
{color:#73d0ff}arrow{color}{color:#cbccc6}::{color}{color:#73d0ff}RecordBatch{color}{color:#cbccc6}::{color}{color:#ffd580}Make{color}{color:#cbccc6}({color}{color:#cbccc6}schema{color}{color:#cbccc6},{color}
{color:#cbccc6}arrays{color}{color:#cbccc6}[{color}{color:#ffcc66}0{color}{color:#cbccc6}]{color}{color:#cbccc6}->{color}{color:#ffd580}length{color}{color:#cbccc6}(){color}{color:#cbccc6},{color}{color:#cbccc6}
arrays{color}{color:#cbccc6}){color}{color:#cbccc6};{color}
{color:#73d0ff}std{color}{color:#cbccc6}::{color}{color:#cbccc6}shared_ptr{color}{color:#f29e74}<{color}{color:#73d0ff}arrow{color}{color:#cbccc6}::{color}{color:#cbccc6}Buffer{color}{color:#f29e74}>{color}{color:#cbccc6}
serialized_buffer{color}{color:#cbccc6};{color}
{color:#ffa759}if{color}
{color:#cbccc6}({color}{color:#f29e74}!{color}{color:#73d0ff}arrow{color}{color:#cbccc6}::{color}{color:#73d0ff}ipc{color}{color:#cbccc6}::{color}{color:#ffd580}SerializeRecordBatch{color}{color:#cbccc6}({color}
{color:#f29e74}*{color}{color:#cbccc6}record_batch{color}{color:#cbccc6},{color}
{color:#73d0ff}arrow{color}{color:#cbccc6}::{color}{color:#ffd580}default_memory_pool{color}{color:#cbccc6}(){color}{color:#cbccc6},{color}
{color:#f29e74}&{color}{color:#cbccc6}serialized_buffer{color}{color:#cbccc6}){color}
{color:#cbccc6} .{color}{color:#ffd580}ok{color}{color:#cbccc6}()){color}
{color:#cbccc6}{{color}
{color:#ffa759}throw{color}
{color:#73d0ff}std{color}{color:#cbccc6}::{color}{color:#ffd580}runtime_error{color}{color:#cbccc6}({color}{color:#bae67e}"Error:
Serializing Records."{color}{color:#cbccc6}){color}{color:#cbccc6};{color}
}
```
> Segmentation fault when trying to serialzie empty SerializeRecordBatch
> -----------------------------------------------------------------------
>
> Key: ARROW-6470
> URL: https://issues.apache.org/jira/browse/ARROW-6470
> Project: Apache Arrow
> Issue Type: Bug
> Components: C++
> Affects Versions: 0.13.0
> Reporter: Wamsi Viswanath
> Priority: Major
>
> Below is a simple reproducible example, please let me know if the behavior is
> valid:
> ```
> #include <arrow/api.h>
> #include <arrow/io/memory.h>
> #include <arrow/ipc/api.h>
> #include <cstdio>
> #include <iostream>
> int main() {
> std::shared_ptr<arrow::Schema> schema =
> arrow::schema(\{arrow::field("int_", arrow::int32(), false)});
> std::vector<std::shared_ptr<arrow::Array>> arrays = {};
> std::shared_ptr<arrow::RecordBatch> record_batch =
> arrow::RecordBatch::Make(schema, arrays[0]->length(), arrays);
> std::shared_ptr<arrow::Buffer> serialized_buffer;
> if (!arrow::ipc::SerializeRecordBatch(
> *record_batch, arrow::default_memory_pool(), &serialized_buffer)
> .ok()) {
> throw std::runtime_error("Error: Serializing Records.");
> }
> }
> ```
--
This message was sent by Atlassian Jira
(v8.3.2#803003)