Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

Crash when setting zoom level 2+ times with annotations #10177

Closed
captainbarbosa opened this issue Oct 10, 2017 · 1 comment
Closed

Crash when setting zoom level 2+ times with annotations #10177

captainbarbosa opened this issue Oct 10, 2017 · 1 comment
Labels
Core The cross-platform C++ core, aka mbgl crash

Comments

@captainbarbosa
Copy link
Contributor

Platform: iOS
Mapbox SDK version: 3.6.4

Steps to trigger behavior

Within viewDidLoad

  1. Create a new MGLMapView
  2. SetmaximumZoomLevel to a number - in this case, 6
  3. Add an MGLPolyline annotation to the map
  4. Set maximumZoomLevel to a larger number- in this case, 14
  5. Try to zoom in past the original maximumZoomLevel. It'll crash because of this runtime error Requested zoom higher than maxZoom: 7

Expected behavior

The maximumZoomLevel should be set to the second, larger number and not crash.

Actual behavior

The application crashes. Here's a sample of my backtrace:

Backtrace sample
Mapbox was compiled with optimization - stepping may behave oddly; variables may not be available.
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
    frame #0: 0x0000000181f35348 libsystem_kernel.dylib`__pthread_kill + 8
    frame #1: 0x0000000182049344 libsystem_pthread.dylib`pthread_kill$VARIANT$mp + 396
    frame #2: 0x0000000181ea4fb8 libsystem_c.dylib`abort + 140
    frame #3: 0x0000000181644068 libc++abi.dylib`abort_message + 132
    frame #4: 0x00000001816441f8 libc++abi.dylib`default_terminate_handler() + 280
    frame #5: 0x000000018166c820 libobjc.A.dylib`_objc_terminate() + 140
    frame #6: 0x000000018165c54c libc++abi.dylib`std::__terminate(void (*)()) + 16
    frame #7: 0x000000018165bea8 libc++abi.dylib`__cxa_throw + 136
    frame #8: 0x00000001028e6b70 Mapbox`mapbox::geojsonvt::GeoJSONVT::getTile(unsigned char, unsigned int, unsigned int) + 404
    frame #9: 0x00000001027df930 Mapbox`mbgl::ShapeAnnotationImpl::updateTileData(mbgl::CanonicalTileID const&, mbgl::AnnotationTileData&) + 604
    frame #10: 0x00000001027cba74 Mapbox`mbgl::AnnotationManager::getTileData(mbgl::CanonicalTileID const&) + 932
    frame #11: 0x00000001027cc1b4 Mapbox`mbgl::AnnotationManager::addTile(mbgl::AnnotationTile&) + 520
    frame #12: 0x00000001027dd62c Mapbox`mbgl::AnnotationTile::AnnotationTile(mbgl::OverscaledTileID const&, mbgl::TileParameters const&) + 140
    frame #13: 0x00000001027df5a4 Mapbox`std::__1::__function::__func<mbgl::RenderAnnotationSource::updateTiles(mbgl::TileParameters const&)::$_0, std::__1::allocator<mbgl::RenderAnnotationSource::updateTiles(mbgl::TileParameters const&)::$_0>, std::__1::unique_ptr<mbgl::Tile, std::__1::default_delete<mbgl::Tile> > (mbgl::OverscaledTileID const&)>::operator()(mbgl::OverscaledTileID const&) + 52
    frame #14: 0x000000010285f920 Mapbox`mbgl::TilePyramid::updateTiles(mbgl::TileParameters const&, mbgl::SourceType, unsigned short, mbgl::Range<unsigned char>, std::__1::function<std::__1::unique_ptr<mbgl::Tile, std::__1::default_delete<mbgl::Tile> > (mbgl::OverscaledTileID const&)>)::$_1::operator()(mbgl::OverscaledTileID const&) const + 120
    frame #15: 0x000000010285eabc Mapbox`mbgl::TilePyramid::updateTiles(mbgl::TileParameters const&, mbgl::SourceType, unsigned short, mbgl::Range<unsigned char>, std::__1::function<std::__1::unique_ptr<mbgl::Tile, std::__1::default_delete<mbgl::Tile> > (mbgl::OverscaledTileID const&)>) + 2028
    frame #16: 0x00000001027df3d8 Mapbox`mbgl::RenderAnnotationSource::updateTiles(mbgl::TileParameters const&) + 80
    frame #17: 0x00000001028ea78c Mapbox`mbgl::style::Style::update(mbgl::UpdateParameters const&) + 724
    frame #18: 0x0000000102802154 Mapbox`mbgl::Map::Impl::render(mbgl::View&) + 204
  * frame #19: 0x000000010272fecc Mapbox`::-[MGLMapView glkView:drawInRect:](self=0x0000000106080000, _cmd=<unavailable>, view=<unavailable>, rect=<unavailable>) at MGLMapView.mm:1038 [opt]
    frame #20: 0x000000018fa2f92c GLKit`-[GLKView _display:] + 216
    frame #21: 0x0000000102730668 Mapbox`::-[MGLMapView updateFromDisplayLink](self=<unavailable>, _cmd=<unavailable>) at MGLMapView.mm:1163 [opt]
    frame #22: 0x0000000186471968 QuartzCore`CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 672
    frame #23: 0x00000001826882c4 IOKit`IODispatchCalloutFromCFMessage + 392
    frame #24: 0x00000001823abfe8 CoreFoundation`__CFMachPortPerform + 188
    frame #25: 0x00000001823c6944 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 56
    frame #26: 0x00000001823c6048 CoreFoundation`__CFRunLoopDoSource1 + 440
    frame #27: 0x00000001823c3b1c CoreFoundation`__CFRunLoopRun + 2196
    frame #28: 0x00000001822e3e78 CoreFoundation`CFRunLoopRunSpecific + 436
    frame #29: 0x0000000184178f84 GraphicsServices`GSEventRunModal + 100
    frame #30: 0x000000018c0860bc UIKit`UIApplicationMain + 208
    frame #31: 0x0000000102130584 Examples`main(argc=1, argv=0x000000016dceba08) at main.m:14
    frame #32: 0x0000000181e0656c libdyld.dylib`start + 4
@captainbarbosa captainbarbosa added bug crash iOS Mapbox Maps SDK for iOS and removed iOS Mapbox Maps SDK for iOS bug labels Oct 10, 2017
@boundsj boundsj added iOS Mapbox Maps SDK for iOS Core The cross-platform C++ core, aka mbgl labels Oct 10, 2017
@gurusekhar
Copy link

Any updates on this issue.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Core The cross-platform C++ core, aka mbgl crash
Projects
None yet
Development

No branches or pull requests

4 participants