This repository has been archived by the owner on Aug 8, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Crash on invalid array access in mbgl::style::Collection::update #15514
Labels
Comments
springmeyer
added
Core
The cross-platform C++ core, aka mbgl
crash
Linux
needs review
needs tests
labels
Aug 28, 2019
springmeyer
pushed a commit
that referenced
this issue
Aug 30, 2019
I've now reduced a testcase for this problem that can be run as part of the gl-native unit tests: #15531. Can someone from @mapbox/gl-native take a closer look at this? This problem is now blocking my downstream work because all the workarounds I've been able to come up with all turn out to have unwanted repercussions:
|
kkaefer
pushed a commit
that referenced
this issue
Sep 3, 2019
springmeyer
pushed a commit
that referenced
this issue
Sep 4, 2019
* [core] add sources to source collection before triggering load * [test] add testcase for #15514 * [core] also call onSourceLoaded observers when no network request was necessary
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
Platform: Seen on Linux + OS X with a node API
Mapbox SDK version: Latest (ec12282)
Steps to trigger behavior
Filesource
that runs synchronously and returns assets instantly from a pre-loaded in-memory<unordered_map>
The custom filesource looks like:
I'm replicating with this style: https://github.com/mapbox/mapbox-gl-styles/blob/master/styles/bright-v9.json
Expected behavior
No crash on invalid out of range vector access so that the style loads successfully.
Actual behavior
Crash in both release and debug mode is:
The problem here is not the
uncaught exception
(that is issue I can fix in my code).The problem is the
std::out_of_range: vector
which may be a bug in core.Full backtrace (in debug mode) is:
This seems to workaround the crash on my system (9c2defe) but I'm unclear if it is the right fix. Would love any feedback anyone has.
The text was updated successfully, but these errors were encountered: