cocos creator 3.0 iOS 退到后台crash

  • Creator 版本: cocos creator 3.0

  • 目标平台: iOS

  • 重现方式:暂停游戏,或退到后台

  • 首个报错:
    [ERROR]: [ERROR] file xx/cocos/renderer/gfx-metal/MTLCommandBuffer.mm: line 452
    [ERROR]: Sampler binding cc_spriteTexture at set 2 binding 10 is not bounded.

validateFunctionArguments:3577: failed assertion `Fragment Function(main0): missing sampler binding at index 0 for cc_spriteTextureSmplr[0].'


* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
    frame #0: 0x0000000181d14df0 libsystem_kernel.dylib`__pthread_kill + 8
    frame #1: 0x0000000181c34948 libsystem_pthread.dylib`pthread_kill + 228
    frame #2: 0x0000000181bc3ba4 libsystem_c.dylib`abort + 104
    frame #3: 0x0000000181bc2ea4 libsystem_c.dylib`__assert_rtn + 208
    frame #4: 0x0000000196658e98 Metal`MTLReportFailure.cold.2 + 56
    frame #5: 0x00000001966444ec Metal`MTLReportFailure + 492
    frame #6: 0x00000001b2ca71f0 MetalTools`validateFunctionArguments(id<MTLDevice>, NSString*, NSString, NSArray*, MTLDebugFunctionArgument*, unsigned long, MTLDebugFunctionArgument, unsigned long, MTLDebugFunctionArgument, unsigned long, unsigned long long, MTLDebugFunctionArgument, unsigned long) + 2420
    frame #7: 0x00000001b2cad390 MetalTools`-[MTLDebugRenderCommandEncoder validateCommonDrawErrors:instanceCount:baseInstance:maxVertexID:] + 1236
    frame #8: 0x00000001b2cade78 MetalTools`-[MTLDebugRenderCommandEncoder validateDrawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferOffset:instanceCount:function:] + 184
    frame #9: 0x00000001b2cae0e0 MetalTools`-[MTLDebugRenderCommandEncoder drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferOffset:] + 144
    frame #10: 0x000000010d7ff7a8 libMTLCapture.dylib`___lldb_unnamed_symbol932$$libMTLCapture.dylib + 188
  * frame #11: 0x00000001060d9624 `cc::gfx::CCMTLCommandBuffer::draw(this=0x000000011c0ff130, ia=0x0000000283ef7c80) at MTLCommandBuffer.mm:275:21
    frame #12: 0x00000001062a1de0 `cc::pipeline::UIPhase::render(this=0x0000000281299e10, camera=0x0000000145fe4000, renderPass=0x00000002821872a0) at UIPhase.cpp:64:22
    frame #13: 0x0000000105c0ddf4 `cc::pipeline::ForwardStage::render(this=0x0000000282b9b4d0, camera=0x0000000145fe4000) at ForwardStage.cpp:205:15
    frame #14: 0x000000010619bfdc `cc::pipeline::RenderFlow::render(this=0x00000002833b97c0, camera=0x0000000145fe4000) at RenderFlow.cpp:54:16
    frame #15: 0x0000000105bfe20c `cc::pipeline::ForwardFlow::render(this=0x00000002833b97c0, camera=0x0000000145fe4000) at ForwardFlow.cpp:61:17
    frame #16: 0x0000000105c012a0 `cc::pipeline::ForwardPipeline::render(this=0x000000011d2b6600, cameras=size=2) at ForwardPipeline.cpp:152:19
    frame #17: 0x0000000105ed9674 `js_pipeline_RenderPipeline_render(s=0x000000016ae8c800) at jsb_pipeline_auto.cpp:2093:15
    frame #18: 0x0000000105ed9328 `js_pipeline_RenderPipeline_renderRegistry(_v8args=0x000000016ae8c940) at jsb_pipeline_auto.cpp:2099:1
    frame #19: 0x0000000106f975fc `v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo) + 568
    frame #20: 0x0000000106f96b80 `v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<false>(v8::internal::Isolate*, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::FunctionTemplateInfo>, v8::internal::Handle<v8::internal::Object>, v8::internal::BuiltinArguments) + 596
    frame #21: 0x0000000106f96204 `v8::internal::Builtin_Impl_HandleApiCall(v8::internal::BuiltinArguments, v8::internal::Isolate*) + 276
    frame #22: 0x00000001078ae10c `Builtins_CEntry_Return1_DontSaveFPRegs_ArgvOnStack_BuiltinExit + 108
    frame #23: 0x000000010783b3c4 `Builtins_InterpreterEntryTrampoline + 228
    frame #24: 0x000000010783b3c4 `Builtins_InterpreterEntryTrampoline + 228
    frame #25: 0x000000010783b3c4 `Builtins_InterpreterEntryTrampoline + 228
    frame #26: 0x000000010783b3c4 `Builtins_InterpreterEntryTrampoline + 228
    frame #27: 0x000000010783b3c4 `Builtins_InterpreterEntryTrampoline + 228
    frame #28: 0x0000000107838904 `Builtins_JSEntryTrampoline + 164
    frame #29: 0x00000001078385ac `Builtins_JSEntry + 172

* 重现概率: 10%

这个问题最后有找到原因吗?

老哥,有找到上面原因吗?我也碰到了

请问有找到原因吗?3.8.2也有该问题

奇怪,昨天还正常,今天打包就报错了,这个错误有确定原因吗?3.8.5

发现勾选Debug调试模式就报错,不勾选就没事! :joy: