question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

LOD map render tiles gets corrupted/does not generate after a restart

See original GitHub issue

template is bold sample data is italicized

Issue Description: I noticed a recurring issue lately on my map renders where if something interrupts the generation, like a server restart, the render resumes on the highest zom level (say, LOD0), it does not propagate properly to lower-res LOD’s (when you zoom out).

This results in a portion of black lines from where the rendering was interrupted, unless you zoom in all the way. This has happened on multiple maps, across the last 2 dynmap versions. While i would obviously like to know why is this happening or if there is a fix, my main gripe is the fact that if i do a dynmap radiusrender for the affected areas, it doesn’t even consider refreshing those non-LOD0 tiles, so essentially they can never be regenerated unless i purge the entire map and start over.

  • Dynmap Version: Dynmap version: core=3.2-beta-2-483, plugin=3.2-beta-2-483
  • Server Version: *Paper version git-Paper-642 (MC: 1.16.5) (Implementing API version 1.16.5-R0.1-SNAPSHOT)
  • Pastebin of Configuration.txt: https://pastebin.com/Jds2H9rP
  • Server Host (if applicable): self-hosted
  • Pastebin of crashlogs or other relevant logs: n/a
  • Other Relevant Data/Screenshots: This happens regardless of map version and while using no texture pack
  • Steps to Replicate: (for simplicity) purge a world and force a fullrender. Stop the server normally midway through rendering, then start again and let it finish. Result: (continued below) Screenshot_2021-07-14 Now with even more, updated nuts

[x] I have looked at all other issues and this is indeed a duplicate of #2485! but i’m posting this since it was never an issue on our server before and wanted to know if this is

  • something new in the last 2 dynmap versions,
  • if it is related to my config and the use of cwebp or dwebp,
  • OR related to using a particular paper version, since i saw it mentioned in a few threads.

[ x] I have been able to replicate this

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:25 (9 by maintainers)

github_iconTop GitHub Comments

1reaction
BrainStonecommented, Jul 20, 2021

There we go. I’d provide a build of that version, but the team seems to be against that sort of thing.
If you don’t know how to build it, DM me on Discord. I’m in the dynmap Discord with the same username and avatar.

1reaction
Pinggercommented, Jul 20, 2021

I may be getting this wrong but shouldn’t having initial-zoomout-validate: true prevent or at least address this issue in of itself? Talking about the “validating” part specifically here, because it clearly doesn’t… What does it validate for?

only the timestamps, but those are borked … dynmap saves the time the zoomout is saved to DB, instead of the timestamp of the “newest” sub-tile it used to render the zoomout, causing the race condition in a database, where the save operation is sometimes not visible for the read operation, when more than one thread for database-processing is used (the jdbc connector in dynmap ALWAYS uses more than 1 thread)

Consider Situation: we have tiles A.B,C,D and the zoomout Z. we change a block in D, D is rendered, which causes an update for Z to be queued. Z starts to be rendered, And gets the current state of A,B,C,D we change something in C. C is rendered. Does not queue Z to be updated, as it is still being rendered. Z is finished -> timestamp after C, zoomout-validate does not think Z need to be rerendered …

Read more comments on GitHub >

github_iconTop Results From Across the Web

Rendering non-dynamic layers in dynamic map
The tiles schema for non-dynamic layers is based on a discrete set of levels of details (LOD), meaning that tiles pertaining to a...
Read more >
Blank or missing map tiles | Help - Mapbox docs
This guide explains how to troubleshoot some common reasons maps fail to load. Your style ID is invalid. If you are using a...
Read more >
What is a root tile and how are they used to make a vector tile ...
It is the tile that represents the largest area of the map and the ... tile is represented with the “Start Tile” For...
Read more >
Edit service caching properties in Manager—ArcGIS Server
Because tile cache generation is a resource-intensive process, ... map each time, and the map or image service does not use any cached...
Read more >
Tilemap Renderer - Unity - Manual
Individual, The Renderer renders each Tile individually, taking into account their location and sorting order. This mode enables the Sprites on the Tiles...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found