Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Fatal crash in BattlegroundQueue.cpp #5279

Closed
skxawng-cu opened this issue Apr 14, 2021 · 15 comments · Fixed by #5304
Closed

Fatal crash in BattlegroundQueue.cpp #5279

skxawng-cu opened this issue Apr 14, 2021 · 15 comments · Fixed by #5304
Assignees

Comments

@skxawng-cu
Copy link
Contributor

skxawng-cu commented Apr 14, 2021

CURRENT BEHAVIOUR:

src/server/game/Battleground/BattlegroundQueue.cpp:258 in RemovePlayer ABORTED.
Segmentation fault (core dumped)

EXPECTED BLIZZLIKE BEHAVIOUR:

SOURCE:

IMG_20210413_211534

STEPS TO REPRODUCE THE PROBLEM:

  1. Build and start the server.
  2. Join players to BG Queue until BG call.
  3. Server will crash.

EXTRA NOTES:

AC HASH/COMMIT:

c860b44

OPERATING SYSTEM:

Ubuntu 20.04

MODULES:

Anticheat
Transmog

CUSTOMIZATIONS:

@skxawng-cu
Copy link
Contributor Author

skxawng-cu commented Apr 14, 2021

IMG_20210413_220525

ABORT() ;

That line cause the crash, I try comment the line and rebuild and work.

@Kitzunu
Copy link
Member

Kitzunu commented Apr 14, 2021

Weird that it happens now and not anytime before...

Did any commit recently adjust something about battlegrounds @FrancescoBorzi ?

@FrancescoBorzi
Copy link
Contributor

FrancescoBorzi commented Apr 14, 2021

Weird that it happens now and not anytime before...

Did any commit recently adjust something about battlegrounds @FrancescoBorzi ?

I did something but it's not merged yet, so it can't be that.

@Winfidonarleyan recently worked on BGs

However, I can confirm that using b9ae587 with CFBG I didn't get any crash with players.

@skxawng-cu do you have any changes in your AC or it's clean? Can you try to reproduce this without any modifications or modules enabled?

also can anyone else reproduce this?

@Winfidonarleyan
Copy link
Member

Winfidonarleyan commented Apr 14, 2021

Need crashlog for check problem

@FrancescoBorzi
Copy link
Contributor

Need crashlog for check problem

no need crashlog this time, it's clear what the line of the crash is because it's ABORT()

@Helias
Copy link
Member

Helias commented Apr 14, 2021

I checked the lines near to ABORT() and I saw that besides the conversion from the var type of itr to auto there were no changes even to the part of code of RemovePlayer(), so, I am not sure that what causes the issue is that line, a crash log could be helpful I think

@skxawng-cu
Copy link
Contributor Author

skxawng-cu commented Apr 15, 2021

Where the core save crash logs in Linux?

@Kitzunu
Copy link
Member

Kitzunu commented Apr 15, 2021

I cannot reproduce this in Windows

@Footman
Copy link
Contributor

Footman commented Apr 15, 2021

same crash

@Kitzunu
Copy link
Member

Kitzunu commented Apr 15, 2021

Please add a crashlog

@Footman
Copy link
Contributor

Footman commented Apr 15, 2021

#0  0x0000000000e4ac2e in acore::Abort (file=0xf1d768 "/src/server/game/Battlegrounds/BattlegroundQueue.cpp", line=277, function=0xf1d80e "RemovePlayer") at /src/common/Debugging/Errors.cpp:116
        formattedMessage = <incomplete type>
#1  0x000000000044bcb5 in BattlegroundQueue::RemovePlayer (this=0x1431130 <BattlegroundMgr::instance()::instance+96>, guid=4106, sentToBg=<optimized out>, playerQueueSlot=0) at /src/server/game/Battlegrounds/BattlegroundQueue.cpp:277
        player = 0x7ffe88ec4940
        itr = <optimized out>
        groupInfo = <optimized out>
        _bracketId = <optimized out>
        _groupType = <optimized out>
        group_itr = <optimized out>
        pitr = <optimized out>
#2  0x0000000000644d9f in WorldSession::HandleBattlemasterJoinArena (this=0x7ffea8e9f100, recvData=...) at /src/server/game/Handlers/BattleGroundHandler.cpp:655
        bgQueue = @0x1431130: {m_QueuedPlayers = std::map with 0 elements, m_QueuedGroups = {{empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list}, {empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list}, {empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list}, {empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list}, {empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list}, {empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list}, {empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list}, {empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list}, {empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list}, {empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list}, {empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list}, {empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list}, {empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list}, {empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list}, {empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list}, {empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list, empty std::__cxx11::list}}, m_SelectionPools = {{SelectedGroups = empty std::__cxx11::list, PlayerCount = 0}, {SelectedGroups = empty std::__cxx11::list, PlayerCount = 0}}, m_bgTypeId = BATTLEGROUND_TYPE_NONE, m_arenaType = 0, m_WaitTimes = {{{0, 0, 0, 0, 0, 0, 0, 0, 0, 0} <repeats 16 times>}, {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0} <repeats 16 times>}}, m_WaitTimeLastIndex = {{0 <repeats 16 times>}, {0 <repeats 16 times>}}, m_events = {m_time = 3601001, m_events = std::multimap with 0 elements, m_aborting = false}}
        asGroup = 0 '\000'
        isRated = 1 '\001'
        arenatype = 5 '\005'
        arenaslot = <optimized out>
        bgt = <optimized out>
        bgTypeId = BATTLEGROUND_AA
        bgQueueTypeId = BATTLEGROUND_QUEUE_NONE
        bracketEntry = 0x7ffff36e6494
        startHour = <optimized out>
        endHour = <optimized out>
        arenaJoinStartTime = <optimized out>
        arenaJoinStoptTime = <optimized out>
        currentTime = <optimized out>
        err = <optimized out>
        guid = <optimized out>
        qSlot = <optimized out>
#3  0x000000000071a5a8 in WorldSession

@Footman
Copy link
Contributor

Footman commented Apr 15, 2021

than same reason caused crash with cfbg module:

#4  CFBG::ShouldForgetInListPlayers (this=0x1464888 <CFBG::instance()::instance>, player=0x7ffed44aad00) at /modules/mod-cfbg/src/CFBG.cpp:380
No locals.
#5  CFBG::UpdateForget (this=0x1464888 <CFBG::instance()::instance>, player=0x7ffed44aad00) at /modules/mod-cfbg/src/CFBG.cpp:496
        bg = <optimized out>

#6  0x00000000008f7891 in CFBG_Player::OnBeforeUpdate (this=0x7ffff6919780, player=0x7ffed44aad00, diff=<optimized out>) at /modules/mod-cfbg/src/CFBG_SC.cpp:177
No locals.
#7  0x00000000006ef403 in ScriptMgr::OnBeforePlayerUpdate (this=<optimized out>, player=0x7ffed44aad00, p_time=16) at /src/server/game/Scripting/ScriptMgr.cpp:1549
        itr = {first = 7, second = 0x7ffff6919780}
#8  0x00000000004e5eef in Player::Update (this=0x7ffed44aad00, p_time=16) at /src/server/game/Entities/Player/Player.cpp:1598

@FrancescoBorzi
Copy link
Contributor

@Winfidonarleyan this seems to be caused by the MS Hooks PR, please fix it asap

@ernesto-glz
Copy link
Contributor

ernesto-glz commented Apr 15, 2021

@Winfidonarleyan You can reproduce the error simply by dialing 2v2 skirmish

@Winfidonarleyan
Copy link
Member

@Footman Thanks for crashlog

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants