Closed JulienDev closed 2 months ago
If you are using backend api, you have to call player.waitFor(PlaybackState.stopped)
after stop. It's a bug in backend but I can't fix it soon.
Indeed I'm using the backend api because I need to control the selected tracks. I updated my code like that but I'm still experiencing the same crash. Am I doing something wrong?
playVideo(String url, int startAt) async {
player.state = PlaybackState.stopped;
player.waitFor(PlaybackState.stopped);
player.media = URL;
final ret = await player.prepare(position: startAt * 1000);
if (ret < 0) {
print("media open error | invalid or unsupported media");
onVideoError();
return;
}
final tex = await player.updateTexture();
if (tex < 0) {
print("video size error | invalid or unsupported media");
onVideoError();
return;
}
player.state = PlaybackState.playing;
}
crash or no responding? use lldb to show backtrace when crashing
not responding sorry
you have to debug in xcode and show me the crash point
not responding sorry
just add a check that the current state is not stopped if (player.state != PlaybackState.stopped) { player.state = PlaybackState.stopped; player.waitFor(PlaybackState.stopped); }
@DovgopolsSerj Unfortunately I have the same problem :( @wang-bin I'd love but there is no crash. I've created a minimal app so you can reproduce the issue. Just click few times on the play button and the app should freeze.
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// ignore_for_file: public_member_api_docs
/// An example of using the plugin, controlling lifecycle and playback of the
/// video.
import 'package:flutter/material.dart';
import 'package:fvp/fvp.dart' as fvp;
import 'package:fvp/mdk.dart';
void main() {
fvp.registerWith();
final player = Player();
runApp(MaterialApp(home: PlayerPage(player)));
}
class PlayerPage extends StatelessWidget {
final Player player;
const PlayerPage(this.player);
@override
Widget build(BuildContext context) {
return Scaffold(
key: const ValueKey<String>('home_page'),
appBar: AppBar(
title: const Text('Video player example'),
),
body: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
MaterialButton(
onPressed: () {
videos.shuffle();
doPlayVideo(videos[0]);
},
child: Text("Play"),
),
Expanded(
child: PlayerView(
player: player,
))
],
),
);
}
doPlayVideo(String url) async {
if (player.state != PlaybackState.stopped) {
player.state = PlaybackState.stopped;
player.waitFor(PlaybackState.stopped);
}
player.media = url;
final ret = await player.prepare();
if (ret < 0) {
print("media open error | invalid or unsupported media");
return;
}
final tex = await player.updateTexture();
if (tex < 0) {
print("video size error | invalid or unsupported media");
return;
}
player.state = PlaybackState.playing;
}
}
class PlayerView extends StatelessWidget {
final Player player;
const PlayerView({super.key, required this.player});
@override
Widget build(BuildContext context) {
return ValueListenableBuilder<int?>(
valueListenable: player.textureId,
builder: (context, id, _) {
if (id == null) {
return const SizedBox.shrink();
} else {
return Texture(textureId: id);
}
},
);
}
}
final videos = [
"https://ythls.armelin.one/channel/UCdFv_ZWQ3Xk_NfRiaK-ryGg.m3u8",
"https://lives.digiteka.com/stream/86d3e867-a272-496b-8412-f59aa0104771/index.m3u8",
"https://rtvelivestream.akamaized.net/rtvesec/24h/24h_main_dvr.m3u8",
"https://amg02162-newenconnect-amg02162c2-rakuten-us-1981.playouts.now.amagi.tv/playlist/amg02162-newenconnect-100pour100docs-rakutenus/playlist.m3u8",
"https://video1.getstreamhosting.com:1936/8420/8420/playlist.m3u8",
"http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/643531ba82a18e0008a4d57c/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=8e06ff24-1f2c-11ef-86d8-5d587df108c6&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=be2b3cea-a727-42ad-80f4-61b3f3174d3a",
"http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64bab8ba5dc1660008969b5a/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=8e06ff28-1f2c-11ef-86d8-5d587df108c6&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=5c583725-776e-440c-a02f-17dca14750d3",
"https://samsunguk-adn-samsung-fre-qfrlc.amagi.tv/playlist/samsunguk-adn-samsung-fre/playlist.m3u8",
"https://edge12.vedge.infomaniak.com/livecast/ik:africa24/manifest.m3u8",
"https://live.creacast.com/albi-tv-ch1/stream/playlist.m3u8",
"http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62f3e4bc08f5ec000744f552/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=8e06b105-1f2c-11ef-86d8-5d587df108c6&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=e8eddbbb-a9fd-424c-9473-64dc6420b913",
"https://edge.vedge.infomaniak.com/livecast/ik:adhtv/chunklist.m3u8",
"http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/61533b6334ba9b000763d7b1/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=8e0662e0-1f2c-11ef-86d8-5d587df108c6&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=f9535dab-8477-46f9-9989-31f9ea0a251f",
"http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/611e73687fcd580007d1f052/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=8e063bd1-1f2c-11ef-86d8-5d587df108c6&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=28121508-e373-4b45-8f21-c48bbc48ecda",
"https://live-antenne-reunion.zeop.tv/live/c3eds/antreunihd/hls_fta/antreunihd.m3u8?location=ZEOP01",
"http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6192416c06d23b0007379766/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=8e0662e6-1f2c-11ef-86d8-5d587df108c6&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=9bf91fcc-8ee0-4cc6-90c2-822e386de523",
"https://artesimulcast.akamaized.net/hls/live/2031003/artelive_fr/index.m3u8",
];
doPlayVideo(videos[0]); player.media = videos[0]; Try to remove the re-assignment of media. You have m3u8 redirects when you open them, and this assignment may no longer correspond to what the player is playing.
doPlayVideo(videos[0]); player.media = videos[0]; Try to remove the re-assignment of media. You have m3u8 redirects when you open them, and this assignment may no longer correspond to what the player is playing.
Good catch. I updated the code (still crashing on my mac)
try master branch, and upgrade dependencies, then no need to stop and waitFor in your code, and the bug should be fixed
I can't reproduce the issue on iOS, but still present on my mac. BTW when launching the macos app on release mode I get a crash, this is the bt from lldb:
(lldb) bt all
thread #1, queue = 'com.apple.main-thread'
frame #0: 0x0000000195298400 libsystem_malloc.dylib`_nanov2_free + 528
frame #1: 0x0000000195cbcfb4 MetalTools`-[MTLDebugBuffer dealloc] + 56
frame #2: 0x0000000105acac64 mdk`mdk::abi::MetalVideo::~MetalVideo() [inlined] mdk::abi::MetalVideo::Private::~Private(this=0x0000000123793770) at MetalVideo.mm:55:19 [opt]
frame #3: 0x0000000105acabdc mdk`mdk::abi::MetalVideo::~MetalVideo() [inlined] mdk::abi::MetalVideo::Private::~Private(this=0x0000000123793770) at MetalVideo.mm:55:19 [opt]
frame #4: 0x0000000105acabdc mdk`mdk::abi::MetalVideo::~MetalVideo() [inlined] std::__1::default_delete<mdk::abi::MetalVideo::Private>::operator()[abi:un170006](this=0x0000600002ad8c90, __ptr=0x0000000123793770) const at unique_ptr.h:68:5 [opt]
frame #5: 0x0000000105acabdc mdk`mdk::abi::MetalVideo::~MetalVideo() [inlined] std::__1::unique_ptr<mdk::abi::MetalVideo::Private, std::__1::default_delete<mdk::abi::MetalVideo::Private>>::reset[abi:un170006](this=0x0000600002ad8c90, __p=0x0000000000000000) at unique_ptr.h:300:7 [opt]
frame #6: 0x0000000105acabd8 mdk`mdk::abi::MetalVideo::~MetalVideo() [inlined] std::__1::unique_ptr<mdk::abi::MetalVideo::Private, std::__1::default_delete<mdk::abi::MetalVideo::Private>>::~unique_ptr[abi:un170006](this=0x0000600002ad8c90) at unique_ptr.h:266:75 [opt]
frame #7: 0x0000000105acabd8 mdk`mdk::abi::MetalVideo::~MetalVideo() [inlined] std::__1::unique_ptr<mdk::abi::MetalVideo::Private, std::__1::default_delete<mdk::abi::MetalVideo::Private>>::~unique_ptr[abi:un170006](this=0x0000600002ad8c90) at unique_ptr.h:266:73 [opt]
frame #8: 0x0000000105acabd8 mdk`mdk::abi::MetalVideo::~MetalVideo() [inlined] mdk::abi::MetalVideo::~MetalVideo(this=0x0000600002ad8c90) at MetalVideo.mm:449:25 [opt]
frame #9: 0x0000000105acabd8 mdk`mdk::abi::MetalVideo::~MetalVideo(this=0x0000600002ad8c90) at MetalVideo.mm:449:25 [opt]
frame #10: 0x0000000105acdb7c mdk`mdk::abi::MetalVideoRenderer::~MetalVideoRenderer(this=<unavailable>) at MetalVideoRenderer.mm:17:7 [opt]
frame #11: 0x0000000105accedc mdk`mdk::abi::MetalVideoRenderer::~MetalVideoRenderer() [inlined] mdk::abi::MetalVideoRenderer::~MetalVideoRenderer(this=<unavailable>) at MetalVideoRenderer.mm:17:7 [opt]
frame #12: 0x0000000105acced8 mdk`mdk::abi::MetalVideoRenderer::~MetalVideoRenderer(this=<unavailable>) at MetalVideoRenderer.mm:17:7 [opt]
frame #13: 0x0000000105ac3938 mdk`mdk::abi::VideoPresenter::Private::destroyVideoRenderer(this=0x0000000125904ec0, vo_opaque=0x0000000000000000) at unique_ptr.h:0:9 [opt]
frame #14: 0x0000000105ac38a4 mdk`mdk::abi::VideoPresenter::setVideoSurfaceSize(this=0x00000001259168d0, width=-1, height=-1, vo_opaque=0x0000000000000000) at VideoPresenter.cpp:363:12 [opt]
frame #15: 0x0000000104fbbb14 fvp`TexturePlayer::~TexturePlayer(this=0x000000012619d018) at FvpPlugin.mm:110:9 [opt]
frame #16: 0x0000000104fbbb90 fvp`std::__1::shared_ptr<TexturePlayer>::~shared_ptr[abi:ue170006]() [inlined] std::__1::__shared_count::__release_shared[abi:ue170006](this=0x000000012619d000) at shared_ptr.h:173:9 [opt]
frame #17: 0x0000000104fbbb70 fvp`std::__1::shared_ptr<TexturePlayer>::~shared_ptr[abi:ue170006]() [inlined] std::__1::__shared_weak_count::__release_shared[abi:ue170006](this=0x000000012619d000) at shared_ptr.h:214:27 [opt]
frame #18: 0x0000000104fbbb70 fvp`std::__1::shared_ptr<TexturePlayer>::~shared_ptr[abi:ue170006](this=0x00006000024850c8) at shared_ptr.h:773:23 [opt]
frame #19: 0x0000000104fbc05c fvp`std::__1::unique_ptr<std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>, std::__1::__hash_node_destructor<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>>>>::reset[abi:ue170006](std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>*) [inlined] std::__1::shared_ptr<TexturePlayer>::~shared_ptr[abi:ue170006](this=<unavailable>) at shared_ptr.h:771:5 [opt]
frame #20: 0x0000000104fbc058 fvp`std::__1::unique_ptr<std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>, std::__1::__hash_node_destructor<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>>>>::reset[abi:ue170006](std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>*) [inlined] std::__1::pair<long long const, std::__1::shared_ptr<TexturePlayer>>::~pair(this=0x00006000024850c0) at pair.h:81:29 [opt]
frame #21: 0x0000000104fbc054 fvp`std::__1::unique_ptr<std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>, std::__1::__hash_node_destructor<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>>>>::reset[abi:ue170006](std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>*) [inlined] std::__1::pair<long long const, std::__1::shared_ptr<TexturePlayer>>::~pair(this=0x00006000024850c0) at pair.h:81:29 [opt]
frame #22: 0x0000000104fbc054 fvp`std::__1::unique_ptr<std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>, std::__1::__hash_node_destructor<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>>>>::reset[abi:ue170006](std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>*) [inlined] void std::__1::__destroy_at[abi:ue170006]<std::__1::pair<long long const, std::__1::shared_ptr<TexturePlayer>>, 0>(__loc=0x00006000024850c0) at construct_at.h:69:13 [opt]
frame #23: 0x0000000104fbc054 fvp`std::__1::unique_ptr<std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>, std::__1::__hash_node_destructor<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>>>>::reset[abi:ue170006](std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>*) [inlined] void std::__1::destroy_at[abi:ue170006]<std::__1::pair<long long const, std::__1::shared_ptr<TexturePlayer>>, 0>(__loc=0x00006000024850c0) at construct_at.h:104:5 [opt]
frame #24: 0x0000000104fbc054 fvp`std::__1::unique_ptr<std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>, std::__1::__hash_node_destructor<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>>>>::reset[abi:ue170006](std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>*) [inlined] void std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>>>::destroy[abi:ue170006]<std::__1::pair<long long const, std::__1::shared_ptr<TexturePlayer>>, void, void>((null)=<unavailable>, __p=0x00006000024850c0) at allocator_traits.h:323:9 [opt]
frame #25: 0x0000000104fbc054 fvp`std::__1::unique_ptr<std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>, std::__1::__hash_node_destructor<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>>>>::reset[abi:ue170006](std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>*) [inlined] std::__1::__hash_node_destructor<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>>>::operator()[abi:ue170006](this=<unavailable>, __p=0x00006000024850b0) at __hash_table:674:13 [opt]
frame #26: 0x0000000104fbc04c fvp`std::__1::unique_ptr<std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>, std::__1::__hash_node_destructor<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>>>>::reset[abi:ue170006](this=0x000000016b389658, __p=<unavailable>) at unique_ptr.h:300:7 [opt]
frame #27: 0x0000000104fbc0b0 fvp`unsigned long std::__1::__hash_table<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, std::__1::__unordered_map_hasher<long long, std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, std::__1::hash<long long>, std::__1::equal_to<long long>, true>, std::__1::__unordered_map_equal<long long, std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, std::__1::equal_to<long long>, std::__1::hash<long long>, true>, std::__1::allocator<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>>>::__erase_unique<long long>(long long const&) [inlined] std::__1::unique_ptr<std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>, std::__1::__hash_node_destructor<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>>>>::~unique_ptr[abi:ue170006](this=0x000000016b389658) at unique_ptr.h:266:75 [opt]
frame #28: 0x0000000104fbc0a4 fvp`unsigned long std::__1::__hash_table<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, std::__1::__unordered_map_hasher<long long, std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, std::__1::hash<long long>, std::__1::equal_to<long long>, true>, std::__1::__unordered_map_equal<long long, std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, std::__1::equal_to<long long>, std::__1::hash<long long>, true>, std::__1::allocator<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>>>::__erase_unique<long long>(long long const&) [inlined] std::__1::unique_ptr<std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>, std::__1::__hash_node_destructor<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, void*>>>>::~unique_ptr[abi:ue170006](this=0x000000016b389658) at unique_ptr.h:266:73 [opt]
frame #29: 0x0000000104fbc0a4 fvp`unsigned long std::__1::__hash_table<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, std::__1::__unordered_map_hasher<long long, std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, std::__1::hash<long long>, std::__1::equal_to<long long>, true>, std::__1::__unordered_map_equal<long long, std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, std::__1::equal_to<long long>, std::__1::hash<long long>, true>, std::__1::allocator<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>>>::__erase_unique<long long>(long long const&) [inlined] std::__1::__hash_table<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, std::__1::__unordered_map_hasher<long long, std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, std::__1::hash<long long>, std::__1::equal_to<long long>, true>, std::__1::__unordered_map_equal<long long, std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, std::__1::equal_to<long long>, std::__1::hash<long long>, true>, std::__1::allocator<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>>>::erase(this=0x0000600003f39788, __p=<unavailable>) at __hash_table:2230:5 [opt]
frame #30: 0x0000000104fbc098 fvp`unsigned long std::__1::__hash_table<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, std::__1::__unordered_map_hasher<long long, std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, std::__1::hash<long long>, std::__1::equal_to<long long>, true>, std::__1::__unordered_map_equal<long long, std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>, std::__1::equal_to<long long>, std::__1::hash<long long>, true>, std::__1::allocator<std::__1::__hash_value_type<long long, std::__1::shared_ptr<TexturePlayer>>>>::__erase_unique<long long>(this=0x0000600003f39788, __k=0x000000016b3896a0) at __hash_table:2256:5 [opt]
frame #31: 0x0000000104fbb040 fvp`-[FvpPlugin handleMethodCall:result:] [inlined] std::__1::unordered_map<long long, std::__1::shared_ptr<TexturePlayer>, std::__1::hash<long long>, std::__1::equal_to<long long>, std::__1::allocator<std::__1::pair<long long const, std::__1::shared_ptr<TexturePlayer>>>>::erase[abi:ue170006](this=<unavailable>, __k=0x000000016b3896a0) at unordered_map:1449:59 [opt]
frame #32: 0x0000000104fbb038 fvp`-[FvpPlugin handleMethodCall:result:](self=0x0000600003f39780, _cmd=<unavailable>, call=<unavailable>, result=<unavailable>) at FvpPlugin.mm:160:17 [opt]
frame #33: 0x0000000107b11014 FlutterMacOS`___lldb_unnamed_symbol35796 + 180
frame #34: 0x000000010714de18 FlutterMacOS`___lldb_unnamed_symbol1157 + 416
frame #35: 0x00000001079c7160 FlutterMacOS`___lldb_unnamed_symbol30615 + 128
frame #36: 0x00000001079d8ee4 FlutterMacOS`___lldb_unnamed_symbol30942 + 76
frame #37: 0x00000001079d99fc FlutterMacOS`___lldb_unnamed_symbol30964 + 80
frame #38: 0x00000001079d6500 FlutterMacOS`___lldb_unnamed_symbol30899 + 652
frame #39: 0x00000001079bf15c FlutterMacOS`___lldb_unnamed_symbol30438 + 36
frame #40: 0x0000000107150e40 FlutterMacOS`___lldb_unnamed_symbol1204 + 56
frame #41: 0x0000000107150ff4 FlutterMacOS`___lldb_unnamed_symbol1206 + 64
frame #42: 0x0000000105164f2c libdispatch.dylib`_dispatch_call_block_and_release + 32
frame #43: 0x0000000105166ba4 libdispatch.dylib`_dispatch_client_callout + 20
frame #44: 0x0000000105179f08 libdispatch.dylib`_dispatch_main_queue_drain + 1100
frame #45: 0x0000000105179aac libdispatch.dylib`_dispatch_main_queue_callback_4CF + 44
frame #46: 0x00000001955874ac CoreFoundation`__CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 16
frame #47: 0x0000000195544c30 CoreFoundation`__CFRunLoopRun + 1996
frame #48: 0x0000000195543e0c CoreFoundation`CFRunLoopRunSpecific + 608
frame #49: 0x000000019fcdf000 HIToolbox`RunCurrentEventLoopInMode + 292
frame #50: 0x000000019fcdee3c HIToolbox`ReceiveNextEventCommon + 648
frame #51: 0x000000019fcdeb94 HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 76
frame #52: 0x0000000198d9c970 AppKit`_DPSNextEvent + 660
frame #53: 0x000000019958edec AppKit`-[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 700
frame #54: 0x0000000198d8fcb8 AppKit`-[NSApplication run] + 476
frame #55: 0x0000000198d66f54 AppKit`NSApplicationMain + 880
frame #56: 0x0000000104a75bf0 fvp_example`main [inlined] generic specialization <fvp_example.AppDelegate> of static __C.NSApplicationDelegate.main() -> () at AppDelegate.swift:0 [opt]
frame #57: 0x0000000104a75bd8 fvp_example`main [inlined] static fvp_example.AppDelegate.$main() -> () at <compiler-generated>:4:1 [opt]
frame #58: 0x0000000104a75bd8 fvp_example`main at AppDelegate.swift:0 [opt]
frame #59: 0x00000001950de0e0 dyld`start + 2360
thread #3
frame #0: 0x00000001057b7a8c libsystem_pthread.dylib`start_wqthread
thread #6, name = 'io.flutter.ui'
frame #0: 0x00000001954261f4 libsystem_kernel.dylib`mach_msg2_trap + 8
frame #1: 0x0000000195438b24 libsystem_kernel.dylib`mach_msg2_internal + 80
frame #2: 0x000000019542ee34 libsystem_kernel.dylib`mach_msg_overwrite + 476
frame #3: 0x0000000195426578 libsystem_kernel.dylib`mach_msg + 24
frame #4: 0x0000000195546058 CoreFoundation`__CFRunLoopServiceMachPort + 160
frame #5: 0x000000019554491c CoreFoundation`__CFRunLoopRun + 1208
frame #6: 0x0000000195543e0c CoreFoundation`CFRunLoopRunSpecific + 608
frame #7: 0x00000001071b868c FlutterMacOS`___lldb_unnamed_symbol2708 + 188
frame #8: 0x00000001071af7d0 FlutterMacOS`___lldb_unnamed_symbol2532 + 60
frame #9: 0x00000001071b72a8 FlutterMacOS`___lldb_unnamed_symbol2653 + 200
frame #10: 0x00000001071b6d60 FlutterMacOS`___lldb_unnamed_symbol2646 + 56
frame #11: 0x00000001057ad5c0 libsystem_pthread.dylib`_pthread_start + 136
* thread #7, name = 'io.flutter.raster', stop reason = EXC_BAD_ACCESS (code=1, address=0x2a7743b9cfd0)
* frame #0: 0x000000019508ffb4 libobjc.A.dylib`objc_retain + 8
frame #1: 0x0000000107b0d0f4 FlutterMacOS`___lldb_unnamed_symbol35737 + 68
frame #2: 0x00000001079dae14 FlutterMacOS`___lldb_unnamed_symbol30998 + 192
frame #3: 0x00000001079dabf4 FlutterMacOS`___lldb_unnamed_symbol30997 + 120
frame #4: 0x0000000107715d28 FlutterMacOS`___lldb_unnamed_symbol20489 + 152
frame #5: 0x000000010770733c FlutterMacOS`___lldb_unnamed_symbol20195 + 108
frame #6: 0x000000010771642c FlutterMacOS`___lldb_unnamed_symbol20499 + 100
frame #7: 0x000000010770733c FlutterMacOS`___lldb_unnamed_symbol20195 + 108
frame #8: 0x000000010771642c FlutterMacOS`___lldb_unnamed_symbol20499 + 100
frame #9: 0x000000010770733c FlutterMacOS`___lldb_unnamed_symbol20195 + 108
frame #10: 0x000000010771642c FlutterMacOS`___lldb_unnamed_symbol20499 + 100
frame #11: 0x000000010770733c FlutterMacOS`___lldb_unnamed_symbol20195 + 108
frame #12: 0x000000010771642c FlutterMacOS`___lldb_unnamed_symbol20499 + 100
frame #13: 0x000000010770733c FlutterMacOS`___lldb_unnamed_symbol20195 + 108
frame #14: 0x0000000107712ad8 FlutterMacOS`___lldb_unnamed_symbol20446 + 620
frame #15: 0x00000001076ff740 FlutterMacOS`___lldb_unnamed_symbol20030 + 504
frame #16: 0x00000001076ff500 FlutterMacOS`___lldb_unnamed_symbol20029 + 484
frame #17: 0x00000001078c43a0 FlutterMacOS`___lldb_unnamed_symbol26096 + 836
frame #18: 0x00000001078c3bd4 FlutterMacOS`___lldb_unnamed_symbol26095 + 600
frame #19: 0x00000001078c2168 FlutterMacOS`___lldb_unnamed_symbol26080 + 176
frame #20: 0x00000001078c31e4 FlutterMacOS`___lldb_unnamed_symbol26092 + 192
frame #21: 0x00000001078c6dd4 FlutterMacOS`___lldb_unnamed_symbol26159 + 100
frame #22: 0x00000001078c2830 FlutterMacOS`___lldb_unnamed_symbol26082 + 276
frame #23: 0x00000001078c2450 FlutterMacOS`___lldb_unnamed_symbol26081 + 148
frame #24: 0x00000001078e5970 FlutterMacOS`___lldb_unnamed_symbol26693 + 112
frame #25: 0x00000001071af9d4 FlutterMacOS`___lldb_unnamed_symbol2535 + 252
frame #26: 0x00000001071b83f0 FlutterMacOS`___lldb_unnamed_symbol2703 + 52
frame #27: 0x0000000195561f90 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 32
frame #28: 0x0000000195561c34 CoreFoundation`__CFRunLoopDoTimer + 972
frame #29: 0x000000019556176c CoreFoundation`__CFRunLoopDoTimers + 356
frame #30: 0x0000000195544ba4 CoreFoundation`__CFRunLoopRun + 1856
frame #31: 0x0000000195543e0c CoreFoundation`CFRunLoopRunSpecific + 608
frame #32: 0x00000001071b868c FlutterMacOS`___lldb_unnamed_symbol2708 + 188
frame #33: 0x00000001071af7d0 FlutterMacOS`___lldb_unnamed_symbol2532 + 60
frame #34: 0x00000001071b72a8 FlutterMacOS`___lldb_unnamed_symbol2653 + 200
frame #35: 0x00000001071b6d60 FlutterMacOS`___lldb_unnamed_symbol2646 + 56
frame #36: 0x00000001057ad5c0 libsystem_pthread.dylib`_pthread_start + 136
thread #8, name = 'io.flutter.io'
frame #0: 0x00000001954261f4 libsystem_kernel.dylib`mach_msg2_trap + 8
frame #1: 0x0000000195438b24 libsystem_kernel.dylib`mach_msg2_internal + 80
frame #2: 0x000000019542ee34 libsystem_kernel.dylib`mach_msg_overwrite + 476
frame #3: 0x0000000195426578 libsystem_kernel.dylib`mach_msg + 24
frame #4: 0x0000000195546058 CoreFoundation`__CFRunLoopServiceMachPort + 160
frame #5: 0x000000019554491c CoreFoundation`__CFRunLoopRun + 1208
frame #6: 0x0000000195543e0c CoreFoundation`CFRunLoopRunSpecific + 608
frame #7: 0x00000001071b868c FlutterMacOS`___lldb_unnamed_symbol2708 + 188
frame #8: 0x00000001071af7d0 FlutterMacOS`___lldb_unnamed_symbol2532 + 60
frame #9: 0x00000001071b72a8 FlutterMacOS`___lldb_unnamed_symbol2653 + 200
frame #10: 0x00000001071b6d60 FlutterMacOS`___lldb_unnamed_symbol2646 + 56
frame #11: 0x00000001057ad5c0 libsystem_pthread.dylib`_pthread_start + 136
thread #9, name = 'io.worker.1'
frame #0: 0x00000001954299ec libsystem_kernel.dylib`__psynch_cvwait + 8
frame #1: 0x00000001057b1c00 libsystem_pthread.dylib`_pthread_cond_wait + 1228
frame #2: 0x0000000107178c64 FlutterMacOS`___lldb_unnamed_symbol1705 + 44
frame #3: 0x00000001071aa1dc FlutterMacOS`___lldb_unnamed_symbol2406 + 148
frame #4: 0x00000001071aaea8 FlutterMacOS`___lldb_unnamed_symbol2416 + 176
frame #5: 0x00000001057ad5c0 libsystem_pthread.dylib`_pthread_start + 136
thread #10, name = 'io.worker.2'
frame #0: 0x00000001954299ec libsystem_kernel.dylib`__psynch_cvwait + 8
frame #1: 0x00000001057b1c00 libsystem_pthread.dylib`_pthread_cond_wait + 1228
frame #2: 0x0000000107178c64 FlutterMacOS`___lldb_unnamed_symbol1705 + 44
frame #3: 0x00000001071aa1dc FlutterMacOS`___lldb_unnamed_symbol2406 + 148
frame #4: 0x00000001071aaea8 FlutterMacOS`___lldb_unnamed_symbol2416 + 176
frame #5: 0x00000001057ad5c0 libsystem_pthread.dylib`_pthread_start + 136
thread #11, name = 'io.worker.3'
frame #0: 0x00000001954299ec libsystem_kernel.dylib`__psynch_cvwait + 8
frame #1: 0x00000001057b1c00 libsystem_pthread.dylib`_pthread_cond_wait + 1228
frame #2: 0x0000000107178c64 FlutterMacOS`___lldb_unnamed_symbol1705 + 44
frame #3: 0x00000001071aa1dc FlutterMacOS`___lldb_unnamed_symbol2406 + 148
frame #4: 0x00000001071aaea8 FlutterMacOS`___lldb_unnamed_symbol2416 + 176
frame #5: 0x00000001057ad5c0 libsystem_pthread.dylib`_pthread_start + 136
thread #12, name = 'io.worker.4'
frame #0: 0x00000001954299ec libsystem_kernel.dylib`__psynch_cvwait + 8
frame #1: 0x00000001057b1c00 libsystem_pthread.dylib`_pthread_cond_wait + 1228
frame #2: 0x0000000107178c64 FlutterMacOS`___lldb_unnamed_symbol1705 + 44
frame #3: 0x00000001071aa1dc FlutterMacOS`___lldb_unnamed_symbol2406 + 148
frame #4: 0x00000001071aaea8 FlutterMacOS`___lldb_unnamed_symbol2416 + 176
frame #5: 0x00000001057ad5c0 libsystem_pthread.dylib`_pthread_start + 136
thread #13, name = 'dart:io EventHandler'
frame #0: 0x000000019542c340 libsystem_kernel.dylib`kevent + 8
frame #1: 0x0000000107958cf4 FlutterMacOS`___lldb_unnamed_symbol28782 + 300
frame #2: 0x0000000107980408 FlutterMacOS`___lldb_unnamed_symbol29473 + 88
frame #3: 0x00000001057ad5c0 libsystem_pthread.dylib`_pthread_start + 136
thread #14
frame #0: 0x00000001057b7a8c libsystem_pthread.dylib`start_wqthread
thread #15, name = 'com.apple.NSEventThread'
frame #0: 0x00000001954261f4 libsystem_kernel.dylib`mach_msg2_trap + 8
frame #1: 0x0000000195438b24 libsystem_kernel.dylib`mach_msg2_internal + 80
frame #2: 0x000000019542ee34 libsystem_kernel.dylib`mach_msg_overwrite + 476
frame #3: 0x0000000195426578 libsystem_kernel.dylib`mach_msg + 24
frame #4: 0x0000000195546058 CoreFoundation`__CFRunLoopServiceMachPort + 160
frame #5: 0x000000019554491c CoreFoundation`__CFRunLoopRun + 1208
frame #6: 0x0000000195543e0c CoreFoundation`CFRunLoopRunSpecific + 608
frame #7: 0x0000000198ec5cb4 AppKit`_NSEventThread + 144
frame #8: 0x00000001057ad5c0 libsystem_pthread.dylib`_pthread_start + 136
thread #16, queue = 'com.Metal.CommandQueueDispatch'
frame #0: 0x0000000198c3ef4c IOKit`iokit_user_client_trap + 8
frame #1: 0x00000001b44dca30 IOGPU`IOGPUCommandQueueSubmitCommandBuffers + 164
frame #2: 0x00000001b44cc6b4 IOGPU`-[IOGPUMetalCommandQueue _submitCommandBuffers:count:] + 356
frame #3: 0x00000001b44cc528 IOGPU`-[IOGPUMetalCommandQueue submitCommandBuffers:count:] + 72
frame #4: 0x000000019f7ca38c Metal`-[_MTLCommandQueue _submitAvailableCommandBuffers] + 492
frame #5: 0x0000000105166ba4 libdispatch.dylib`_dispatch_client_callout + 20
frame #6: 0x000000010516a42c libdispatch.dylib`_dispatch_continuation_pop + 704
frame #7: 0x0000000105185bfc libdispatch.dylib`_dispatch_source_latch_and_call + 488
frame #8: 0x00000001051842b4 libdispatch.dylib`_dispatch_source_invoke + 868
frame #9: 0x000000010516fb98 libdispatch.dylib`_dispatch_lane_serial_drain + 368
frame #10: 0x0000000105170e7c libdispatch.dylib`_dispatch_lane_invoke + 416
frame #11: 0x0000000105180958 libdispatch.dylib`_dispatch_root_queue_drain_deferred_wlh + 652
frame #12: 0x000000010517fc30 libdispatch.dylib`_dispatch_workloop_worker_thread + 444
frame #13: 0x00000001057afd40 libsystem_pthread.dylib`_pthread_wqthread + 288
thread #17, name = 'caulk.messenger.shared:17'
frame #0: 0x0000000195426170 libsystem_kernel.dylib`semaphore_wait_trap + 8
frame #1: 0x000000019f9d7624 caulk`caulk::semaphore::timed_wait(double) + 212
frame #2: 0x000000019f9d74d8 caulk`caulk::concurrent::details::worker_thread::run() + 36
frame #3: 0x000000019f9d71d8 caulk`void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*>>>(void*) + 96
frame #4: 0x00000001057ad5c0 libsystem_pthread.dylib`_pthread_start + 136
thread #18, name = 'caulk.messenger.shared:high'
frame #0: 0x0000000195426170 libsystem_kernel.dylib`semaphore_wait_trap + 8
frame #1: 0x000000019f9d7624 caulk`caulk::semaphore::timed_wait(double) + 212
frame #2: 0x000000019f9d74d8 caulk`caulk::concurrent::details::worker_thread::run() + 36
frame #3: 0x000000019f9d71d8 caulk`void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*>>>(void*) + 96
frame #4: 0x00000001057ad5c0 libsystem_pthread.dylib`_pthread_start + 136
thread #35, name = 'caulk::deferred_logger'
frame #0: 0x0000000195426170 libsystem_kernel.dylib`semaphore_wait_trap + 8
frame #1: 0x000000019f9d7624 caulk`caulk::semaphore::timed_wait(double) + 212
frame #2: 0x000000019f9d74d8 caulk`caulk::concurrent::details::worker_thread::run() + 36
frame #3: 0x000000019f9d71d8 caulk`void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*>>>(void*) + 96
frame #4: 0x00000001057ad5c0 libsystem_pthread.dylib`_pthread_start + 136
thread #37, name = 'AQConverterThread'
frame #0: 0x00000001954299ec libsystem_kernel.dylib`__psynch_cvwait + 8
frame #1: 0x00000001057b1c00 libsystem_pthread.dylib`_pthread_cond_wait + 1228
frame #2: 0x00000001a44bfce4 libAudioToolboxUtility.dylib`CADeprecated::CAGuard::Wait() + 76
frame #3: 0x00000001a5795f88 AudioToolbox`AQConverterManager::AQConverterThread::ConverterThreadEntry(void*) + 572
frame #4: 0x00000001a449c254 libAudioToolboxUtility.dylib`CADeprecated::CAPThread::Entry(CADeprecated::CAPThread*) + 92
frame #5: 0x00000001057ad5c0 libsystem_pthread.dylib`_pthread_start + 136
thread #38, name = 'com.apple.audio.IOThread.client'
frame #0: 0x00000001954261f4 libsystem_kernel.dylib`mach_msg2_trap + 8
frame #1: 0x0000000195438b24 libsystem_kernel.dylib`mach_msg2_internal + 80
frame #2: 0x000000019542ee34 libsystem_kernel.dylib`mach_msg_overwrite + 476
frame #3: 0x0000000195426578 libsystem_kernel.dylib`mach_msg + 24
frame #4: 0x0000000197dff898 CoreAudio`HALB_MachPort::SendSimpleMessageWithSimpleReply(unsigned int, unsigned int, int, int&, bool, unsigned int) + 96
frame #5: 0x0000000197cd3b44 CoreAudio`HALC_ProxyIOContext::IOWorkLoop() + 4272
frame #6: 0x0000000197cd235c CoreAudio`invocation function for block in HALC_ProxyIOContext::HALC_ProxyIOContext(unsigned int, unsigned int) + 108
frame #7: 0x0000000197e584e4 CoreAudio`HALC_IOThread::Entry(void*) + 88
frame #8: 0x00000001057ad5c0 libsystem_pthread.dylib`_pthread_start + 136
thread #40, name = 'DartWorker'
frame #0: 0x00000001954299ec libsystem_kernel.dylib`__psynch_cvwait + 8
frame #1: 0x00000001057b1c2c libsystem_pthread.dylib`_pthread_cond_wait + 1272
frame #2: 0x0000000107a9c8b4 FlutterMacOS`___lldb_unnamed_symbol34231 + 128
frame #3: 0x0000000107adabfc FlutterMacOS`___lldb_unnamed_symbol35045 + 504
frame #4: 0x0000000107adade0 FlutterMacOS`___lldb_unnamed_symbol35046 + 136
frame #5: 0x0000000107a9bd18 FlutterMacOS`___lldb_unnamed_symbol34208 + 204
frame #6: 0x00000001057ad5c0 libsystem_pthread.dylib`_pthread_start + 136
thread #41
frame #0: 0x00000001954299ec libsystem_kernel.dylib`__psynch_cvwait + 8
frame #1: 0x00000001057b1c00 libsystem_pthread.dylib`_pthread_cond_wait + 1228
frame #2: 0x0000000108148c74 libffmpeg.7.dylib`___lldb_unnamed_symbol10069 + 80
frame #3: 0x00000001057ad5c0 libsystem_pthread.dylib`_pthread_start + 136
thread #42
frame #0: 0x00000001954299ec libsystem_kernel.dylib`__psynch_cvwait + 8
frame #1: 0x00000001057b1c00 libsystem_pthread.dylib`_pthread_cond_wait + 1228
frame #2: 0x0000000108148c74 libffmpeg.7.dylib`___lldb_unnamed_symbol10069 + 80
frame #3: 0x00000001057ad5c0 libsystem_pthread.dylib`_pthread_start + 136
thread #43
frame #0: 0x00000001954299ec libsystem_kernel.dylib`__psynch_cvwait + 8
frame #1: 0x00000001057b1c00 libsystem_pthread.dylib`_pthread_cond_wait + 1228
frame #2: 0x0000000108148c74 libffmpeg.7.dylib`___lldb_unnamed_symbol10069 + 80
frame #3: 0x00000001057ad5c0 libsystem_pthread.dylib`_pthread_start + 136
thread #44
frame #0: 0x00000001954299ec libsystem_kernel.dylib`__psynch_cvwait + 8
frame #1: 0x00000001057b1c00 libsystem_pthread.dylib`_pthread_cond_wait + 1228
frame #2: 0x0000000108148c74 libffmpeg.7.dylib`___lldb_unnamed_symbol10069 + 80
frame #3: 0x00000001057ad5c0 libsystem_pthread.dylib`_pthread_start + 136
thread #45
frame #0: 0x00000001954299ec libsystem_kernel.dylib`__psynch_cvwait + 8
frame #1: 0x00000001057b1c00 libsystem_pthread.dylib`_pthread_cond_wait + 1228
frame #2: 0x0000000108148c74 libffmpeg.7.dylib`___lldb_unnamed_symbol10069 + 80
frame #3: 0x00000001057ad5c0 libsystem_pthread.dylib`_pthread_start + 136
thread #46
frame #0: 0x00000001954299ec libsystem_kernel.dylib`__psynch_cvwait + 8
frame #1: 0x00000001057b1c00 libsystem_pthread.dylib`_pthread_cond_wait + 1228
frame #2: 0x0000000108148c74 libffmpeg.7.dylib`___lldb_unnamed_symbol10069 + 80
frame #3: 0x00000001057ad5c0 libsystem_pthread.dylib`_pthread_start + 136
thread #47
frame #0: 0x00000001954299ec libsystem_kernel.dylib`__psynch_cvwait + 8
frame #1: 0x00000001057b1c00 libsystem_pthread.dylib`_pthread_cond_wait + 1228
frame #2: 0x0000000108148c74 libffmpeg.7.dylib`___lldb_unnamed_symbol10069 + 80
frame #3: 0x00000001057ad5c0 libsystem_pthread.dylib`_pthread_start + 136
thread #48
frame #0: 0x00000001954299ec libsystem_kernel.dylib`__psynch_cvwait + 8
frame #1: 0x00000001057b1c00 libsystem_pthread.dylib`_pthread_cond_wait + 1228
frame #2: 0x0000000108148c74 libffmpeg.7.dylib`___lldb_unnamed_symbol10069 + 80
frame #3: 0x00000001057ad5c0 libsystem_pthread.dylib`_pthread_start + 136
thread #49
frame #0: 0x00000001954299ec libsystem_kernel.dylib`__psynch_cvwait + 8
frame #1: 0x00000001057b1c00 libsystem_pthread.dylib`_pthread_cond_wait + 1228
frame #2: 0x0000000108148c74 libffmpeg.7.dylib`___lldb_unnamed_symbol10069 + 80
frame #3: 0x00000001057ad5c0 libsystem_pthread.dylib`_pthread_start + 136
thread #50
frame #0: 0x00000001954299ec libsystem_kernel.dylib`__psynch_cvwait + 8
frame #1: 0x00000001057b1c00 libsystem_pthread.dylib`_pthread_cond_wait + 1228
frame #2: 0x0000000108148c74 libffmpeg.7.dylib`___lldb_unnamed_symbol10069 + 80
frame #3: 0x00000001057ad5c0 libsystem_pthread.dylib`_pthread_start + 136
thread #51, name = 'mdk.read@0x16c1d3000'
frame #0: 0x000000019542eb70 libsystem_kernel.dylib`poll + 8
frame #1: 0x00000001080dc7e8 libffmpeg.7.dylib`___lldb_unnamed_symbol9100 + 44
frame #2: 0x00000001080dc84c libffmpeg.7.dylib`___lldb_unnamed_symbol9101 + 56
frame #3: 0x000000010809556c libffmpeg.7.dylib`___lldb_unnamed_symbol8403 + 32
frame #4: 0x00000001081012c8 libffmpeg.7.dylib`___lldb_unnamed_symbol9483 + 136
frame #5: 0x00000001080a761c libffmpeg.7.dylib`___lldb_unnamed_symbol8602 + 68
frame #6: 0x00000001080a6a68 libffmpeg.7.dylib`___lldb_unnamed_symbol8600 + 148
frame #7: 0x00000001080a6238 libffmpeg.7.dylib`___lldb_unnamed_symbol8594 + 2812
frame #8: 0x00000001080a4ef0 libffmpeg.7.dylib`___lldb_unnamed_symbol8583 + 560
frame #9: 0x00000001081014a4 libffmpeg.7.dylib`___lldb_unnamed_symbol9484 + 288
frame #10: 0x0000000108101ea4 libffmpeg.7.dylib`___lldb_unnamed_symbol9495 + 272
frame #11: 0x0000000108101f2c libffmpeg.7.dylib`___lldb_unnamed_symbol9496 + 32
frame #12: 0x0000000105b08174 mdk`mdk::abi::AVFormatIO::onUrlChanged(this=0x0000600000155340) at AVFormatIO.cpp:172:5 [opt]
frame #13: 0x0000000105aab7b0 mdk`mdk::abi::MediaIO::setUrl(this=0x0000600000155340, url="http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62f3e4bc08f5ec000744f552/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=8e06b105-1f2c-11ef-86d8-5d587df108c6&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=e8eddbbb-a9fd-424c-9473-64dc6420b913") at MediaIO.cpp:120:10 [opt]
frame #14: 0x0000000105aa2b08 mdk`mdk::abi::PacketIOWrapper::open(this=0x000000011360b350) at PacketIO.cpp:590:20 [opt]
frame #15: 0x0000000105a8b21c mdk`std::__1::__async_assoc_state<void, std::__1::__async_func<mdk::abi::FrameReaderImpl::load()::$_20>>::__execute() [inlined] mdk::abi::FrameReaderImpl::internalOpen(this=0x0000000125918310) at FrameReader.cpp:1877:10 [opt]
frame #16: 0x0000000105a8b214 mdk`std::__1::__async_assoc_state<void, std::__1::__async_func<mdk::abi::FrameReaderImpl::load()::$_20>>::__execute() [inlined] mdk::abi::FrameReaderImpl::run(this=0x0000000125918310) at FrameReader.cpp:1522:10 [opt]
frame #17: 0x0000000105a8b214 mdk`std::__1::__async_assoc_state<void, std::__1::__async_func<mdk::abi::FrameReaderImpl::load()::$_20>>::__execute() [inlined] mdk::abi::FrameReaderImpl::load()::$_20::operator()(this=0x0000600001b5b290) at FrameReader.cpp:1730:9 [opt]
frame #18: 0x0000000105a8b214 mdk`std::__1::__async_assoc_state<void, std::__1::__async_func<mdk::abi::FrameReaderImpl::load()::$_20>>::__execute() [inlined] decltype(std::declval<mdk::abi::FrameReaderImpl::load()::$_20>()()) std::__1::__invoke[abi:un170006]<mdk::abi::FrameReaderImpl::load()::$_20>(__f=0x0000600001b5b290) at invoke.h:340:25 [opt]
frame #19: 0x0000000105a8b214 mdk`std::__1::__async_assoc_state<void, std::__1::__async_func<mdk::abi::FrameReaderImpl::load()::$_20>>::__execute() [inlined] void std::__1::__async_func<mdk::abi::FrameReaderImpl::load()::$_20>::__execute[abi:un170006]<>(this=0x0000600001b5b290, (null)=<unavailable>) at future:2195:16 [opt]
frame #20: 0x0000000105a8b214 mdk`std::__1::__async_assoc_state<void, std::__1::__async_func<mdk::abi::FrameReaderImpl::load()::$_20>>::__execute() [inlined] std::__1::__async_func<mdk::abi::FrameReaderImpl::load()::$_20>::operator()[abi:un170006](this=0x0000600001b5b290) at future:2188:16 [opt]
frame #21: 0x0000000105a8b214 mdk`std::__1::__async_assoc_state<void, std::__1::__async_func<mdk::abi::FrameReaderImpl::load()::$_20>>::__execute(this=0x0000600001b5b200) at future:1020:9 [opt]
frame #22: 0x0000000105a8ac24 mdk`void* std::__1::__thread_proxy[abi:un170006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (std::__1::__async_assoc_state<void, std::__1::__async_func<mdk::abi::FrameReaderImpl::load()::$_20>>::*)(), std::__1::__async_assoc_state<void, std::__1::__async_func<mdk::abi::FrameReaderImpl::load()::$_20>>*>>(void*) [inlined] decltype(*std::declval<std::__1::__async_assoc_state<void, std::__1::__async_func<mdk::abi::FrameReaderImpl::load()::$_20>>*>().*std::declval<void (std::__1::__async_assoc_state<void, std::__1::__async_func<mdk::abi::FrameReaderImpl::load()::$_20>>::*)()>()()) std::__1::__invoke[abi:un170006]<void (std::__1::__async_assoc_state<void, std::__1::__async_func<mdk::abi::FrameReaderImpl::load()::$_20>>::*)(), std::__1::__async_assoc_state<void, std::__1::__async_func<mdk::abi::FrameReaderImpl::load()::$_20>>*, void>(__f=0x0000600002a759e8, __a0=0x0000600002a759f8) at invoke.h:308:25 [opt]
frame #23: 0x0000000105a8ac08 mdk`void* std::__1::__thread_proxy[abi:un170006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (std::__1::__async_assoc_state<void, std::__1::__async_func<mdk::abi::FrameReaderImpl::load()::$_20>>::*)(), std::__1::__async_assoc_state<void, std::__1::__async_func<mdk::abi::FrameReaderImpl::load()::$_20>>*>>(void*) [inlined] void std::__1::__thread_execute[abi:un170006]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (std::__1::__async_assoc_state<void, std::__1::__async_func<mdk::abi::FrameReaderImpl::load()::$_20>>::*)(), std::__1::__async_assoc_state<void, std::__1::__async_func<mdk::abi::FrameReaderImpl::load()::$_20>>*, 2ul>(__t=size=3, (null)=<unavailable>) at thread.h:227:5 [opt]
frame #24: 0x0000000105a8ac08 mdk`void* std::__1::__thread_proxy[abi:un170006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (std::__1::__async_assoc_state<void, std::__1::__async_func<mdk::abi::FrameReaderImpl::load()::$_20>>::*)(), std::__1::__async_assoc_state<void, std::__1::__async_func<mdk::abi::FrameReaderImpl::load()::$_20>>*>>(__vp=0x0000600002a759e0) at thread.h:238:5 [opt]
frame #25: 0x00000001057ad5c0 libsystem_pthread.dylib`_pthread_start + 136
thread #52, name = 'CVDisplayLink'
frame #0: 0x00000001954299ec libsystem_kernel.dylib`__psynch_cvwait + 8
frame #1: 0x00000001057b1c2c libsystem_pthread.dylib`_pthread_cond_wait + 1272
frame #2: 0x000000019df40ee4 CoreVideo`CVDisplayLink::waitUntil(unsigned long long) + 328
frame #3: 0x000000019df3ffb0 CoreVideo`CVDisplayLink::runIOThread() + 504
frame #4: 0x00000001057ad5c0 libsystem_pthread.dylib`_pthread_start + 136
please create a new issue for the crash. no responding bug should be fixed
Describe the bug When the user quickly zaps between different channels, the app freezes and no longer responds. The log attached is coming from MacOS but I also noticed the same problem on other platforms.
App is launched using this command to get maximum logs:
Log
Another log a bit different: