-
-
Couldn't load subscription status.
- Fork 45
Description
I have a world where some region files are causing mcmap to segfault or abort due to stack smashing.
Using the official archlinux:latest docker image, I built mcmap from the latest source (as of today) like:
$ docker run --privileged -v=`pwd`:/shared:rw -it archlinux:latest sh
# pacman -Sy --noconfirm --needed git gcc make libpng tree
# cd /shared
# rm -rf mcmap && git clone http://github.com/spoutn1k/mcmap
# cd mcmap && make -j
I have been operating a vanilla Minecraft server with a very old world that has been through numerous version upgrades over the years. It's currently running Minecraft 1.16.3. There are some areas around the world that were made by users in creative mode, some that have things created using commands (mostly custom player heads, armor stands, and a few mobs), and some that have blocks tweaked using the debug stick (like changing the orientation of stairs and walls), but I believe all of these should be standard "supported" blocks and entities.
I pulled a backup of our world's files and tried rendering only a subset of the most recently modified regions, but mcmap blows up with *** stack smashing detected ***: terminated and Segmentation fault on some region files. Unfortunately, even with the -v verbose flag set, I don't get a lot of helpful information. So, I captured my terminal session to show my attempts to build and use mcmap against each of our world's region files. It looks like we have at least 4 region files (just in this subset that I examined) that cause mcmap to crash. Here's the asciinema recording: mcmap segfaults and stack smashing
FWIW, I have been experimenting with multiple Minecraft mapping solutions. Minecraft-Overviewer and minutor's latest nightly build both rendered these regions without error.
Are there any additional arguments I can give mcmap to produce more verbose debug output? I'm happy to try building again from a custom branch or fork if there are any additional checks or messages you'd like to see when I process these region files.