Joris Van den Bossche created ARROW-15652: ---------------------------------------------
Summary: [C++] GDB plugin printer gives error with extension type Key: ARROW-15652 URL: https://issues.apache.org/jira/browse/ARROW-15652 Project: Apache Arrow Issue Type: Bug Components: C++ Reporter: Joris Van den Bossche Copying the example from ARROW-9078 {code} import pyarrow as pa import pyarrow.parquet as pq class MyStructType(pa.PyExtensionType): def __init__(self): pa.PyExtensionType.__init__(self, pa.struct([('left', pa.int64()), ('right', pa.int64())])) def __reduce__(self): return MyStructType, () struct_array = pa.StructArray.from_arrays( [ pa.array([0, 1], type="int64", from_pandas=True), pa.array([1, 2], type="int64", from_pandas=True), ], names=["left", "right"], ) mystruct_array = pa.ExtensionArray.from_storage(MyStructType(), struct_array) table = pa.table({'a': mystruct_array}) pq.write_table(table, "test_struct.parquet") {code} What I was doing is then reading the table back in, with a breakpoint at {{ApplyOriginalMetadata}}. But I suppose any other way to get into the debugger is fine as well (and maybe also with a simpler extension type, i.e. not with a struct type as storage type, I didn't yet try that). This gives: {code} (gdb) p origin_field $3 = (const arrow::Field &) @0x555bbb308190: Python Exception <class 'gdb.error'> A syntax error in expression, near `) (0x555bbb277020)).ToString()'.: arrow::field("a", ) {code} for the field/type being extension type cc [~apitrou] -- This message was sent by Atlassian Jira (v8.20.1#820001)