azerothcore-wotlk
azerothcore-wotlk copied to clipboard
changefaction problem Compiled source in debug mode
Current Behaviour
When I use the changefaction command and apply it to the hero, the server crashes
https://user-images.githubusercontent.com/52524476/234382695-937a3f11-1ede-48ea-aefa-a18df640491c.mp4
Expected Blizzlike Behaviour
None
Source
None
Steps to reproduce the problem
.character changefaction target or name and exit the game and apply to the hero
Extra Notes
None
AC rev. hash/commit
rev. a275a7c464f3
Operating system
window server 2019 64bit
Custom changes or Modules
No response
I tested in 2 other modes, it shows these errors, it seems that it should be fixed
Strange, my server hasn't crashed here
Strange, my server hasn't crashed here
![]()
![]()
![]()
Is your source compiled in debug mode? Does your worldserver not receive an error similar to the image above?
In the reviews that he did ActionButton This does not apply to multiple faction to remove the previous faction from its database Because of this, there are 2 different skills that cause errors
Can confirm on Revision: AzerothCore rev. bc0ddaa3c2af 2023-05-24 17:07:20 +0000 (new-amster branch) (Win64, Debug, Static)
VS Error -> array subscript out of range
Unhandled exception at 0x00007FFEA2BD536C (KernelBase.dll) in worldserver.exe: 0xC0000005: Access violation.
At https://github.com/azerothcore/azerothcore-wotlk/blob/bc0ddaa3c2af2e7b0e92986741485d04c1a90a35/src/common/Debugging/WheatyExceptionReport.cpp#L223-L226
CrashLog https://gist.github.com/Kitzunu/e5537d1a934fe8dfd2b224d501869f77
CallStack:
> worldserver.exe!std::array<unsigned int,14>::operator[](unsigned __int64 _Pos) Line 531 C++
worldserver.exe!WorldSession::HandleCharFactionOrRaceChangeCallback::__l95::<lambda_1>::operator()(unsigned char field, unsigned int mask) Line 2194 C++
worldserver.exe!WorldSession::HandleCharFactionOrRaceChangeCallback(std::shared_ptr<CharacterFactionChangeInfo> factionChangeInfo, std::shared_ptr<PreparedResultSet> result) Line 2205 C++
[External Code]
worldserver.exe!QueryCallback::WithPreparedCallback::__l2::<lambda_1>::operator()(QueryCallback & __formal, std::shared_ptr<PreparedResultSet> result) Line 164 C++
[External Code]
worldserver.exe!QueryCallback::InvokeIfReady() Line 224 C++
worldserver.exe!AsyncCallbackProcessor<QueryCallback>::ProcessReadyCallbacks::__l2::<lambda_1>::operator()(QueryCallback & callback) Line 51 C++
[External Code]
worldserver.exe!AsyncCallbackProcessor<QueryCallback>::ProcessReadyCallbacks() Line 48 C++
worldserver.exe!WorldSession::ProcessQueryCallbacks() Line 1297 C++
worldserver.exe!WorldSession::Update(unsigned int diff, PacketFilter & updater) Line 496 C++
worldserver.exe!World::UpdateSessions(unsigned int diff) Line 2962 C++
worldserver.exe!World::Update(unsigned int diff) Line 2381 C++
worldserver.exe!WorldUpdateLoop() Line 596 C++
worldserver.exe!main(int argc, char * * argv) Line 413 C++
[External Code]
any new on this? i had this crash today, on my custom server, i waste some hours, thinking was an error from custom changes i did, so i compiled a Fresh Source, and same thing happened.
Build with RelWithDebInfo instead
I'm having the worldserver crash every time I attempt to faction change, regardless of the build type. I've tried with my custom code and with a fresh compile (f757e93) and it's still only crashing on the dedicated server; I can't replicate it on the my system. It makes me think there might be some hardware/dependency issue?
OS: WinServ 2012 Crash Log: https://pastebin.com/rB59W4K3
Worldserver Error:
.\VC\Tools\MSVC\14.34.31933\include\array(540) : Assertion failed: array subscript out of range (0) : Run-Time Check Failure #2 - Stack around the variable 'buffer' was corrupted.(0) : Run-Time Check Failure #2 - Stack around the variable 'buffer' was corrupted.(0) : Run-Time Check Failure #2 - Stack around the variable 'buffer' was corrupted.(0) : Run-Time Check Failure #2 - Stack around the variable 'buffer' was corrupted.(0) : Run-Time Check Failure #2 - Stack around the variable 'buffer' was corrupted.(0) : Run-Time Check Failure #2 - Stack around the variable 'buffer' was corrupted.(0) : Run-Time Check Failure #2 - Stack around the variable 'buffer' was corrupted.(0) : Run-Time Check Failure #2 - Stack around the variable 'buffer' was corrupted.(0) : Run-Time Check Failure #2 - Stack around the variable 'buffer' was corrupted.(0) : Run-Time Check Failure #2 - Stack around the variable 'buffer' was corrupted.(0) : Run-Time Check Failure #2 - Stack around the variable 'buffer' was corrupted.(0) : Run-Time Check Failure #2 - Stack around the variable 'buffer' was corrupted.