Macos: Recording pipeline repeatedly stalls for 5–22 s (whole process), causing ~10% video loss and multi-second audio gaps
Mantenedores costumam responder em até 1 dia
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 32/100
- Tipo de issue
- Bug
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Ativa
- Domínio
- audio-video-rtc, desktop, performance
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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
- Linguagem predominante
- Rust
- Estrelas
- 23.7k
- Forks
- 2.1k
- Merge médio
- 1d 11h
- PRs com merge (30d)
- 588
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de CapSoftware/Cap
-
Web player intercepts ⌘⇧M and blocks Chrome profile-menu shortcutTalvez já em andamento @AatmanAJ assumiu há 10 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 80/100
CapSoftware/Cap#2596 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
CapSoftware/Cap#2384 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dashboard pagination causes full page reloads on self-hosted CapTalvez já em andamento @Dewin assumiu há 38 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
CapSoftware/Cap#2305 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
CapSoftware/Cap#1714 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
CapSoftware/Cap#3218 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
Todas as issues de CapSoftware/Cap
Issues semelhantes
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 67/100
rust-bitcoin/rust-bitcoin#7089 · 1 comentário · 1 reação ·
Mantenedores costumam responder em até 2 dias
-
area/tools bug session-analysis
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
[Bug]: Python OpenTelemetrySectionConfig has no file_sinksTalvez livre de novo Um pull request para esta issue foi fechado sem ser mesclado. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
NVIDIA/NeMo-Relay#1514 ·
Mantenedores costumam responder em até 1 dia
-
prompting proposal tool triaged
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
can1357/oh-my-pi#17041 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 84/100
nix-community/fenix#262 ·