OpenNMT / OpenNMT/CTranslate2

ROCm (gfx1201/RX 9070 XT): faster-whisper crash in CTranslate2 4.7.1

Open
#2,021 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
4.7k
Forks
536
Avg merge
12h 12m
Merged PRs (30d)
4

Description

Description

faster-whisper crashes on ROCm with CTranslate2 on AMD RX 9070 XT (gfx1201).

I can reproduce this on stock Fedora kernel (6.18.14-200.fc43) with a minimal script (device="cuda").

Expected behavior: transcription completes normally, or returns a handled exception.
Actual behavior: process aborts with a GPU memory access fault and core dump.

Environment:

  • OS: Fedora 43
  • GPU: AMD Radeon RX 9070 XT (gfx1201)
  • ROCm: 7.2.0
  • Python: 3.12.12
  • CTranslate2: 4.7.1 (ROCm wheel)
  • faster-whisper: 1.2.1
  • Runtime env: LD_LIBRARY_PATH=/opt/rocm/lib
  • Kernel: 6.18.14-200.fc43.x86_64 (stock Fedora updates-testing)
Reproducibility

Minimal script:

from faster_whisper import WhisperModel

model = WhisperModel("small", device="cuda", compute_type="float16")
segments, info = model.transcribe("input_media.mp3", vad_filter=False)
for s in segments:
    print(f"[{s.start:.2f} -> {s.end:.2f}] {s.text}")

Run command:

LD_LIBRARY_PATH=/opt/rocm/lib python3.12 min_repro.py input_media.mp3 --model small --compute-type float16

Observed result on stock kernel (6.18.14-200.fc43):
small:

  • float16 (no language hint): Memory access fault ... Page not present, then core dump / abort (EXIT_CODE=134)

Input tested:

  • A short English Apollo 13 MP3 clip
  • Additional local checks on a longer Japanese MP4 with large-v3 also failed (int8: GPU memory fault; float32: OOM followed by abnormal termination), so this is not limited to one clip/model setting.

Representative crash output (stock kernel, small + float16):

Memory access fault by GPU node-1 ... Reason: Page not present or supervisor privilege.
Failed to write segment data to pipe: Bad address
GPU coredump: handler exited with error (status: 1)
GPU core dump failed
timeout: the monitored command dumped core

repro_run.log

coredump_gdb_bt_13360.txt

rocminfo.txt

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by running the minimal repro in min_repro.py with the stated ROCm, CTranslate2, Fedora kernel, and RX 9070 XT environment. Read repro_run.log, coredump_gdb_bt_13360.txt, and rocminfo.txt alongside the ROCm execution path to identify the fault. Done means transcription completes or returns a handled exception without a GPU memory fault, abort, or core dump.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
machine-learning
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.