-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Regression: unbounded memory growth on the worker side since v1.1.0 #8470
Labels
Comments
mourner
added
performance ⚡
Speed, stability, CPU usage, memory usage, or power usage
release blocker ⛔
labels
Jul 12, 2019
mourner
changed the title
Regression: some tiles are retained indefinitely on the worker side since v1.1.0
Regression: unbounded memory growth on the worker side since v1.1.0
Jul 12, 2019
ansis
added a commit
that referenced
this issue
Jul 12, 2019
fix #8470, continuous memory usage growth
ansis
added a commit
that referenced
this issue
Jul 12, 2019
fix #8470, continuous memory usage growth
3 tasks
ansis
added a commit
that referenced
this issue
Jul 16, 2019
fix #8470, continuous memory usage growth
ansis
added a commit
that referenced
this issue
Jul 16, 2019
fix #8470, continuous memory usage growth
peterqliu
added a commit
that referenced
this issue
Jul 19, 2019
* [docs] adds docs-wide search component (#8349) * update dr-ui, mr-ui * add search component * adjust columns to prevent overlap * v1.1.0-beta.1 (#8353) * Update CHANGELOG.md for v1.1.0-beta.1 release * Bump package.json version to 1.1.0-beta.1 * [docs] updates to search component and layout (#8362) * do not index /api sidebar * exclude code snippets in examples from being indexed * Update docs-page-shell * update dr-ui, react, react-dom * adjust columns to fit search and navigation better * [docs] Replace example with a third-party raster source (#8274) * remove Add a raster tile source example * revert "remove Add a raster tile source example" This reverts commit ea8bf28. * add third-party tiles to map-tiles example * fix attribution * rm unused var * Add mapbox-gl-framerate to plugins list (#8356) * remove old plugins page and update reference to the maintained version (#8369) * Add link to iOS SDK documentation (#8359) * add ios sdk link per comment from stephen g * add new link from minh and reword * Include Hiragana and Katakana code blocks for local glyph generation (#8365) (#8378) * document the tile size drawn with showTileBoundaries (#8379) * use browser `Cache` interface to cache tiles (#8363) Recent pricing changes introduced a `sku=` query parameter that changes with every map load. This defeats the browser's ability to cache these tiles. We're working around that by implementing our own caching with the new `Cache` api. - skips caching tiles that expire soon - only caches mapbox tiles (no 3rd party tiles, styles, etc because the browser should cache these fine) - does not work in IE, Safari Browser tests can be found in debug/cache_api.html mapboxgl.clearStorage added to provide a way to clear the cache. * fix cache support check for enforcing size limit This was throwing errors in browsers that don't support the cache api but wasn't previously noticed because it was not breaking anything. * Fix background rotation hovering (#8367) * update changelog * [email protected] (#8297) * [email protected] * add one more file to v4.4.0 * fix Response construction in Edge, fix #8391 (#8392) (#8394) Edge does not support constructing responses with readable streams. * v1.1.0-beta.2 (#8395) * Add sdk support spec section for text-radial-offset (#8384) (#8401) This PR also assigns SDK versions for the `text-variable-anchor` property (both `text-variable-anchor` and `text-radial-offset` are the parts of the variable text placement feature). * fix #8411, fetch in case of cache error (#8415) (#8417) * fix #8411, fetch in case of cache error * Use warnOnce * v1.1.0 & [email protected] (#8408) * Update style-spec version & changelog for [email protected] - Update style-spec/CHANGELOG.md to add bugfix items - Bump style-spec/package.json version to 13.7.1 (patch) * Update mapbox-gl package version to 1.1.0 for final release * Add missing style-spec changelog entry * Fix yarn.lock not installing under CI by auto-updating dependencies * manually strip urls for faster cache matching (#8434) (#8449) * update examples to use mapbox-gl-geocoder v4.4.1 (#8451) * set antialias to true for custom layers and extrusion examples (#8474) * swap map-tiles example to use https (#8482) * fix race condition between caching and aborting (#8472) fix #8470, continuous memory usage growth * fix #8481, unbounded memory growth in IE (#8490) Cancellable requests to workers should never call back after they have been cancelled. * v1.1.1 * [docs] fix SDK support for symbol-sort-key (#8501)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
mapbox-gl-js version: v1.1.0
browser: Chrome
Steps to Trigger Behavior
/debug
), quickly zooming back and forth.Expected Behavior
Memory fluctuates around a certain size.
Actual Behavior
Memory grows indefinitely.
Since v1.1.0, quick map browsing introduces some race condition that makes some tiles to be retain on the worker side in
this.loaded
object ofVectorTileWorkerSource
indefinitely. You can track this by settingmapboxgl.workerCount = 1
, setting MapmaxTileCacheSize
to1
, and addingconsole.log(Object.keys(this.loaded).length)
afterthis.loaded[uid] = workerTile
invector_tile_worker_source.js
.I bisected this down to #8363 @ansis — something in there introduced a race condition with worker cache clearing logic. Let's investigate further.
The text was updated successfully, but these errors were encountered: