调用 snapshotVideo 导致应用奔溃
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 30/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- dart, flutter, ios
- Domain
- audio-video-rtc, mobile-dev, performance
Research direction
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.
Written by the indexing model from the issue text.
Description
【当前现象】:持续调用 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.
- Dominant language
- Dart
- Stars
- 82
- Forks
- 39
- Avg merge
- 27m
- Merged PRs (30d)
- 1
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Tencent-RTC/TRTC_Flutter
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
Tencent-RTC/TRTC_Flutter#119 ·
-
macOS 上无法屏幕分享 Open
Difficulty 4/5 3-5 days Newbie friendliness 35/100
Tencent-RTC/TRTC_Flutter#117 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
Tencent-RTC/TRTC_Flutter#89 · 1 comment ·
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
Tencent-RTC/TRTC_Flutter#81 · 1 comment ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
Tencent-RTC/TRTC_Flutter#76 ·
All issues in Tencent-RTC/TRTC_Flutter
Similar issues
-
ui/ux
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
error Open
Difficulty 1/5 Under an hour Newbie friendliness 85/100
-
Bug Flutter User Feedbacks
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
getsentry/sentry-dart#4042 · 1 comment ·
-
team-infra
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100