google/filament

iOS build crash with filament::backend::DepthStateCreator::operator()

Opened this issue · 1 comments

⚠️ Issues not using this template will be systematically closed.

Describe the bug
I have got a crash when I load a model using metal, would appreciate a solution, many thanks

To Reproduce
first load model ,not crash, but when i reload model, crashed

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
image

Logs
If applicable, copy full logs from your console here. Please do not
use screenshots of logs, copy them as text, use gist or attach an uncompressed file.

Desktop (please complete the following information):

  • OS: mac os sonoma 14.3.1
  • GPU: [e.g. NVIDIA GTX 1080]
  • Backend: Metal
  • Filament: version 1.50.0

Smartphone (please complete the following information):

  • Device: [e.g. Pixel 2]
  • OS: iOS 14.4
  • Xcode: Version 15.2 (15C500b)

Additional context

(lldb) bt
* thread #35, name = 'FEngine::loop', stop reason = EXC_BAD_ACCESS (code=1, address=0x58e79a98)
  * frame #0: 0x0000000197c98c90 libobjc.A.dylib`objc_retain + 16
    frame #1: 0x000000010db1ce28 libMTLCapture.dylib`___lldb_unnamed_symbol3085 + 72
    frame #2: 0x000000010db1c614 libMTLCapture.dylib`___lldb_unnamed_symbol3077 + 104
    frame #3: 0x0000000106c30e4c SoundCore`filament::backend::DepthStateCreator::operator()(id<MTLDevice>, filament::backend::DepthStencilState const&) + 300
    frame #4: 0x0000000106c19bd8 SoundCore`filament::backend::StateCache<filament::backend::DepthStencilState, id<MTLDepthStencilState> __strong, filament::backend::DepthStateCreator, utils::hash::MurmurHashFn<filament::backend::DepthStencilState>>::getOrCreateState(filament::backend::DepthStencilState const&) + 380
    frame #5: 0x0000000106c23900 SoundCore`filament::backend::ConcreteDispatcher<filament::backend::MetalDriver>::draw(filament::backend::Driver&, filament::backend::CommandBase*, long*) + 2020
    frame #6: 0x0000000106bfea08 SoundCore`std::__1::__function::__func<filament::backend::CommandStream::execute(void*)::$_0, std::__1::allocator<filament::backend::CommandStream::execute(void*)::$_0>, void ()>::operator()() + 52
    frame #7: 0x0000000106c25320 SoundCore`filament::backend::MetalDriver::execute(std::__1::function<void ()> const&) + 44
    frame #8: 0x0000000106bfe774 SoundCore`filament::backend::CommandStream::execute(void*) + 96
    frame #9: 0x0000000107162ccc SoundCore`filament::FEngine::loop() + 444
    frame #10: 0x00000001071667e0 SoundCore`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, int (filament::FEngine::*)(), filament::FEngine*>>(void*) + 64
    frame #11: 0x00000001cc083c9c libsystem_pthread.dylib`_pthread_start + 288
Message from debugger: killed

but when i reload model, crashed

How are you loading your model? Are you using gltfio? If you're able to, can you share the model?