Replaying trace takes a lot longer than recording

Aperta
#4,011 35 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
25/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
julia, linux

Direzione di ricerca

Start with the reported rr record --chaos julia -g2 mwe.jl and rr replay commands, and obtain the unavailable mwe.jl reproducer if possible. Compare recording and replay timing while checking whether the GDB SIGSEGV handling affects behavior; done means identifying a reproducible cause or actionable fix for the replay slowdown.

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

Descrizione

Summary

We're trying to use rr to debug a crash in Julia's garbage collector. However, replaying the trace takes too long, and makes debugging infeasible.

Commands

Recording the program with:

rr record --chaos julia -g2 mwe.jl

takes around 5-6min.

I've left rr replaying the program with:

rr replay

and it takes more than 15min.

Not sure if it matters, but I've also run this command in GDB:

handle SIGSEGV nostop noprint

to ignore segmentation faults than happen when Julia stops threads for GC.

Microarchitecture

Architecture:                x86_64
  CPU op-mode(s):            32-bit, 64-bit
  Address sizes:             46 bits physical, 48 bits virtual
  Byte Order:                Little Endian
CPU(s):                      36
  On-line CPU(s) list:       0-35
Vendor ID:                   GenuineIntel
  Model name:                Intel(R) Xeon(R) Platinum 8124M CPU @ 3.00GHz
    CPU family:              6
    Model:                   85
    Thread(s) per core:      2
    Core(s) per socket:      18
    Socket(s):               1
    Stepping:                4
    BogoMIPS:                5999.99

Reproducer

Unfortunately I can't share mwe.jl here due to licensing, but @Keno might have access to it.

Lingua principale
C++
Stelle
10.7k
Fork
667
Merge medio
2g 7h
PR unite (30g)
32

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 rr-debugger/rr

Tutte le issue di rr-debugger/rr

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.