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
Core/Maps entry assert #10259
Comments
azerothcore-wotlk/src/server/game/Maps/MapMgr.cpp Lines 79 to 83 in b5075e9
Are you using any custom maps or trying to access maps that don't exist in DBC? |
andler=0xcfd500 <go_commandscript::HandleGoZoneXYCommand(ChatHandler*, float, floa Looks like someone tried to port to an obscure place |
No custom maps. Not sure about the second question, if so, shouldn't result in a crash I suppose? |
you can see in the code above that it will assert if the map entry can't be found in dbc |
The GoZoneXY command needs a check to see if the map theyre porting to is valid unfortunately it’s a ptr crash so it’s impossible to tell what they tried to do |
Well that shouldn't be necessary as you don't have an argument to provide map ID. Only for zone id, and if the zone id doesn't exist it will assert within that command and that is what is throwing me off at the moment because we have an ASSERT for zoneid, and under we call the create map azerothcore-wotlk/src/server/scripts/Commands/cs_go.cpp Lines 278 to 282 in b24fd81
So the zone provided is "valid" but has no map? |
and they didnt even provide a zoneid? only coordinates if I read this correctly
So this should not be possible |
|
That assert inside that gm command makes no sense and needs to go away though. The server shouldn't crash if someone decides to try some random value when teleporting |
it is for the zone id if you provide it. |
But, that assert should have hit imo and not the one in createmap. because how can a zone exist but a map doesn't? |
ASSERTs are to be used in very specific situations, code that will irreparably break the core, points of no return that only shutting the entire thing down would make sense. A GM command can just return if something is wrong and print an error instead of shutting the entire server down and no harm will be done. If I read that thing carefully, the zone falls back if it's null and uses the current area's parent zone, so it passes the zone check, even if the map creation fails a few lines below. |
yea but I am still stuck on how we can have a valid zone but not a valid map |
not sure if relevant but azerothcore seems to be the only core i see with this if statement
where other cores do not. Trinitycore 335 https://github.com/TrinityCore/TrinityCore/blob/fd7f48545ce76740065860c0963194c2a9e3e0e2/src/server/game/Maps/MapManager.cpp#L74-L76 Cata Preservation, Trinitycore Master and skyfire has it as if there is !map I guess what i am saying, are we certain we need to check with it being a nullptr and not a !map? |
Removing an assert is not a fix. |
Close it as it's not a core problem. |
Rev: 124ea8a
Modules;
mod-anticheat
mod-autobalance
mod-cfbg
mod-chromie-xp
mod-desertion-warnings
mod-duel-reset
mod-ip-tracker
mod-eluna-lua-engine
mod-low-level-arena
mod-progression-system
mod-pvp-titles
mod-pvpstats-announcer
mod-queue-list-cache
mod-rdf-expansion
mod-server-auto-shutdown
mod-spellsystem-extended
Operating system
Unix
See pastebin
https://pastebin.com/1WzLnT11
The text was updated successfully, but these errors were encountered: