apache / apache/arrow-java

[Java] MacOS SIGABRT in ORC JNI adapter when destructing multiple ORC readers

Ouverte
#60 5 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Type: bug
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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.