[Java] MacOS SIGABRT in ORC JNI adapter when destructing multiple ORC readers
- Langage dominant
- Java
- Étoiles
- 94
- Forks
- 152
- Merge moyen
- 3 j 16 h
- PR mergées (30 j)
- 11
Description
### 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
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par le diff du reproducer dans apache/arrow#43699 et exécutez son test répété du lecteur de fichiers/stripes ORC sur macOS M1. Suivez les chemins de destruction de Java ORC JNI, Arrow ORC et Apache ORC C++; le travail est terminé lorsque le test de 100 itérations ne déclenche plus SIGABRT de manière intermittente.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- cpp, java
- Domaine
- data-engineering
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 35/100