Giter VIP home page Giter VIP logo

Comments (4)

Bogdan-Belogurov avatar Bogdan-Belogurov commented on June 27, 2024 1

@evil159
Thanks for the reply 🙏🏿 It's hard to reproduce because I can't figure out the steps but I'll try 🤔

from mapbox-maps-ios.

evil159 avatar evil159 commented on June 27, 2024

@Bogdan-Belogurov Hard to say from the stack traces alone, could you put together a sample project exhibiting the crash? It would help a great deal if we could reproduce it on our end.

from mapbox-maps-ios.

MichaelDanielTom avatar MichaelDanielTom commented on June 27, 2024

I've also been getting crashes coming from various places in MetalView.draw. Our project also updates geojson source frequently (in order to animate some symbol and model layers). Sometimes the app crashes, sometimes the app freezes without crashing. It's been hard to reproduce reliably for me, as it seems like whatever's causing these crashes is triggered somewhere upstream, but will try to isolate as well. One thing to note in our case, is that the crashes occur usually when we are animating the camera with a camera animator.

Here are a few of the stack traces from when the app was terminated when it became unresponsive.

Trace 1 in mbgl::metal::UploadPass::updateTextureRegion App Hang: The app was terminated while unresponsive

0 libsystem_kernel.dylib +0x1804 _mach_msg2_trap
1 libsystem_kernel.dylib +0x5004 _mach_msg2_internal
2 IOKit +0x5438 _io_connect_method
3 IOKit +0x112a0 _IOConnectCallMethod
4 IOGPU +0x82bc _IOGPUResourceCreate
5 IOGPU +0x756c -[IOGPUMetalResource initWithDevice:options:args:argsSize:]
6 IOGPU +0x5afc -[IOGPUMetalBuffer initWithPrimaryBuffer:heapIndex:bufferIndex:bufferOffset:length:args:argsSize:]
7 AGXMetalG16P_B0 +0x9ca9c -[AGXBuffer(Internal) initWithDevice:length:alignment:options:isSuballocDisabled:resourceInArgs:pinnedGPULocation:]
8 AGXMetalG16P_B0 +0x9c89c -[AGXBuffer initWithDevice:length:alignment:options:isSuballocDisabled:pinnedGPULocation:]
9 MapboxCoreMaps +0xf0088 mbgl::metal::DrawScopeResource::getBuffer(mbgl::metal::Context&, unsigned long long)
10 MapboxCoreMaps +0x117c38 _ZN4mbgl5metal7ProgramINS_12ModelProgramEE6doDrawERNS0_7ContextERNS0_10RenderPassENS_3gfx10RenderModeERKNS8_8DrawModeERKNS8_9DepthModeERKNS8_11StencilModeERKNS8_9ColorModeERKNS8_12CullFaceModeERKNS8_13UniformValuesINS_8TypeListIJNS_8uniforms6matrixENSR_15lighting_matrixENSR_13normal_matrixENSR_7opacityENSR_9color_mixENSR_15baseColorFactorENSR_14metallicFactorENSR_15roughnessFactorENSR_14emissiveFactorENSR_10lightcolorENSR_8lightposENSR_14lightintensityENSR_10camera_posENSR_18baseTextureIsAlphaENSR_14inv_depth_sizeENSR_9alphaMaskENSR_11alphaCutoffENSR_11aoIntensityENSR_24indicator_cutout_centersENSR_23indicator_cutout_paramsENSR_13cutoff_paramsENSR_17emissive_strengthENSR_25occlusionTextureTransformEEEEEERNS0_17DrawScopeResourceERKNS8_17AttributeBindingsINSQ_IJNS_10attributes6pos_3fENS1M_9normal_3fENS1M_8color_3fENS1M_8color_4fENS1M_5uv_2fENS1M_3pbrENS1M_27heightBasedEmissiveStrengthENS1M_14normal_matrix0ENS1M_14normal_matrix1ENS1M_14normal_matrix2ENS1M_14normal_matrix3EEEEEERKNS8_15TextureBindingsINSQ_IJNS_8textures16baseColorTextureENS23_24metallicRoughnessTextureENS23_13normalTextureENS23_15emissionTextureENS23_16occlusionTextureENS23_12depthTextureEEEEEERKNS8_11IndexBufferEmmj
11 MapboxCoreMaps +0x1166f0 _ZN4mbgl5metal7ProgramINS_12ModelProgramEE4drawERNS_3gfx7ContextERNS4_10RenderPassENS4_10RenderModeERKNS4_8DrawModeERKNS4_9DepthModeERKNS4_11StencilModeERKNS4_9ColorModeERKNS4_12CullFaceModeERKNS4_13UniformValuesINS_8TypeListIJNS_8uniforms6matrixENSR_15lighting_matrixENSR_13normal_matrixENSR_7opacityENSR_9color_mixENSR_15baseColorFactorENSR_14metallicFactorENSR_15roughnessFactorENSR_14emissiveFactorENSR_10lightcolorENSR_8lightposENSR_14lightintensityENSR_10camera_posENSR_18baseTextureIsAlphaENSR_14inv_depth_sizeENSR_9alphaMaskENSR_11alphaCutoffENSR_11aoIntensityENSR_24indicator_cutout_centersENSR_23indicator_cutout_paramsENSR_13cutoff_paramsENSR_17emissive_strengthENSR_25occlusionTextureTransformEEEEEERNS4_9DrawScopeERKNS4_17AttributeBindingsINSQ_IJNS_10attributes6pos_3fENS1M_9normal_3fENS1M_8color_3fENS1M_8color_4fENS1M_5uv_2fENS1M_3pbrENS1M_27heightBasedEmissiveStrengthENS1M_14normal_matrix0ENS1M_14normal_matrix1ENS1M_14normal_matrix2ENS1M_14normal_matrix3EEEEEERKNS4_15TextureBindingsINSQ_IJNS_8textures16baseColorTextureENS23_24metallicRoughnessTextureENS23_13normalTextureENS23_15emissionTextureENS23_16occlusionTextureENS23_12depthTextureEEEEEERKNS4_11IndexBufferEmmjb
12 MapboxCoreMaps +0x2f5a30 (anonymous namespace)::renderInstanced(mbgl::models::Node const&, mbgl::ModelBucket::NodeAttributes&, (anonymous namespace)::LayerParameters const&, mbgl::PaintParameters&, mbgl::gfx::StencilMode const&, glm::mat<4, 4, double, (glm::qualifier)0> const&, mbgl::UnwrappedTileID const&, glm::vec<3, float, (glm::qualifier)0> const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, bool)
13 MapboxCoreMaps +0x2e295c mbgl::RenderModelLayer::render(mbgl::PaintParameters&)
14 MapboxCoreMaps +0x34a81c mbgl::(anonymous namespace)::LayerRenderItemImpl::render(mbgl::PaintParameters&) const
15 MapboxCoreMaps +0x368e24 mbgl::Renderer::Impl::render(mbgl::RenderTree const&)
16 MapboxCoreMaps +0x35ae98 mbgl::Renderer::render(std::__1::shared_ptrmbgl::UpdateParameters const&)
17 MapboxCoreMaps +0xa3240 mapbox::maps::MapImpl::Impl::render()
18 MapboxCoreMaps +0x9e2b4 __ZN6mapbox5metal15RendererBackend10createViewENSt3__110shared_ptrINS_4maps9MapClientEEENS_4base7WeakPtrINS4_19MapRendererDelegateEEE_block_invoke
19 MapboxMaps +0x1b4918 @objc MetalView.DelegateImpl.draw(in:)
20 MetalKit +0x74b0 -[MTKView draw]
21 MapboxMaps +0x1a5ed0 MapView.updateFromDisplayLink(displayLink:)
22 MapboxMaps +0x1a66a0 closure #1 in MapView.didMoveToWindow()
23 MapboxMaps +0xeec98 @objc ForwardingDisplayLinkTarget.update(with:) (ForwardingDispalyLinkTarget.swift:11:9)
24 QuartzCore +0xd0ec8 CA::Display::DisplayLinkItem::dispatch
(CA::SignPost::Interval<(CA::SignPost::CAEventCode)835322056>&)
25 QuartzCore +0xcf22c CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long)
26 QuartzCore +0xcedcc CA::Display::DisplayLink::dispatch_deferred_display_links(unsigned int)
27 UIKitCore +0xb7768
28 UIKitCore +0xb73ac
29 UIKitCore +0xb8250
30 CoreFoundation +0x56830 _CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION
31 CoreFoundation +0x567c4 ___CFRunLoopDoSource0
32 CoreFoundation +0x542f4 ___CFRunLoopDoSources0
33 CoreFoundation +0x53480 ___CFRunLoopRun
34 CoreFoundation +0x52cd4 _CFRunLoopRunSpecific
35 GraphicsServices +0x11a4 _GSEventRunModal
36 UIKitCore +0x40a908
37 UIKitCore +0x4be9cc UIApplicationMain
38 Radiate +0x103c8 main (main.m:16:16)
39 dyld +0x3ce48 start

Trace 2 in mbgl::metal::DrawScopeResource::getBuffer 0 libsystem_kernel.dylib +0x1804 _mach_msg2_trap 1 libsystem_kernel.dylib +0x5004 _mach_msg2_internal 2 IOKit +0x5438 _io_connect_method 3 IOKit +0x112a0 _IOConnectCallMethod 4 IOGPU +0x82bc _IOGPUResourceCreate 5 IOGPU +0x756c -[IOGPUMetalResource initWithDevice:options:args:argsSize:] 6 IOGPU +0x5afc -[IOGPUMetalBuffer initWithPrimaryBuffer:heapIndex:bufferIndex:bufferOffset:length:args:argsSize:] 7 AGXMetalG16P_B0 +0x9ca9c -[AGXBuffer(Internal) initWithDevice:length:alignment:options:isSuballocDisabled:resourceInArgs:pinnedGPULocation:] 8 AGXMetalG16P_B0 +0x9c89c -[AGXBuffer initWithDevice:length:alignment:options:isSuballocDisabled:pinnedGPULocation:] 9 MapboxCoreMaps +0xf0088 mbgl::metal::DrawScopeResource::getBuffer(mbgl::metal::Context&, unsigned long long) 10 MapboxCoreMaps +0x117c38 _ZN4mbgl5metal7ProgramINS_12ModelProgramEE6doDrawERNS0_7ContextERNS0_10RenderPassENS_3gfx10RenderModeERKNS8_8DrawModeERKNS8_9DepthModeERKNS8_11StencilModeERKNS8_9ColorModeERKNS8_12CullFaceModeERKNS8_13UniformValuesINS_8TypeListIJNS_8uniforms6matrixENSR_15lighting_matrixENSR_13normal_matrixENSR_7opacityENSR_9color_mixENSR_15baseColorFactorENSR_14metallicFactorENSR_15roughnessFactorENSR_14emissiveFactorENSR_10lightcolorENSR_8lightposENSR_14lightintensityENSR_10camera_posENSR_18baseTextureIsAlphaENSR_14inv_depth_sizeENSR_9alphaMaskENSR_11alphaCutoffENSR_11aoIntensityENSR_24indicator_cutout_centersENSR_23indicator_cutout_paramsENSR_13cutoff_paramsENSR_17emissive_strengthENSR_25occlusionTextureTransformEEEEEERNS0_17DrawScopeResourceERKNS8_17AttributeBindingsINSQ_IJNS_10attributes6pos_3fENS1M_9normal_3fENS1M_8color_3fENS1M_8color_4fENS1M_5uv_2fENS1M_3pbrENS1M_27heightBasedEmissiveStrengthENS1M_14normal_matrix0ENS1M_14normal_matrix1ENS1M_14normal_matrix2ENS1M_14normal_matrix3EEEEEERKNS8_15TextureBindingsINSQ_IJNS_8textures16baseColorTextureENS23_24metallicRoughnessTextureENS23_13normalTextureENS23_15emissionTextureENS23_16occlusionTextureENS23_12depthTextureEEEEEERKNS8_11IndexBufferEmmj 11 MapboxCoreMaps +0x1166f0 _ZN4mbgl5metal7ProgramINS_12ModelProgramEE4drawERNS_3gfx7ContextERNS4_10RenderPassENS4_10RenderModeERKNS4_8DrawModeERKNS4_9DepthModeERKNS4_11StencilModeERKNS4_9ColorModeERKNS4_12CullFaceModeERKNS4_13UniformValuesINS_8TypeListIJNS_8uniforms6matrixENSR_15lighting_matrixENSR_13normal_matrixENSR_7opacityENSR_9color_mixENSR_15baseColorFactorENSR_14metallicFactorENSR_15roughnessFactorENSR_14emissiveFactorENSR_10lightcolorENSR_8lightposENSR_14lightintensityENSR_10camera_posENSR_18baseTextureIsAlphaENSR_14inv_depth_sizeENSR_9alphaMaskENSR_11alphaCutoffENSR_11aoIntensityENSR_24indicator_cutout_centersENSR_23indicator_cutout_paramsENSR_13cutoff_paramsENSR_17emissive_strengthENSR_25occlusionTextureTransformEEEEEERNS4_9DrawScopeERKNS4_17AttributeBindingsINSQ_IJNS_10attributes6pos_3fENS1M_9normal_3fENS1M_8color_3fENS1M_8color_4fENS1M_5uv_2fENS1M_3pbrENS1M_27heightBasedEmissiveStrengthENS1M_14normal_matrix0ENS1M_14normal_matrix1ENS1M_14normal_matrix2ENS1M_14normal_matrix3EEEEEERKNS4_15TextureBindingsINSQ_IJNS_8textures16baseColorTextureENS23_24metallicRoughnessTextureENS23_13normalTextureENS23_15emissionTextureENS23_16occlusionTextureENS23_12depthTextureEEEEEERKNS4_11IndexBufferEmmjb 12 MapboxCoreMaps +0x2f5a30 (anonymous namespace)::renderInstanced(mbgl::models::Node const&, mbgl::ModelBucket::NodeAttributes&, (anonymous namespace)::LayerParameters const&, mbgl::PaintParameters&, mbgl::gfx::StencilMode const&, glm::mat<4, 4, double, (glm::qualifier)0> const&, mbgl::UnwrappedTileID const&, glm::vec<3, float, (glm::qualifier)0> const&, std::__1::basic_string, std::__1::allocator > const&, bool) 13 MapboxCoreMaps +0x2e295c mbgl::RenderModelLayer::render(mbgl::PaintParameters&) 14 MapboxCoreMaps +0x34a81c mbgl::(anonymous namespace)::LayerRenderItemImpl::render(mbgl::PaintParameters&) const 15 MapboxCoreMaps +0x368e24 mbgl::Renderer::Impl::render(mbgl::RenderTree const&) 16 MapboxCoreMaps +0x35ae98 mbgl::Renderer::render(std::__1::shared_ptr const&) 17 MapboxCoreMaps +0xa3240 mapbox::maps::MapImpl::Impl::render() 18 MapboxCoreMaps +0x9e2b4 ___ZN6mapbox5metal15RendererBackend10createViewENSt3__110shared_ptrINS_4maps9MapClientEEENS_4base7WeakPtrINS4_19MapRendererDelegateEEE_block_invoke 19 MapboxMaps +0x1b4918 @objc MetalView.DelegateImpl.draw(in:) 20 MetalKit +0x74b0 -[MTKView draw] 21 MapboxMaps +0x1a5ed0 MapView.updateFromDisplayLink(displayLink:) 22 MapboxMaps +0x1a66a0 closure #1 in MapView.didMoveToWindow() 23 MapboxMaps +0xeec98 @objc ForwardingDisplayLinkTarget.update(with:) (ForwardingDispalyLinkTarget.swift:11:9) 24 QuartzCore +0xd0ec8 CA::Display::DisplayLinkItem::dispatch_(CA::SignPost::Interval<(CA::SignPost::CAEventCode)835322056>&) 25 QuartzCore +0xcf22c CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) 26 QuartzCore +0xcedcc CA::Display::DisplayLink::dispatch_deferred_display_links(unsigned int) 27 UIKitCore +0xb7768 28 UIKitCore +0xb73ac 29 UIKitCore +0xb8250 30 CoreFoundation +0x56830 ___CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ 31 CoreFoundation +0x567c4 ___CFRunLoopDoSource0 32 CoreFoundation +0x542f4 ___CFRunLoopDoSources0 33 CoreFoundation +0x53480 ___CFRunLoopRun 34 CoreFoundation +0x52cd4 _CFRunLoopRunSpecific 35 GraphicsServices +0x11a4 _GSEventRunModal 36 UIKitCore +0x40a908 37 UIKitCore +0x4be9cc UIApplicationMain 38 Radiate +0x103c8 main (main.m:16:16) 39 dyld +0x3ce48 start
Trace 3 in mbgl::metal::StreamBufferResource::update 0 libsystem_kernel.dylib +0x1804 _mach_msg2_trap 1 libsystem_kernel.dylib +0x5004 _mach_msg2_internal 2 IOKit +0x5438 _io_connect_method 3 IOKit +0x112a0 _IOConnectCallMethod 4 IOGPU +0x82bc _IOGPUResourceCreate 5 IOGPU +0x756c -[IOGPUMetalResource initWithDevice:options:args:argsSize:] 6 IOGPU +0x6d94 -[IOGPUMetalBuffer initWithDevice:pointer:length:alignment:options:sysMemSize:gpuAddress:args:argsSize:deallocator:] 7 AGXMetalG16P_B0 +0x9c9c0 -[AGXBuffer(Internal) initWithDevice:length:alignment:options:isSuballocDisabled:resourceInArgs:pinnedGPULocation:] 8 AGXMetalG16P_B0 +0x9c870 -[AGXBuffer(Internal) initWithDevice:length:options:isSuballocDisabled:resourceInArgs:pinnedGPULocation:] 9 AGXMetalG16P_B0 +0x9c804 -[AGXBuffer initWithDevice:length:options:isSuballocDisabled:pinnedGPULocation:] 10 AGXMetalG16P_B0 +0x9c764 -[AGXG16PFamilyDevice newBufferWithBytes:length:options:] 11 MapboxCoreMaps +0xed2a8 mbgl::metal::StreamBufferResource::update(mbgl::metal::UploadPass&, objc_object objcproto9MTLBuffer*, void const*, unsigned long) 12 MapboxCoreMaps +0xf4740 mbgl::metal::UploadPass::createVertexBufferResource(void const*, unsigned long, mbgl::gfx::BufferUsageType) 13 MapboxCoreMaps +0x27f64c mbgl::SymbolBucket::upload(mbgl::gfx::UploadPass&) 14 MapboxCoreMaps +0x5eb1ec std::__1::__function::__func, unsigned long long)::$_2, std::__1::allocator, unsigned long long)::$_2>, bool (mbgl::gfx::UploadPass&)>::operator()(mbgl::gfx::UploadPass&) 15 MapboxCoreMaps +0x365654 mbgl::Renderer::Impl::render(mbgl::RenderTree const&) 16 MapboxCoreMaps +0x35ae98 mbgl::Renderer::render(std::__1::shared_ptr const&) 17 MapboxCoreMaps +0xa3240 mapbox::maps::MapImpl::Impl::render() 18 MapboxCoreMaps +0x9e2b4 ___ZN6mapbox5metal15RendererBackend10createViewENSt3__110shared_ptrINS_4maps9MapClientEEENS_4base7WeakPtrINS4_19MapRendererDelegateEEE_block_invoke 19 MapboxMaps +0x1b4918 @objc MetalView.DelegateImpl.draw(in:) 20 MetalKit +0x74b0 -[MTKView draw] 21 MapboxMaps +0x1a5ed0 MapView.updateFromDisplayLink(displayLink:) 22 MapboxMaps +0x1a66a0 closure #1 in MapView.didMoveToWindow() 23 MapboxMaps +0xeec98 @objc ForwardingDisplayLinkTarget.update(with:) (ForwardingDispalyLinkTarget.swift:11:9) 24 QuartzCore +0xd0ec8 CA::Display::DisplayLinkItem::dispatch_(CA::SignPost::Interval<(CA::SignPost::CAEventCode)835322056>&) 25 QuartzCore +0xcf22c CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) 26 QuartzCore +0xcedcc CA::Display::DisplayLink::dispatch_deferred_display_links(unsigned int) 27 UIKitCore +0xb7768 28 UIKitCore +0xb73ac 29 UIKitCore +0xb8250 30 CoreFoundation +0x56830 ___CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ 31 CoreFoundation +0x567c4 ___CFRunLoopDoSource0 32 CoreFoundation +0x54294 ___CFRunLoopDoSources0 33 CoreFoundation +0x53480 ___CFRunLoopRun 34 CoreFoundation +0x52cd4 _CFRunLoopRunSpecific 35 GraphicsServices +0x11a4 _GSEventRunModal 36 UIKitCore +0x40a908 37 UIKitCore +0x4be9cc UIApplicationMain 38 Radiate +0x103c8 main (main.m:16:16) 39 dyld +0x3ce48 start

from mapbox-maps-ios.

thomas-hensel avatar thomas-hensel commented on June 27, 2024

Same here. Sentry reports MXCPUException, crashes in onRender
(iOS Version:17.5.1, iPhone XS)

class MetalView: MTKView, CoreMetalView {
private class DelegateImpl: NSObject, MTKViewDelegate {
var onRender: (() -> Void)?
func mtkView(_ view: MTKView, drawableSizeWillChange size: CGSize) {}
func draw(in view: MTKView) {
onRender?()
}
}

from mapbox-maps-ios.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.