namreeb / namigator

An intelligent navigation API for World of Warcraft Alpha, Vanilla, TBC and WotLK
MIT License
49 stars 32 forks source link

Building `GnomeragonInstance` for 1.12 trips assert #60

Closed gtker closed 1 year ago

gtker commented 1 year ago

When building GnomeragonInstance the following backtrace happens:

__pthread_kill_implementation (no_tid=0, signo=6, threadid=140737352534080) at ./nptl/pthread_kill.c:44
44      ./nptl/pthread_kill.c: No such file or directory.
(gdb) bt
#0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=140737352534080) at ./nptl/pthread_kill.c:44
#1  __pthread_kill_internal (signo=6, threadid=140737352534080) at ./nptl/pthread_kill.c:78
#2  __GI___pthread_kill (threadid=140737352534080, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3  0x00007ffff7842476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4  0x00007ffff78287f3 in __GI_abort () at ./stdlib/abort.c:79
#5  0x00007ffff782871b in __assert_fail_base (fmt=0x7ffff79dd150 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x5555556aa120 "chunkX >= 0 && chunkY >= 0 && chunkX < MeshSettings::ChunksPerAdt && chunkY < MeshSettings::ChunksPerAdt",
    file=0x5555556aa0d0 "./namigator/utility/MathHelper.cpp", line=108, function=<optimized out>) at ./assert/assert.c:92
#6  0x00007ffff7839e96 in __GI___assert_fail (assertion=0x5555556aa120 "chunkX >= 0 && chunkY >= 0 && chunkX < MeshSettings::ChunksPerAdt && chunkY < MeshSettings::ChunksPerAdt",
    file=0x5555556aa0d0 "./namigator/utility/MathHelper.cpp", line=108, function=0x5555556aa078 "static void math::Convert::WorldToAdt(const math::Vector3&, int&, int&, int&, int&)") at ./assert/assert.c:101
#7  0x0000555555610ee6 in math::Convert::WorldToAdt (vertex=..., adtX=@0x7fffffffd5c4: 30, adtY=@0x7fffffffd5c8: 33, chunkX=@0x7fffffffd5cc: 16, chunkY=@0x7fffffffd5d0: 0)
    at ./namigator/utility/MathHelper.cpp:108
#8  0x00005555555c928c in parser::(anonymous namespace)::UpdateBounds (bounds=..., vertex=..., adtChunks=std::set with 265 elements = {...}) at ./namigator/parser/Wmo/WmoInstance.cpp:39
#9  0x00005555555c9590 in parser::WmoInstance::WmoInstance (this=0x555555e0a550, wmo=0x555555c413e0, doodadSet=0, nameSet=0, bounds=..., transformMatrix=...) at ./namigator/parser/Wmo/WmoInstance.cpp:68
#10 0x00005555555d4d80 in std::make_unique<parser::WmoInstance, parser::Wmo const*, unsigned short&, unsigned short&, math::BoundingBox&, math::Matrix&> () at /usr/include/c++/11/bits/unique_ptr.h:962
#11 0x00005555555d2c4d in parser::Map::Map (this=0x555555c2beb0, name="GnomeragonInstance") at ./namigator/parser/Map/Map.cpp:207
#12 0x000055555558b2d8 in std::make_unique<parser::Map, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> () at /usr/include/c++/11/bits/unique_ptr.h:962
#13 0x00005555555825a4 in MeshBuilder::MeshBuilder (this=0x555555a1dd80, outputPath=filesystem::path ".", mapName="GnomeragonInstance", logLevel=0) at ./namigator/MapBuilder/MeshBuilder.cpp:462
#14 0x0000555555560fc5 in std::make_unique<MeshBuilder, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&> ()
    at /usr/include/c++/11/bits/unique_ptr.h:962
#15 0x000055555555efa7 in main (argc=9, argv=0x7fffffffe188) at ./namigator/MapBuilder/main.cpp:241

SHA256sums of MPQs:

0bb2d6d370d825353eff5d9282c545a1b61980baaa5b7b65b1a7521e0ee8e27a  /home/asd/Downloads/Data112/backup.MPQ
f648e4fae190abcb25749ddbe96454e7e0de7e9c7e955983ed9d0e73b6986009  /home/asd/Downloads/Data112/base.MPQ
d9d5a290bdad848e177e2731c7ef221a1d7a6793e2c94e431488dd40816101e2  /home/asd/Downloads/Data112/dbc.MPQ
511189160f091eeb9d7ee8c473c1422b7f1fadbd9b65bfbf7d0a2a344103312d  /home/asd/Downloads/Data112/fonts.MPQ
6545dfbb3ef21a8b7f36b577419494cc292fec35585f9a1511d6c8b692b83191  /home/asd/Downloads/Data112/interface.MPQ
13aee674db39fc605c8aabf964eda0bb7895c6f026fed6c508bf2f9d155db0f9  /home/asd/Downloads/Data112/misc.MPQ
a7aa78c234bbdd450e00434e5939aa1a02383df1971cddcbfa181d68e9ab45a2  /home/asd/Downloads/Data112/model.MPQ
84f506c9f049f1e35f6d0f7b2e6643d28856888680ae2593436be8b9a058aad6  /home/asd/Downloads/Data112/patch-2.MPQ
a9ad25c9a32600dd3c71f97a0f95f9b9b629a9995988b928975c8871f1197683  /home/asd/Downloads/Data112/patch.MPQ
6ba131da952aae8d1e061b54468fd6e5d2ef78616540e2746ed21255d6b959a7  /home/asd/Downloads/Data112/sound.MPQ
a1564120452cd75c4c7b2002a668b12250a35dab658816a33b591ebb23004f52  /home/asd/Downloads/Data112/speech.MPQ
68fda6fb4f57051a47a0a56ff1757d73ee5c2a870774ba60ee8b52d7b36bc61d  /home/asd/Downloads/Data112/terrain.MPQ
7e5996d2a0a2de03c79dcf9ab78f3fce66264688eee56ca6dbc51c8ce4433dac  /home/asd/Downloads/Data112/texture.MPQ
9933d9ca23d481647880c9798dc7c225cd926f51026d148f09cd5251fc56edb7  /home/asd/Downloads/Data112/wmo.MPQ
gtker commented 1 year ago

Same error for Mauradon:

__pthread_kill_implementation (no_tid=0, signo=6, threadid=140737352415296) at ./nptl/pthread_kill.c:44
44      ./nptl/pthread_kill.c: No such file or directory.
(gdb) bt
#0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=140737352415296)
    at ./nptl/pthread_kill.c:44
#1  __pthread_kill_internal (signo=6, threadid=140737352415296) at ./nptl/pthread_kill.c:78
#2  __GI___pthread_kill (threadid=140737352415296, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3  0x00007ffff7842476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4  0x00007ffff78287f3 in __GI_abort () at ./stdlib/abort.c:79
#5  0x00007ffff782871b in __assert_fail_base (
    fmt=0x7ffff79dd150 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
    assertion=0x5555556950f0 "chunkX >= 0 && chunkY >= 0 && chunkX < MeshSettings::ChunksPerAdt && chunkY < MeshSettings::ChunksPerAdt",
    file=0x5555556950a0 "./utility/MathHelper.cpp",
    line=108, function=<optimized out>) at ./assert/assert.c:92
#6  0x00007ffff7839e96 in __GI___assert_fail (
    assertion=0x5555556950f0 "chunkX >= 0 && chunkY >= 0 && chunkX < MeshSettings::ChunksPerAdt && chunkY < MeshSettings::ChunksPerAdt",
    file=0x5555556950a0 "./utility/MathHelper.cpp",
    line=108,
    function=0x555555695048 "static void math::Convert::WorldToAdt(const math::Vector3&, int&, int&, int&, int&)") at ./assert/assert.c:101
#7  0x0000555555610d82 in math::Convert::WorldToAdt(math::Vector3 const&, int&, int&, int&, int&) ()
#8  0x00005555555c9128 in parser::(anonymous namespace)::UpdateBounds(math::BoundingBox&, math::Vector3 const&, std::set<AdtChunkLocation, std::less<AdtChunkLocation>, std::allocator<AdtChunkLocation> >&) ()
#9  0x00005555555c937e in parser::WmoInstance::WmoInstance(parser::Wmo const*, unsigned int, unsigned int, math::BoundingBox const&, math::Matrix const&) ()
#10 0x00005555555d4c1c in std::_MakeUniq<parser::WmoInstance>::__single_object std::make_unique<parser::WmoInstance, parser::Wmo const*, unsigned short&, unsigned short&, math::BoundingBox&, math::Matrix&>(parser::Wmo const*&&, unsigned short&, unsigned short&, math::BoundingBox&, math::Matrix&) ()
#11 0x00005555555d2ae9 in parser::Map::Map(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
#12 0x000055555558b1e6 in std::_MakeUniq<parser::Map>::__single_object std::make_unique<parser::Map, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
#13 0x00005555555824b2 in MeshBuilder::MeshBuilder(std::filesystem::__cxx11::path const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int) ()
#14 0x000055555556102b in std::_MakeUniq<MeshBuilder>::__single_object std::make_unique<MeshBuilder, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&) ()
#15 0x000055555555ef87 in main ()
namreeb commented 1 year ago

This should be fixed with https://github.com/namreeb/namigator/commit/47a9c6cdcb1d0b994b8e89e863d60ed96b0a1967.