Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Android Emulator host SIGSEGV in gfxstream GL fence wait path (EmulatedEglFenceSync / tcmalloc)

Aperta
#191 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
48/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
cpp

Direzione di ricerca

Start with host/frame_buffer.cpp, host/sync_thread.cpp, host/gl/emulated_egl_fence_sync.cpp, and host/render_control.cpp to trace fence ownership from queueing through wait and destruction. Use the reported stack trace and, if available, the Apport report or core dump to determine whether the lifetime race explains the SIGSEGV. Done means the cause is established and the fence lifetime behavior is corrected and validated.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Environment
  • Emulator 37.1.11.0 (build 15917651)
  • Debian sid, KDE Wayland, Linux 7.2-amd64
  • Pixel_9a, x86_64, 6144 MB RAM
  • android-CinnamonBun/google_apis_ps16k/x86_64
  • GPU: auto

Launch command:

qemu-system-x86_64 @Pixel_9a -show-kernel -no-snapshot-load -writable-system
Crash

September 10, 2026, 17:47:15 UTC+8.

SIGSEGV / SEGV_MAPERR

tcmalloc::SLL_Next
tcmalloc::SLL_PopRange
tcmalloc::ThreadCache::FreeList::PopRange
tcmalloc::ThreadCache::ReleaseToCentralCache
tcmalloc::ThreadCache::ListTooLong
cfree
gfxstream::host::gl::EmulatedEglFenceSync::wait
...
gfxstream::host::SyncThread::doSyncThreadCmd

There also appears to be a fence lifetime race in the current source. FrameBuffer queues a raw fence pointer. The worker's registry lookup doesn't retain a reference, while wait() calls incRef() only afterward. A concurrent destroy could release the last reference between those two operations.

Not sure if this caused the crash. No reliable reproducer yet.

I have the original Apport report and core dump (~2 GB), available for further debugging. I haven't uploaded the raw dump publicly because it contains process memory.

Lingua principale
C++
Stelle
57
Fork
38
Merge medio
3g 6h
PR unite (30g)
6

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di google/gfxstream

Tutte le issue di google/gfxstream

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.