Macos: Recording pipeline repeatedly stalls for 5–22 s (whole process), causing ~10% video loss and multi-second audio gaps
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 32/100
- Tipo de issue
- Error
- Claridad
- Necesita aclaración
- Estado de actividad
- Activo
- Área
- audio-video-rtc, desktop, performance
Línea de trabajo
Start with the attached cap-desktop.log and correlate the process-wide silent windows with video, microphone, and system-audio events. Trace the recording pipeline and shared runtime for the suspected blocking I/O and investigate the VideoToolbox, warning, and upload-state observations separately. Done means reproducing or isolating the stall cause and defining scoped fixes with tests or log evidence for the affected behaviors.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description
38.5-minute recording (14:01:52 → 14:40:24 UTC). During it, the pipeline froze 16 times:
- Video: 16
Wall-clock-confirmed forward jumpevents,total_forward_skew_secs="222.033"(~10% of the recording missing) - Mic: 6 silence insertions,
total_silence_ms=64429 - System audio: 172 silence insertions,
total_silence_ms=69615, plusdropping frames due to full channel
Evidence that the whole process stalls, not just capture
The periodic memory snapshot normally fires at :25 every minute. During the stalls it fires late:
- 14:06:32 (+6.4 s), 14:19:37 (+12 s), 14:21:42 (+16.5 s), 14:28:32 (+6.5 s)
There are also windows with no log lines at all from any thread:
- 14:13:57.7 → 14:14:22.2 (24.5 s)
- 14:15:57.4 → 14:16:20.1 (22.6 s)
- 14:19:15.3 → 14:19:37.9 (22.6 s)
- 14:21:17.9 → 14:21:42.4 (24.5 s)
- 14:28:07.8 → 14:28:32.4 (24.6 s)
Mic and system-audio drops happen exactly in these windows: the sources keep producing data, but consumers are not draining the channels.
Suspicious pattern
The longest video gaps are almost identical: 21.33, 21.35, 21.47, 21.23, 21.44, 21.77 s. This looks like a fixed timeout somewhere rather than random I/O latency.
Hypothesis (unverified)
Blocking file I/O on the shared async runtime. If the output volume (an SD card here) has a write-latency spike, all runtime workers block, including the muxers and timers. A recorder should absorb storage hiccups with buffering instead of dropping audio.
Other observations from the same log
VideoToolbox zero-copy input unavailable ... scaling 4112x2658 -> 4096x2648 requires the software input path, but the encoder is then initialized at 4112×2658. These messages contradict each other, and the software path adds load for no apparent reason.System audio dropping framesWARN is re-logged every 5 s even when thedroppedcounter does not change, producing hundreds of redundant warnings.- At recording start:
Recording upload state could not be read; files retained error=No such file or directory(state is read before it is created).
Full log attached- cap-desktop.log
Additional Context
- Cap version: 0.6.0
- Operating system, version: 26.2 (25C56)
- Device (optional): MacBook Pro M1 Pro, 16 GB RAM
- Lenguaje dominante
- Rust
- Estrellas
- 23k
- Forks
- 2k
- Merge medio
- 13 h 2 min
- PR fusionados (30 d)
- 70
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de CapSoftware/Cap
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
CapSoftware/Cap#2384 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dashboard pagination causes full page reloads on self-hosted CapPosiblemente ocupada @Dewin la tomó hace 17 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
CapSoftware/Cap#2305 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
CapSoftware/Cap#1714 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
CapSoftware/Cap#2409 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 64/100
CapSoftware/Cap#2408 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de CapSoftware/Cap
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
install: root SSH tmpfiles.d drop-in is labeled etc_runtime_t instead of etc_tPosiblemente ocupada @andrewdunndev la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
[Misdetection] `text/tab-separated-values` file misdetected as `text/tsv`Posiblemente ocupada @bact la tomó hoy. Abiertomisdetection needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
C-bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 2 días
-
vxc prints a debug line '[flat-codegen] emitted module via the flat path' on every compilePosiblemente ocupada @YodHeVauHe la tomó hoy. Abiertodevex good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día