Comments (8)
Thankyou spoutn1k, that's a beautiful render and you have made my day.
from mcmap.
Looking closer at my attempts to render each region file individually, at least one region file (r.1.-1.mca
) fails like:
[Debug] World spans from 512.-512 to 1023.-1
mcmap 3.0.0 64bit (compatible with Minecraft v1.13+)
[Debug] Decompressing chunk data failed: buffer error
[Debug] Not enough data for chunk: Success
*** stack smashing detected ***: terminated
Aborted
In that case, mcmap
exits with status 134
.
Some other region files (r.0.0.mca
, r.2.0.mca
, r.2.1.mca
) fail like:
[Debug] World spans from 1024.0 to 1535.511
mcmap 3.0.0 64bit (compatible with Minecraft v1.13+)
[Debug] Loaded 314 colors out of the 760 declared
Segmentation fault0.10%]
In those cases, mcmap
exits with status 139
.
from mcmap.
Hey ! Thank you for the detailed issue and the asciinema !
This is very peculiar. Considering the coordinates, my guess would be these regions have been around for a long long time, and they might have quirks my test samples did not show. I ran tests with worlds generated using Minecraft 1.13+, so problems were to be expected.
I figure having access to those files is out of the question ? It would simplify greatly the process, but I would totally understand as this is personnal.
Are there any additional arguments I can give mcmap to produce more verbose debug output?
Unfortunately this is all the output mcmap
gives out. I could try and add some more debug printfs, but my first step would be to isolate the problem. I just pushed a new script in the main branch, can you try and run regionReader
on those regions ? It will detail all the chunks present along with some metadata, that could help me figure out a common property.
I picked mcmap
back up after the project left alone for a while, and the only thing that did not change is the output. I use custom STL-like NBT objects and that has proven to be a double-edged sword. I was expecting more mature projects to fare better on the compatibility front, but hopefully we can fix this.
from mcmap.
If anyone ever ends up with a similar error, please run (and comment the result):
find <your save>/region/ -exec ./regionReader {} \; | cut -f 4 | grep -v Size | sort -ug | tail -n 1
With regionReader
being the script included in mcmap
(Configured with -DNBT_TOOLS=1
). A memory buffer with a set size is used to decompress chunks, and a lot of activity in a single area might make it overflow.
In the meantime, its size was increased, so hopefully this error will not happen anymore.
from mcmap.
Segfaults on my world. Please tell me if there is anything else I can provide to help.
Further information:
- Fabric-modded world with some extra blocks (all of the ones mcmap picked up on were added to a colors2.json file, I originally thought this was causing the segfault
- Minecraft 1.16.5
- Void linux x86_64
- Git 126d8bc
$ ~/app/mcmap/bin/mcmap -colors colors2.json -vv world/
...
[Deep Debug] Region file r.-2.5.mca does not exist, skipping ..
[Deep Debug] Region file r.-2.5.mca does not exist, skipping ..
[Deep Debug] Region file r.-2.5.mca does not exist, skipping ..
[Deep Debug] Region file r.-2.5.mca does not exist, skipping ..
[Deep Debug] Region file r.-2.5.mca does not exist, skipping ..
[Debug] Rendering -192.-1472.0 ~> 831.-449.255 (North-West)
[Debug] Rendering -192.-448.0 ~> 831.575.255 (North-West)
[Debug] [Debug] Rendering -192.1600.0 ~> 831.2623.255 (North-West)
Rendering -192.576.0 ~> 831.1599.255 (North-West)
Segmentation fault0.00%]
Tilesize twiddling only changes when the failure occurs:
$ ~/app/mcmap/bin/mcmap -colors colors2.json -tile 64 -vv world/
...
[Debug] Rendering -192.64.0 ~> -129.127.255 (North-West)
[Debug] Rendering -192.128.0 ~> -129.191.255 (North-West)
[Debug] Rendering -192.192.0 ~> -129.255.255 (North-West)
[Debug] Rendering -192.256.0 ~> -129.319.255 (North-West)
Segmentation fault0.00%]]
Regionreader:
$ find world/region/ -exec ~/app/mcmap/bin/regionReader {} \; | cut -f 4 | grep -v Size | sort -ug | tail -n 1
[Error] Error reading header, not enough bytes read.
27108
GDB backtrace:
...
[Debug] [Debug] Rendering -192.576.0 ~> 831.1599.255 (North-West)
Rendering -192.1600.0 ~> 831.2623.255 (North-West)
Rendering chunks [0.00%]
Thread 1 "mcmap" received signal SIGSEGV, Segmentation fault.
0x00005555555dc951 in IsometricCanvas::renderSection() ()
(gdb) bt
#0 0x00005555555dc951 in IsometricCanvas::renderSection() ()
#1 0x00005555555e04a8 in IsometricCanvas::renderChunk(Terrain::Data&) ()
#2 0x00005555555e067b in IsometricCanvas::renderTerrain(Terrain::Data&) ()
#3 0x00005555555b7cef in ?? ()
#4 0x00007ffff7d0f712 in GOMP_parallel () from /usr/lib/libgomp.so.1
#5 0x00005555555b71a1 in mcmap::render(Settings::WorldOptions const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, Colors::Block, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Colors::Block> > > const&) ()
#6 0x00005555555751fe in main ()
(gdb)
from mcmap.
Hey thanks for shaing !
Are the 'Rendering` messages the first ones of the full error message ?
You mention 'when the failure occurs'. Is this a localized thing ? Can you render parts of your world ?
I am not sure what causes this. I never used mcmap with a non-vanilla world, and Fabric may change the expected format.
Would you be comfortable with sending the file world/region/r.-1.0.mca
from the save you attempted to render ? I'll try on my side and fix or add support if need be.
from mcmap.
Apologies for never getting back to you. This is probably now far too little far too late (not to mention the chunk was probably modified afterwards).
I hope your end of the world is holding up OK.
from mcmap.
Hey don't apologize for not folllowing up a minecraft discussion, that is really helpful already.
Looks like the mod does not change the world format, so it can be rendered. I rendered this region in both the version from February 1st and the latest. Either the chunks have been updated, or it was some kind of structure error with the rest of the world.
The internals of mcmap
changed a lot over time so hopefully I'll see less of those segfault issues.
I hope you are too. Good luck out there.
from mcmap.
Related Issues (20)
- GUI out of date HOT 2
- GUI v3.0.3 entry point error HOT 5
- Old Gui Viewer Windows source files HOT 3
- Nothing to render: -from X Z has to be <= -to X Z HOT 3
- Error [LINUX] HOT 6
- `make` fails on macOS 10.14.6 (Mojave) HOT 9
- Compilation issues HOT 2
- Seg Fault 11 on Mac OS X. HOT 6
- Output from 1.18 snapshots (after at least experimental 7) is blank HOT 2
- Errors about being unable to access cache files HOT 5
- Too many open files with some tile configurations
- What happened to the ability to render the map to multiple tiles? HOT 9
- Issues when rendering some chunks sections HOT 5
- issue with building on macOS HOT 5
- Misleading error message on empty world HOT 5
- Question: about bedrock edition HOT 3
- [suggestion] move /scripts to a separate repo or do some other thing to support cross-compile HOT 3
- 1.20 support HOT 5
- Odd issue with 1.20.1 branch HOT 4
- Assert failure when generating tiled output HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mcmap.