调用 snapshotVideo 导致应用奔溃

Aperta
#65 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
30/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
dart, flutter, ios

Direzione di ricerca

Start with the snapshotVideo call in the issue's reproduction loop and reproduce it on iOS 15.2 with an iPhone X, using the stated capture rate and isRecording=true. Investigate the reported memory-limit crash and verify completion by running the same sustained capture scenario without the application crashing.

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

Descrizione

【当前现象】:持续调用 snapshotVideo 到第 23s iOS应用会奔溃
【SDK版本】:tencent_trtc_cloud-2.4.1
【iOS版本】:iOS 15.2
【设备型号】:iPhone X
【是否必现】:必现
【复现步骤】:
在 iOS 15.2 上的 iPhone X 设备上运行应用
调用 snapshotVideo 方法,并设置 isRecording 为 true
在持续调用 snapshotVideo 方法的过程中,平均每秒截取16张图,应用会在第 23s 崩溃
【期望结果】:应用能够正常运行
【代码】:

while (isRecording) {
      await Future.delayed(const Duration(milliseconds: captureInterval));
      String suffix = DateTime.now().millisecondsSinceEpoch.toString();
      String filePath = "$recordStoragePath/${suffix}_temp.jpg";
      await client.snapshotVideo(
        trtcChannel.isLocal ? null : channel.member.userId,
        0,
        filePath,
      );
}

【异常信息】:

[XPC] Handle connection with error: Connection interrupted
[Process] 0x13a944000 - NetworkProcessProxy::didClose (Network Process 8461 crash)
[ServicesDaemonManager] interruptionHandler is called. -[FontServicesDaemonManager connection]_block_invoke
* thread #72, queue = 'com.Metal.CommandQueueDispatch', stop reason = EXC_RESOURCE RESOURCE_TYPE_MEMORY (limit=1850 MB, unused=0x0)
    frame #0: 0x00000001bd1d4b10 libsystem_kernel.dylib`mach_msg_trap + 8
libsystem_kernel.dylib`mach_msg_trap:
->  0x1bd1d4b10 <+8>: ret
libsystem_kernel.dylib`mach_msg_overwrite_trap:
    0x1bd1d4b14 <+0>: mov    x16, #-0x20
    0x1bd1d4b18 <+4>: svc    #0x80
    0x1bd1d4b1c <+8>: ret
Target 0: (Runner) stopped.
Lost connection to device.
Lingua principale
Dart
Stelle
82
Fork
39
Merge medio
27m
PR unite (30g)
1

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

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 Tencent-RTC/TRTC_Flutter

Tutte le issue di Tencent-RTC/TRTC_Flutter

Issue simili

Altre issue su Dart

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.