[ https://issues.apache.org/jira/browse/ARROW-18360?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bryan Cutler updated ARROW-18360: --------------------------------- Priority: Minor (was: Major) > [Python] Incorrectly passing schema=None to do_put crashes > ---------------------------------------------------------- > > Key: ARROW-18360 > URL: https://issues.apache.org/jira/browse/ARROW-18360 > Project: Apache Arrow > Issue Type: Bug > Components: Python > Affects Versions: 9.0.0 > Reporter: Bryan Cutler > Priority: Minor > > In pyarrow.flight, putting an incorrect value of None for schema in do_put > will lead to a core dump. > In pyarrow 9.0.0, trying to enter the command leads to a > {code} > In [3]: writer, reader = > client.do_put(flight.FlightDescriptor.for_command(cmd), schema=None) > Segmentation fault (core dumped) > {code} > In pyarrow 7.0.0, the kernel crashes after attempting to access the writer > and I got the following: > {code} > In [38]: client = flight.FlightClient('grpc+tls://localhost:9643', > disable_server_verification=True) > In [39]: writer, reader = > client.do_put(flight.FlightDescriptor.for_command(cmd), None) > In [40]: > writer./home/conda/feedstock_root/build_artifacts/arrow-cpp-ext_1644752264449/work/cpp/src/arrow/flight/client.cc:736: > Check failed: (batch_writer_) != (nullptr) > miniconda3/envs/dev/lib/python3.10/site-packages/pyarrow/../../../libarrow.so.700(+0x66288c)[0x7f0feeae088c] > miniconda3/envs/dev/lib/python3.10/site-packages/pyarrow/../../../libarrow.so.700(_ZN5arrow4util8ArrowLogD1Ev+0x101)[0x7f0feeae0c91] > miniconda3/envs/dev/lib/python3.10/site-packages/pyarrow/../../../libarrow_flight.so.700(+0x7c1e1)[0x7f0fa9e331e1] > miniconda3/envs/dev/lib/python3.10/site-packages/pyarrow/lib.cpython-310-x86_64-linux-gnu.so(+0x17cf1a)[0x7f0fefe7ff1a] > miniconda3/envs/dev/bin/python(_PyObject_GenericGetAttrWithDict+0x4f3)[0x559a7cb8da03] > miniconda3/envs/dev/bin/python(+0x144814)[0x559a7cb8f814] > miniconda3/envs/dev/bin/python(+0x1445bf)[0x559a7cb8f5bf] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x30c)[0x559a7cb7ebcc] > miniconda3/envs/dev/bin/python(+0x1516ac)[0x559a7cb9c6ac] > miniconda3/envs/dev/bin/python(PyObject_Call+0xb8)[0x559a7cb9d348] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x2b05)[0x559a7cb813c5] > miniconda3/envs/dev/bin/python(_PyFunction_Vectorcall+0x6f)[0x559a7cb8f3cf] > miniconda3/envs/dev/bin/python(+0x1ead44)[0x559a7cc35d44] > miniconda3/envs/dev/bin/python(+0x220397)[0x559a7cc6b397] > miniconda3/envs/dev/bin/python(PyObject_Call+0xb8)[0x559a7cb9d348] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x2b05)[0x559a7cb813c5] > miniconda3/envs/dev/bin/python(_PyFunction_Vectorcall+0x6f)[0x559a7cb8f3cf] > miniconda3/envs/dev/bin/python(PyObject_Call+0xb8)[0x559a7cb9d348] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x2b05)[0x559a7cb813c5] > miniconda3/envs/dev/bin/python(+0x1516ac)[0x559a7cb9c6ac] > miniconda3/envs/dev/bin/python(PyObject_Call+0xb8)[0x559a7cb9d348] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x2b05)[0x559a7cb813c5] > miniconda3/envs/dev/bin/python(+0x151ef3)[0x559a7cb9cef3] > miniconda3/envs/dev/bin/python(+0x1ead44)[0x559a7cc35d44] > miniconda3/envs/dev/bin/python(+0x220397)[0x559a7cc6b397] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x1311)[0x559a7cb7fbd1] > miniconda3/envs/dev/bin/python(_PyFunction_Vectorcall+0x6f)[0x559a7cb8f3cf] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x30c)[0x559a7cb7ebcc] > miniconda3/envs/dev/bin/python(_PyFunction_Vectorcall+0x6f)[0x559a7cb8f3cf] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x2b05)[0x559a7cb813c5] > miniconda3/envs/dev/bin/python(_PyFunction_Vectorcall+0x6f)[0x559a7cb8f3cf] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x66f)[0x559a7cb7ef2f] > miniconda3/envs/dev/bin/python(+0x14fc9d)[0x559a7cb9ac9d] > miniconda3/envs/dev/bin/python(_PyObject_GenericGetAttrWithDict+0x4f3)[0x559a7cb8da03] > miniconda3/envs/dev/bin/python(PyObject_GetAttr+0x44)[0x559a7cb8c494] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x4d8f)[0x559a7cb8364f] > miniconda3/envs/dev/bin/python(+0x14fc9d)[0x559a7cb9ac9d] > miniconda3/envs/dev/bin/python(+0x1416f5)[0x559a7cb8c6f5] > miniconda3/envs/dev/bin/python(PyObject_GetAttr+0x52)[0x559a7cb8c4a2] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x4d8f)[0x559a7cb8364f] > miniconda3/envs/dev/bin/python(+0x14fc9d)[0x559a7cb9ac9d] > miniconda3/envs/dev/bin/python(_PyObject_GenericGetAttrWithDict+0x4f3)[0x559a7cb8da03] > miniconda3/envs/dev/bin/python(PyObject_GetAttr+0x44)[0x559a7cb8c494] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x4d8f)[0x559a7cb8364f] > miniconda3/envs/dev/bin/python(+0x15a178)[0x559a7cba5178] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x9ca)[0x559a7cb7f28a] > miniconda3/envs/dev/bin/python(+0x15a178)[0x559a7cba5178] > miniconda3/envs/dev/bin/python(+0x1602d9)[0x559a7cbab2d9] > miniconda3/envs/dev/bin/python(+0x19d5f5)[0x559a7cbe85f5] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x30c)[0x559a7cb7ebcc] > miniconda3/envs/dev/bin/python(+0x15a178)[0x559a7cba5178] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x9ca)[0x559a7cb7f28a] > miniconda3/envs/dev/bin/python(+0x1f436d)[0x559a7cc3f36d] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x1ae1)[0x559a7cb803a1] > miniconda3/envs/dev/bin/python(+0x15a178)[0x559a7cba5178] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x9ca)[0x559a7cb7f28a] > miniconda3/envs/dev/bin/python(+0x1f436d)[0x559a7cc3f36d] > miniconda3/envs/dev/bin/python(+0x209ae9)[0x559a7cc54ae9] > miniconda3/envs/dev/bin/python(+0x104a5c)[0x559a7cb4fa5c] > miniconda3/envs/dev/bin/python(PyIter_Send+0x53a)[0x559a7cc0dc6a] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x1ae1)[0x559a7cb803a1] > miniconda3/envs/dev/bin/python(+0x1f436d)[0x559a7cc3f36d] > miniconda3/envs/dev/bin/python(+0x209ae9)[0x559a7cc54ae9] > miniconda3/envs/dev/bin/python(+0x104a5c)[0x559a7cb4fa5c] > miniconda3/envs/dev/bin/python(PyIter_Send+0x53a)[0x559a7cc0dc6a] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x1ae1)[0x559a7cb803a1] > miniconda3/envs/dev/bin/python(+0x1f436d)[0x559a7cc3f36d] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x1ae1)[0x559a7cb803a1] > miniconda3/envs/dev/bin/python(+0x1f436d)[0x559a7cc3f36d] > miniconda3/envs/dev/lib/python3.10/lib-dynload/_asyncio.cpython-310-x86_64-linux-gnu.so(+0x78d0)[0x7f0ff5eeb8d0] > miniconda3/envs/dev/bin/python(_PyObject_MakeTpCall+0x338)[0x559a7cb88298] > miniconda3/envs/dev/bin/python(+0xfe792)[0x559a7cb49792] > miniconda3/envs/dev/bin/python(+0x13b8e7)[0x559a7cb868e7] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x5aec)[0x559a7cb843ac] > miniconda3/envs/dev/bin/python(_PyFunction_Vectorcall+0x6f)[0x559a7cb8f3cf] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x66f)[0x559a7cb7ef2f] > miniconda3/envs/dev/bin/python(_PyFunction_Vectorcall+0x6f)[0x559a7cb8f3cf] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x66f)[0x559a7cb7ef2f] > miniconda3/envs/dev/bin/python(_PyFunction_Vectorcall+0x6f)[0x559a7cb8f3cf] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x66f)[0x559a7cb7ef2f] > miniconda3/envs/dev/bin/python(_PyFunction_Vectorcall+0x6f)[0x559a7cb8f3cf] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x66f)[0x559a7cb7ef2f] > miniconda3/envs/dev/bin/python(+0x1516ac)[0x559a7cb9c6ac] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x1311)[0x559a7cb7fbd1] > miniconda3/envs/dev/bin/python(+0x1516ac)[0x559a7cb9c6ac] > miniconda3/envs/dev/bin/python(PyObject_Call+0xb8)[0x559a7cb9d348] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x2b05)[0x559a7cb813c5] > miniconda3/envs/dev/bin/python(_PyFunction_Vectorcall+0x6f)[0x559a7cb8f3cf] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x66f)[0x559a7cb7ef2f] > miniconda3/envs/dev/bin/python(_PyFunction_Vectorcall+0x6f)[0x559a7cb8f3cf] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x66f)[0x559a7cb7ef2f] > miniconda3/envs/dev/bin/python(_PyFunction_Vectorcall+0x6f)[0x559a7cb8f3cf] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x66f)[0x559a7cb7ef2f] > miniconda3/envs/dev/bin/python(_PyFunction_Vectorcall+0x6f)[0x559a7cb8f3cf] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x66f)[0x559a7cb7ef2f] > miniconda3/envs/dev/bin/python(+0x1516ac)[0x559a7cb9c6ac] > miniconda3/envs/dev/bin/python(PyObject_Call+0xb8)[0x559a7cb9d348] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x2b05)[0x559a7cb813c5] > miniconda3/envs/dev/bin/python(_PyFunction_Vectorcall+0x6f)[0x559a7cb8f3cf] > miniconda3/envs/dev/bin/python(_PyEval_EvalFrameDefault+0x30c)[0x559a7cb7ebcc] > miniconda3/envs/dev/bin/python(+0x1eab92)[0x559a7cc35b92] > miniconda3/envs/dev/bin/python(PyEval_EvalCode+0x87)[0x559a7cc35ad7] > miniconda3/envs/dev/bin/python(+0x21d709)[0x559a7cc68709] > miniconda3/envs/dev/bin/python(+0x2183f4)[0x559a7cc633f4] > miniconda3/envs/dev/bin/python(+0x982ba)[0x559a7cae32ba] > miniconda3/envs/dev/bin/python(_PyRun_SimpleFileObject+0x1af)[0x559a7cc5d5cf] > miniconda3/envs/dev/bin/python(_PyRun_AnyFileObject+0x43)[0x559a7cc5d3a3] > miniconda3/envs/dev/bin/python(Py_RunMain+0x39f)[0x559a7cc5a56f] > miniconda3/envs/dev/bin/python(Py_BytesMain+0x39)[0x559a7cc28e09] > /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0x7f0ff77df083] > miniconda3/envs/dev/bin/python(+0x1ddd11)[0x559a7cc28d11] > Aborted (core dumped) > {code} > I know it's incorrect to use None, but we have had a report of this crashing > notebook kernels. -- This message was sent by Atlassian Jira (v8.20.10#820010)