ios崩溃cc::AudioEngineImpl::~AudioEngineImpl(),请各位大佬帮忙看看

  • Creator 版本: 3.8.2

  • 目标平台: ios

  • 重现方式:ios日志显示到resignActive(app进入后台)

  • 报错堆栈轨迹:

0  libsystem_kernel.dylib         0x16c8 mach_msg2_trap + 8
1  libsystem_kernel.dylib         0x4ec8 mach_msg2_internal + 80
2  libsystem_kernel.dylib         0x4de0 mach_msg_overwrite + 436
3  libsystem_kernel.dylib         0x4c20 mach_msg + 24
4  libEmbeddedSystemAUs.dylib     0xae890 AURemoteIO::Stop()
5  libEmbeddedSystemAUs.dylib     0xeb4c8 ausdk::AUMethodStop(void*)
6  AudioToolbox                   0x1ba2ac <redacted> + 264
7  OpenAL                         0x6af4 OALDevice::DisconnectContext(OALContext*) + 108
8  OpenAL                         0x3628 OALContext::DisconnectMixerFromDevice() + 52
9  OpenAL                         0x778c alcMakeContextCurrent + 464
10 HappyWord-mobile               0x6117c cc::AudioEngineImpl::~AudioEngineImpl() + 4301508988
11 HappyWord-mobile               0x612f8 cc::AudioEngineImpl::~AudioEngineImpl() + 4301509368
12 HappyWord-mobile               0x596a4 cc::AudioEngine::end() + 4301477540
13 HappyWord-mobile               0x1b0538 cc::Engine::destroy() + 4302882104
14 HappyWord-mobile               0x1b040c cc::Engine::~Engine() + 4302881804
15 HappyWord-mobile               0x579ec cc::CocosApplication::~CocosApplication() + 4301470188
16 HappyWord-mobile               0x57560 cocos_destory() + 4301469024
17 HappyWord-mobile               0x25c508 -[AppDelegateBridge applicationWillTerminate:] + 4303586568
18 UIKitCore                      0xec5130 -[UIApplication _terminateWithStatus:] + 196
19 UIKitCore                      0x19a170 -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:] + 112
20 UIKitCore                      0x7a9be4 -[_UISceneLifecycleMultiplexer forceExitWithTransitionContext:scene:] + 164
21 UIKitCore                      0xec081c -[UIApplication workspaceShouldExit:withTransitionContext:] + 164
22 FrontBoardServices             0x4e3e8 __63-[FBSWorkspaceScenesClient willTerminateWithTransitionContext:]_block_invoke_2 + 72
23 FrontBoardServices             0x166cc -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 168
24 FrontBoardServices             0x4e388 __63-[FBSWorkspaceScenesClient willTerminateWithTransitionContext:]_block_invoke + 128
25 libdispatch.dylib              0x3dd4 _dispatch_client_callout + 20
26 libdispatch.dylib              0x786c _dispatch_block_invoke_direct + 288
27 FrontBoardServices             0x17d58 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 52
28 FrontBoardServices             0x17cd8 -[FBSMainRunLoopSerialQueue _targetQueue_performNextIfPossible] + 240
29 FrontBoardServices             0x17bb0 -[FBSMainRunLoopSerialQueue _performNextFromRunLoopSource] + 28
30 CoreFoundation                 0x56834 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
31 CoreFoundation                 0x567c8 __CFRunLoopDoSource0 + 176
32 CoreFoundation                 0x54298 __CFRunLoopDoSources0 + 244
33 CoreFoundation                 0x53484 __CFRunLoopRun + 828
34 CoreFoundation                 0x52cd8 CFRunLoopRunSpecific + 608
35 GraphicsServices               0x11a8 GSEventRunModal + 164
36 UIKitCore                      0x40aae8 -[UIApplication _run] + 888
37 UIKitCore                      0x4bed98 UIApplicationMain + 340
38 HappyWord-mobile               0x2c508 main + 38 (main.mm:38)

在论坛上也看到类似的问题,但是都没有解决答案,求大佬解答。



遇到相同的问题

2.4.x 有相同问题么? ios 的 crash 率一直很高。咋整

你好 你的问题解决了吗 我的遇到这个问题了

你好 我的问题是在ios 切换到微信语音 然后就崩溃了 你有遇到过这个情况吗

com.bailing.lark.roll.dev_issue_2bf5f296db2772f87015498c9a92965e_crash_session_11330a98c5c14571bf4d1af94380a300_DNE_0_v2_stacktrace.txt.zip (4.7 KB)

我也是这个声音崩溃,这是崩溃日志,应该是进入后台之后这样的。
@Knox 大哥能帮忙看看吗?

根据后来的经验,崩溃日志走到AudioEngine,也不一定就是AudioEngine调用的问题。

1赞

请教下,你们怎么解决的呀,我有2个不同的崩溃日志,都是指向的cc::AudioEngineImpl::~AudioEngineImpl()

应该是进入后台,然后开了其他app,内存不足了,调用了applicationWillTerminate,然后就到了cc::AudioEngineImpl::~AudioEngineImpl()

这是2处崩溃日志,看上去像是一个问题,都是从后台回来的时候报的

com.apple.main-thread
0 libsystem_kernel.dylib 0xcd4 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x42f8 mach_msg2_internal + 76
2 libsystem_kernel.dylib 0x4214 mach_msg_overwrite + 428
3 libsystem_kernel.dylib 0x405c mach_msg + 24
4 libEmbeddedSystemAUs.dylib 0xcd94 AURemoteIO::Stop()
5 libEmbeddedSystemAUs.dylib 0xc578 ausdk::AUMethodStop(void*)
6 AudioToolbox 0x20ad1c + 312
7 OpenAL 0x5ef4 OALDevice::DisconnectContext(OALContext*) + 92
8 OpenAL 0x2998 OALContext::DisconnectMixerFromDevice() + 52
9 OpenAL 0x6bbc alcMakeContextCurrent + 460
10 rollgame-mobile 0xddcf0 cc::AudioEngineImpl::~AudioEngineImpl() + 4373568752
11 rollgame-mobile 0xdde68 cc::AudioEngineImpl::~AudioEngineImpl() + 4373569128
12 rollgame-mobile 0xd714c cc::AudioEngine::end() + 4373541196
13 rollgame-mobile 0x21dd4c cc::Engine::destroy() + 1037616
14 rollgame-mobile 0x21dc24 cc::Engine::~Engine() + 1037320
15 rollgame-mobile 0xd55b8 cc::CocosApplication::~CocosApplication() + 4373534136
16 rollgame-mobile 0xd2be4 cocos_destroy() + 4373523428
17 rollgame-mobile 0x2b5230 -[AppDelegateBridge applicationWillTerminate:] + 1657364
18 rollgame-mobile 0x8a00 -[AppDelegate applicationWillTerminate:] + 119 (AppDelegate.mm:119)
19 UIKitCore 0x1428ae0 -[UIApplication _terminateWithStatus:] + 196
20 UIKitCore 0xa2d348 -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:] + 112
21 UIKitCore 0xa2d0e8 -[_UISceneLifecycleMultiplexer forceExitWithTransitionContext:scene:] + 164
22 UIKitCore 0x1421ff0 -[UIApplication workspaceShouldExit:withTransitionContext:] + 164
23 FrontBoardServices 0x4a5b0 __63-[FBSWorkspaceScenesClient willTerminateWithTransitionContext:]_block_invoke + 72
24 FrontBoardServices 0x2bf00 -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 168
25 libdispatch.dylib 0x1b7fc _dispatch_client_callout + 16
26 libdispatch.dylib 0x6bb4 _dispatch_block_invoke_direct + 284
27 BoardServices 0x91d4 BSSERVICEMAINRUNLOOPQUEUE_IS_CALLING_OUT_TO_A_BLOCK + 52
28 BoardServices 0x9054 BSServiceMainRunLoopSourceHandler + 224
29 CoreFoundation 0x68f10 CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 28
30 CoreFoundation 0x68e84 __CFRunLoopDoSource0 + 172
31 CoreFoundation 0x46acc __CFRunLoopDoSources0 + 232
32 CoreFoundation 0x1d6d8 __CFRunLoopRun + 820
33 CoreFoundation 0x1ca6c _CFRunLoopRunSpecificWithOptions + 532
34 GraphicsServices 0x1498 GSEventRunModal + 120
35 UIKitCore 0x9ddf8 -[UIApplication _run] + 792
36 UIKitCore 0x46e54 UIApplicationMain + 336
37 rollgame-mobile 0x14f60 main + 38 (main.mm:38)
38 ??? 0x18c4e6e28 (缺少)

————————————————————————————————————

Thread 0 name:
Thread 0:
0 libAudioDSP.dylib 0x00000001ea8d0ec8 std::__1::optional<AUSM::UserDefaults::KeyTraits<(AUSM::UserDefaults::Feature)9>::Type> AUSM::UserDefaults::getValue<(AUSM::UserDefaults::Feature)9>() + 0 (AUSMUserDefaults.h:90)
1 libAudioDSP.dylib 0x00000001ea8cfa60 AUSpatialMixerV2::Cleanup() + 240 (AUSpatialMixerV2.mm:1105)
2 libAudioDSP.dylib 0x00000001eac55004 ausdk::AUBase::DoCleanup() + 76 (AUBase.cpp:222)
3 libAudioDSP.dylib 0x00000001eac54f30 ausdk::AUBase::PreDestructorInternal() + 76 (AUBase.cpp:120)
4 libAudioDSP.dylib 0x00000001eac4afa0 ausdk::ComponentBase::AP_Close(void*) + 104 (ComponentBase.cpp:67)
5 AudioToolboxCore 0x000000019ba06008 AudioComponentInstanceDispose + 88 (AudioComponentAPI.cpp:456)
6 AudioToolbox 0x00000001c666cd54 AudioUnitNodeInfo::Close() + 32 (AudioUnitGraph.cpp:3390)
7 AudioToolbox 0x00000001c666d070 AudioUnitNodeInfo::~AudioUnitNodeInfo() + 148 (AudioUnitGraph.cpp:3312)
8 AudioToolbox 0x00000001c666cfb4 AudioUnitNodeInfo::~AudioUnitNodeInfo() + 16 (AudioUnitGraph.cpp:3306)
9 AudioToolbox 0x00000001c666bdcc AudioUnitGraph::DoRemoveNode(int, AUNodeInfo**) + 248 (AudioUnitGraph.cpp:3052)
10 AudioToolbox 0x00000001c666db4c AUGraphRemoveNode + 364 (AudioUnitGraph.cpp:317)
11 OpenAL 0x0000000247586f44 OALDevice::RemoveContext(OALContext*) + 48 (oalDevice.cpp:598)
12 OpenAL 0x0000000247582c90 OALContext::~OALContext() + 456 (oalContext.cpp:222)
13 OpenAL 0x000000024758a63c alcDestroyContext + 660 (oalImp.cpp:998)
14 rollgame-mobile 0x00000001047d5cf8 cc::AudioEngineImpl::~AudioEngineImpl() + 240
15 rollgame-mobile 0x00000001047d5e68 cc::AudioEngineImpl::~AudioEngineImpl() + 12
16 rollgame-mobile 0x00000001047cf14c cc::AudioEngine::end() + 68
17 rollgame-mobile 0x0000000104915d4c cc::Engine::destroy() + 48
18 rollgame-mobile 0x0000000104915c24 cc::Engine::~Engine() + 32
19 rollgame-mobile 0x00000001047cd5b8 cc::CocosApplication::~CocosApplication() + 192
20 rollgame-mobile 0x00000001047cabe4 cocos_destroy() + 108
21 rollgame-mobile 0x00000001049ad230 -[AppDelegateBridge applicationWillTerminate:] + 48
22 rollgame-mobile 0x0000000104700a00 -[AppDelegate applicationWillTerminate:] + 84 (AppDelegate.mm:118)
23 UIKitCore 0x000000019625dae0 -[UIApplication _terminateWithStatus:] + 196 (UIApplication.m:7560)
24 UIKitCore 0x0000000195862348 -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:] + 112 (_UISceneLifecycleMultiplexer.m:823)
25 UIKitCore 0x00000001958620e8 -[_UISceneLifecycleMultiplexer forceExitWithTransitionContext:scene:] + 164 (_UISceneLifecycleMultiplexer.m:486)
26 UIKitCore 0x0000000196256ff0 -[UIApplication workspaceShouldExit:withTransitionContext:] + 164 (UIApplication.m:4246)
27 FrontBoardServices 0x00000001af5fc5b0 __63-[FBSWorkspaceScenesClient willTerminateWithTransitionContext:]_block_invoke + 72 (FBSWorkspaceScenesClient.m:805)
28 FrontBoardServices 0x00000001af5ddf00 -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 168 (FBSWorkspace.m:579)
29 libdispatch.dylib 0x00000001c801d7fc _dispatch_client_callout + 16 (client_callout.mm:85)
30 libdispatch.dylib 0x00000001c8008bb4 _dispatch_block_invoke_direct + 284 (queue.c:539)
31 BoardServices 0x00000001a6cc41d4 BSSERVICEMAINRUNLOOPQUEUE_IS_CALLING_OUT_TO_A_BLOCK + 52 (BSServiceQueue.m:307)
32 BoardServices 0x00000001a6cc4054 BSServiceMainRunLoopSourceHandler + 224 (BSServiceQueue.m:215)
33 CoreFoundation 0x000000018f545f10 CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 28 (CFRunLoop.c:2021)
34 CoreFoundation 0x000000018f545e84 __CFRunLoopDoSource0 + 172 (CFRunLoop.c:2065)
35 CoreFoundation 0x000000018f523b30 __CFRunLoopDoSources0 + 332 (CFRunLoop.c:2110)
36 CoreFoundation 0x000000018f4fa6d8 __CFRunLoopRun + 820 (CFRunLoop.c:2983)
37 CoreFoundation 0x000000018f4f9a6c _CFRunLoopRunSpecificWithOptions + 532 (CFRunLoop.c:3462)
38 GraphicsServices 0x0000000231128498 GSEventRunModal + 120 (GSEvent.c:2049)
39 UIKitCore 0x0000000194ed2df8 -[UIApplication _run] + 792 (UIApplication.m:3904)
40 UIKitCore 0x0000000194e7be54 UIApplicationMain + 336 (UIApplication.m:5579)
41 rollgame-mobile 0x000000010470cf60 main + 132 (main.mm:38)
42 dyld 0x000000018c4e6e28 start + 7116 (dyldMain.cpp:1477)

我找到问题了,3.8.7版本AudioPlayer.mm的#if CC_TARGET_PLATFORM == CC_PLATFORM_IOS,应该是#if CC_PLATFORM == CC_PLATFORM_IOS,宏写错了,代码块进不去

2赞

牛牛牛牛牛牛牛牛牛啊

感谢反馈,我们会跟进处理。

大佬,牛掰

官方能帮忙确认下是要改成这个吗?#if CC_PLATFORM == CC_PLATFORM_IOS?怎么查AI都说#if CC_TARGET_PLATFORM == CC_PLATFORM_IOS才是正确的?

debug的时候,只有CC_PLATFORM 才能进去相关代码。另外,其他的逻辑其实也是用CC_PLATFORM

好的,谢谢!!!