[Java] MacOS SIGABRT in ORC JNI adapter when destructing multiple ORC readers
- 主要言語
- Java
- スター
- 94
- フォーク
- 152
- 平均マージ
- 3日 16時間
- マージ済み PR(30日)
- 11
説明
### Describe the bug, including details regarding any error messages, version, and platform.
I was playing around with the Arrow Java ORC adapter and noticed an intermittent SIGABRT when `.clear()`ing ORC file/stripe readers.
On MacOS M1 (aarch64), I can reproduce locally with this diff: https://github.com/apache/arrow/pull/43699. However, this diff does not fail in CI, which is configured to run only on Linux. The test iteratively creates a new ORC file, reads a stripe, then deletes it. The test is repeated 100 times. The SIGABRT is intermittent and typically crashes on a random test iteration.
My assumption is that there is a memory management issue in the Arrow ORC JNI / Arrow ORC / Apache ORC C++ layers that manifests when destructing the ORC C++ objects.
### Component(s)
Java
コントリビューションガイド
調査の方向性
apache/arrow#43699 の reproducer diff から始め、macOS M1 でその ORC file/stripe reader の反復テストを実行します。Java ORC JNI、Arrow ORC、Apache ORC C++ の破棄パスを追跡します。100 回の反復テストで SIGABRT が断続的に発生しなくなれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- cpp, java
- 領域
- data-engineering
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 35/100