What happened?
TablePro terminates when browsing an Oracle spatial table containing an MDSYS.SDO_GEOMETRY column. This was verified on a real Oracle 12.1.0.2 database using read-only operations.
I reproduced two new process crashes during this investigation: opening the spatial table in the data view, and executing the ordered/paginated SELECT * below through TablePro MCP. Both generated new macOS crash reports with EXC_BREAKPOINT / SIGTRAP in OracleDriver, on nio.nioTransportServices.connectionchannel, with identical image offsets and decoder frames.
On another UI attempt, the app stayed open but displayed: "The server sent an unexpected message; the connection was reset. Please rerun the query." (translated from the Chinese UI).
Connection, schema/table metadata, and non-spatial reads all work. The tested table is partitioned and contains NUMBER, NVARCHAR2, a nullable SHAPE (SDO_GEOMETRY), and BLOB columns.
Server: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0, 64-bit.
Steps to reproduce
Schema/table names and the ordinary identifier column below are anonymized. ID represents the first numeric column of the tested table.
- Connect to an Oracle 12.1.0.2 database.
- Open an existing spatial table containing MDSYS.SDO_GEOMETRY in the sidebar. The tested data view had a page size of 1,000.
- TablePro may terminate during result decoding.
The following query independently reproduced the process crash:
SELECT *
FROM "APP_SCHEMA"."SPATIAL_POINTS"
ORDER BY 1
OFFSET 0 ROWS FETCH NEXT 1000 ROWS ONLY;
This matches the browse-query shape produced by OraclePluginDriver.buildBrowseQuery.
Verified controls and scope
| Read-only check |
Result |
| Table metadata and Oracle version |
Succeeded |
| Same ordered/paginated 1,000-row query selecting every column except SHAPE, including BLOB |
Succeeded, 1,000 rows |
| Same ordering/pagination with ID and SDO_UTIL.TO_WKTGEOMETRY(SHAPE) |
Succeeded, 1,000 non-NULL WKT values |
| Unordered SELECT * with ROWNUM limits of 1, 10 and 100 |
Succeeded; SHAPE displayed as <unsupported: unknown> |
| Unordered SELECT * FETCH FIRST 1000 ROWS ONLY |
Succeeded, 1,000 rows |
| SHAPE alone from an unordered first row |
Returned <unsupported: unknown> |
| Synthetic points from DUAL using SDO_POINT_TYPE or element/ordinate arrays |
Returned <unsupported: unknown> without crashing |
| Opening the actual spatial table |
Process crash; another attempt produced connection-reset error |
| Ordered/paginated SELECT * above |
Process crash with the same stack |
The working WKT control was:
SELECT ID, SDO_UTIL.TO_WKTGEOMETRY(SHAPE) AS SHAPE_WKT
FROM "APP_SCHEMA"."SPATIAL_POINTS"
ORDER BY 1
OFFSET 0 ROWS FETCH NEXT 1000 ROWS ONLY;
These results do not establish that every SDO_GEOMETRY query crashes. The exact triggering object/row or protocol condition is still unknown. The ordered browse result and raw spatial-object decoding are implicated by the controls, but the root cause has not been proven. I do not have a confirmed standalone synthetic reproducer yet.
Expected behavior
Opening the table or selecting its spatial column should not terminate the application. Unsupported spatial objects should produce a safe placeholder or a handled error, and the Oracle connection should remain usable.
Database type
Oracle
TablePro version
0.77.0 (134); Oracle Driver plugin 1.2.32 (1)
macOS version & chip
macOS 27.0.1 (26A434) / Apple Silicon, ARM64 native
Screenshots / Logs
Sanitized excerpt from the two new crash reports (2026-10-02). No database addresses, credentials, business records, coordinates, local usernames, or machine/incident identifiers are included.
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Termination Reason: SIGNAL, Code 5, Trace/BPT trap: 5
Crashed queue: nio.nioTransportServices.connectionchannel
Frame Image Symbol / image-relative offset (decimal)
0 OracleDriver [unsymbolicated] +602356
1 OracleDriver [unsymbolicated] +1208944
2 OracleDriver [unsymbolicated] +1279908
3 OracleDriver [unsymbolicated] +1285744
4 OracleDriver [unsymbolicated] +1280928
5 OracleDriver [unsymbolicated] +1179020
6 OracleDriver [unsymbolicated] +1187576
7 OracleDriver [unsymbolicated] +1183044
8 OracleDriver [unsymbolicated] +2430612
9 OracleDriver [unsymbolicated] +2430660
10 OracleDriver ChannelHandlerContext.fireChannelRead(_:) +40
image-relative offset: 2412700
11 OracleDriver OracleBackendMessageDecoder.decode(context:buffer:) +268
image-relative offset: 1043680
12 OracleDriver [unsymbolicated] +1050812
13 OracleDriver [unsymbolicated] +2486604
14 OracleDriver [unsymbolicated] +2485948
15 OracleDriver ByteToMessageHandler.channelRead(context:data:) +220
image-relative offset: 2487956
For triage, this appears different from #1746 (crash during connection testing): login and queries succeed here, and failure occurs while decoding a spatial-table browse result.
All investigation queries were read-only. No database data or structure was changed.
What happened?
TablePro terminates when browsing an Oracle spatial table containing an MDSYS.SDO_GEOMETRY column. This was verified on a real Oracle 12.1.0.2 database using read-only operations.
I reproduced two new process crashes during this investigation: opening the spatial table in the data view, and executing the ordered/paginated SELECT * below through TablePro MCP. Both generated new macOS crash reports with EXC_BREAKPOINT / SIGTRAP in OracleDriver, on nio.nioTransportServices.connectionchannel, with identical image offsets and decoder frames.
On another UI attempt, the app stayed open but displayed: "The server sent an unexpected message; the connection was reset. Please rerun the query." (translated from the Chinese UI).
Connection, schema/table metadata, and non-spatial reads all work. The tested table is partitioned and contains NUMBER, NVARCHAR2, a nullable SHAPE (SDO_GEOMETRY), and BLOB columns.
Server: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0, 64-bit.
Steps to reproduce
Schema/table names and the ordinary identifier column below are anonymized. ID represents the first numeric column of the tested table.
The following query independently reproduced the process crash:
This matches the browse-query shape produced by OraclePluginDriver.buildBrowseQuery.
Verified controls and scope
<unsupported: unknown><unsupported: unknown><unsupported: unknown>without crashingThe working WKT control was:
These results do not establish that every SDO_GEOMETRY query crashes. The exact triggering object/row or protocol condition is still unknown. The ordered browse result and raw spatial-object decoding are implicated by the controls, but the root cause has not been proven. I do not have a confirmed standalone synthetic reproducer yet.
Expected behavior
Opening the table or selecting its spatial column should not terminate the application. Unsupported spatial objects should produce a safe placeholder or a handled error, and the Oracle connection should remain usable.
Database type
Oracle
TablePro version
0.77.0 (134); Oracle Driver plugin 1.2.32 (1)
macOS version & chip
macOS 27.0.1 (26A434) / Apple Silicon, ARM64 native
Screenshots / Logs
Sanitized excerpt from the two new crash reports (2026-10-02). No database addresses, credentials, business records, coordinates, local usernames, or machine/incident identifiers are included.
For triage, this appears different from #1746 (crash during connection testing): login and queries succeed here, and failure occurs while decoding a spatial-table browse result.
All investigation queries were read-only. No database data or structure was changed.