[
https://issues.apache.org/jira/browse/ARROW-3346?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexey Strokach updated ARROW-3346:
-----------------------------------
Description:
pyarrow (version 0.10.0) appears to crash sporadically with a segmentation
fault when reading parquet files if it is used in a program where torch is
imported first.
A self-contained example is available here:
[https://gitlab.com/ostrokach/pyarrow_pytorch_segfault].
Basically, running
{{python -X faulthandler -c "import torch; import pyarrow.parquet as pq; _ =
pq.ParquetFile('example.parquet').read_row_group(0)"}}
sooner or later results in a segfault:
{{Fatal Python error: Segmentation fault}}
{{Current thread 0x00007f52959bb740 (most recent call first):}}
{{File
"/home/kimlab1/strokach/anaconda/lib/python3.6/site-packages/pyarrow/parquet.py",
line 125 in read_row_group}}
{{File "<string>", line 1 in <module>}}
{{./test_fail.sh: line 5: 42612 Segmentation fault (core dumped) python -X
faulthandler -c "import torch; import pyarrow.parquet as pq; _ =
pq.ParquetFile('example.parquet').read_row_group(0)"}}
The number of iterations before a segfault varies, but it usually happens
within the first several calls.
Running
{{python -X faulthandler -c "import pyarrow.parquet as pq import torch; _ =
pq.ParquetFile('example.parquet').read_row_group(0)"}}
works without a problem.
was:
pyarrow (version 0.10.0) appears to crash sporadically with a segmentation
fault when reading parquet files if it is used in a program where torch is
imported first.
A self-contained example is available here:
[https://gitlab.com/ostrokach/pyarrow_pytorch_segfault].
Basically, running
{{python -X faulthandler -c "import torch; import pyarrow.parquet as pq; _ =
pq.ParquetFile('example.parquet').read_row_group(0)"}}
sooner or later results in a segfault:
{{Fatal Python error: Segmentation fault}}
{{Current thread 0x00007f52959bb740 (most recent call first):}}
{{File
"/home/kimlab1/strokach/anaconda/lib/python3.6/site-packages/pyarrow/parquet.py",
line 125 in read_row_group}}
{{File "<string>", line 1 in <module>}}
{{./test_fail.sh: line 5: 42612 Segmentation fault (core dumped) python -X
faulthandler -c "import torch; import pyarrow.parquet as pq; _ =
pq.ParquetFile('example.parquet').read_row_group(0)"}}
{{The number of iterations before a segfault varies, but it usually happens
within the first several calls.}}
Running
{{python -X faulthandler -c "import pyarrow.parquet as pq import torch; _ =
pq.ParquetFile('example.parquet').read_row_group(0)"}}
works without a problem.
> Segfault when reading parquet files if torch is imported before pyarrow
> -----------------------------------------------------------------------
>
> Key: ARROW-3346
> URL: https://issues.apache.org/jira/browse/ARROW-3346
> Project: Apache Arrow
> Issue Type: Bug
> Components: Python
> Affects Versions: 0.10.0
> Reporter: Alexey Strokach
> Priority: Major
>
> pyarrow (version 0.10.0) appears to crash sporadically with a segmentation
> fault when reading parquet files if it is used in a program where torch is
> imported first.
> A self-contained example is available here:
> [https://gitlab.com/ostrokach/pyarrow_pytorch_segfault].
> Basically, running
> {{python -X faulthandler -c "import torch; import pyarrow.parquet as pq; _ =
> pq.ParquetFile('example.parquet').read_row_group(0)"}}
> sooner or later results in a segfault:
> {{Fatal Python error: Segmentation fault}}
> {{Current thread 0x00007f52959bb740 (most recent call first):}}
> {{File
> "/home/kimlab1/strokach/anaconda/lib/python3.6/site-packages/pyarrow/parquet.py",
> line 125 in read_row_group}}
> {{File "<string>", line 1 in <module>}}
> {{./test_fail.sh: line 5: 42612 Segmentation fault (core dumped) python -X
> faulthandler -c "import torch; import pyarrow.parquet as pq; _ =
> pq.ParquetFile('example.parquet').read_row_group(0)"}}
> The number of iterations before a segfault varies, but it usually happens
> within the first several calls.
> Running
> {{python -X faulthandler -c "import pyarrow.parquet as pq import torch; _ =
> pq.ParquetFile('example.parquet').read_row_group(0)"}}
> works without a problem.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)