emscripten-core / emscripten-core/emscripten
Crashes in dlmalloc that occur in a worker can lock up the entire application
- Lingua principale
- C++
- Stelle
- 27.6k
- Fork
- 3.6k
- Merge medio
- 1g 14h
- PR unite (30g)
- 125
Descrizione
We have had reports of an issue where a crash in dlmalloc (possible due to memory corruption) that happen on a worker can cause the entire application to freeze and the error doesn't get correctly reported. We think this is because the thread crashes while holding some global malloc lock which means the main thread is likely to end of blocked on malloc/free.
Ideally a crash like this would bring own all threads asynchronously but we can't do that with workers.
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia tracciando come i fallimenti di dlmalloc nei worker thread vengono segnalati al thread principale, soprattutto quando il worker detiene un lock globale di malloc. Analizza il percorso di crash del worker e il comportamento di blocco di malloc/free nel thread principale; la modifica completata dovrebbe impedire il blocco dell’applicazione e garantire che il crash del worker venga segnalato correttamente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- cpp, wasm
- Ambito
- compilers, operating-systems
- Tipo di issue
- Bug
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100