[
https://issues.apache.org/jira/browse/ARROW-4774?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Francois Saint-Jacques updated ARROW-4774:
------------------------------------------
Description:
When writing a table to a parquet file that contains both flat arrays of
different leng
Reproducer:
{code:python}
import pyarrow as pa
import pyarrow.parquet as pq
import numpy as np
array1 = np.array([0, 1, 2], dtype=np.uint8)
array2 = np.array([[0,1,2], [3, 4, 5]], dtype=np.uint8).T
t1 = pa.uint8()
t2 = pa.list_(pa.uint8())
fields = [
pa.field('a1', t1),
pa.field('a2', t2)
]
myschema = pa.schema(fields)
mytable = pa.Table.from_arrays([
pa.array(array1, type=t1),
pa.array([array2[:,0], array2[:,1]], type=t2)],
schema=myschema)
pq.write_table(mytable, 'example.parquet')
{code}
Windows 10 (Python 3.6.4 64-bit, pyarrow 0.11.1) crash code:
{code:bash}
Process finished with exit code -1073741819 (0xC0000005)
{code}
WSL (Python 3.6.5 64-bit, pyarrow 0.12.1) Crash code:
{code:bash}
Segmentation fault (core dumped)
{code}
was:
When writing a table to a parquet file that contains both flat arrays and
nested array data it causes the Python to crash
Reproducer:
{code:python}
import pyarrow as pa
import pyarrow.parquet as pq
import numpy as np
array1 = np.array([0, 1, 2], dtype=np.uint8)
array2 = np.array([[0,1,2], [3, 4, 5]], dtype=np.uint8).T
t1 = pa.uint8()
t2 = pa.list_(pa.uint8())
fields = [
pa.field('a1', t1),
pa.field('a2', t2)
]
myschema = pa.schema(fields)
mytable = pa.Table.from_arrays([
pa.array(array1, type=t1),
pa.array([array2[:,0], array2[:,1]], type=t2)],
schema=myschema)
pq.write_table(mytable, 'example.parquet')
{code}
Windows 10 (Python 3.6.4 64-bit, pyarrow 0.11.1) crash code:
{code:bash}
Process finished with exit code -1073741819 (0xC0000005)
{code}
WSL (Python 3.6.5 64-bit, pyarrow 0.12.1) Crash code:
{code:bash}
Segmentation fault (core dumped)
{code}
Summary: [C++][Parquet] crash writing invalid table (was:
[C++][Parquet] crash writing nested array to parquet)
> [C++][Parquet] crash writing invalid table
> ------------------------------------------
>
> Key: ARROW-4774
> URL: https://issues.apache.org/jira/browse/ARROW-4774
> Project: Apache Arrow
> Issue Type: Bug
> Components: C++
> Affects Versions: 0.11.1, 0.12.1
> Environment: Windows 10 16299.431, Python 3.6.4 64-bit, pyarrow 0.11.1
> Windows Linux (WSL) Ubuntu 18.04.1, Python 3.6.5 64-bit, pyarrow 0.12.1
> Reporter: Stephen Gallagher
> Assignee: Francois Saint-Jacques
> Priority: Blocker
> Labels: pull-request-available
> Time Spent: 10m
> Remaining Estimate: 0h
>
> When writing a table to a parquet file that contains both flat arrays of
> different leng
> Reproducer:
> {code:python}
> import pyarrow as pa
> import pyarrow.parquet as pq
> import numpy as np
> array1 = np.array([0, 1, 2], dtype=np.uint8)
> array2 = np.array([[0,1,2], [3, 4, 5]], dtype=np.uint8).T
> t1 = pa.uint8()
> t2 = pa.list_(pa.uint8())
> fields = [
> pa.field('a1', t1),
> pa.field('a2', t2)
> ]
> myschema = pa.schema(fields)
> mytable = pa.Table.from_arrays([
> pa.array(array1, type=t1),
> pa.array([array2[:,0], array2[:,1]], type=t2)],
> schema=myschema)
> pq.write_table(mytable, 'example.parquet')
> {code}
> Windows 10 (Python 3.6.4 64-bit, pyarrow 0.11.1) crash code:
> {code:bash}
> Process finished with exit code -1073741819 (0xC0000005)
> {code}
> WSL (Python 3.6.5 64-bit, pyarrow 0.12.1) Crash code:
> {code:bash}
> Segmentation fault (core dumped)
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)