Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Macos: Recording pipeline repeatedly stalls for 5–22 s (whole process), causing ~10% video loss and multi-second audio gaps

Fechada
#2,366 4 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

@richiemcilroy já está trabalhando nisso.

Desde 14/10/2026.

  • #2566 de @richiemcilroy — aberto

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
Stack de tecnologia
macos, rust, tauri

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

bug
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 jump events, 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, plus dropping 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 frames WARN is re-logged every 5 s even when the dropped counter 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

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de CapSoftware/Cap

Todas as issues de CapSoftware/Cap

Issues semelhantes

Mais issues de Rust

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.