Skip to content
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

[server] world carsh 0131 #14805

Closed
kissingers opened this issue Jan 31, 2023 · 10 comments · Fixed by #14812
Closed

[server] world carsh 0131 #14805

kissingers opened this issue Jan 31, 2023 · 10 comments · Fixed by #14812
Labels
Priority-Critical Server-breaking bugs. Crashes or Exploits

Comments

@kissingers
Copy link

Current Behaviour

.go c 88276
Go inside the channel, and the server crash.

Because here can't visit https://gist.github.com , so I have to upload the zip and paste part of the log.

gdb.txt.zip

Thread 8 "worldserver" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffb37ff700 (LWP 711264)]
SmartAI::IsSummonedBy (this=, summoner=0x0) at /root/acore/src/server/game/AI/SmartScripts/SmartAI.cpp:883
883 GetScript()->ProcessEventsFor(SMART_EVENT_JUST_SUMMONED, summoner->ToUnit(), 0, 0, false, nullptr, summoner->ToGameObject());
#0 SmartAI::IsSummonedBy (this=, summoner=0x0) at /root/acore/src/server/game/AI/SmartScripts/SmartAI.cpp:883
#1 0x0000000000c617ba in Map::SummonCreature (this=0x7fffacd557c0, entry=, pos=..., properties=, duration=, summoner=0x0, spellId=0, vehId=0, visibleBySummonerOnly=) at /root/acore/src/server/game/Entities/Object/Object.cpp:2227
#2 0x00000000008e4687 in instance_mechanar::instance_mechanar_InstanceMapScript::Update (this=0x7fffab78adc0, diff=) at /root/acore/src/server/scripts/Outland/TempestKeep/Mechanar/instance_mechanar.cpp:123
#3 0x0000000000f43dcd in MapUpdateRequest::call (this=0x7fffada96fe0) at /root/acore/src/server/game/Maps/MapUpdater.cpp:44
#4 0x0000000000f43778 in MapUpdater::WorkerThread (this=0x1b82e00 MapMgr::instance()::instance+216) at /root/acore/src/server/game/Maps/MapUpdater.cpp:156
#5 0x00007ffff7821ed0 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007ffff7944ea7 in start_thread (arg=) at pthread_create.c:477
#7 0x00007ffff751ca2f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
#0 SmartAI::IsSummonedBy (this=, summoner=0x0) at /root/acore/src/server/game/AI/SmartScripts/SmartAI.cpp:883

Expected Blizzlike Behaviour

N/A

Source

No response

Steps to reproduce the problem

N/A

Extra Notes

No response

AC rev. hash/commit

AzerothCore rev. 69b2fbc+ 2023-01-29 15:14:19 +0000 (HEAD branch) (Unix, RelWithDebInfo, Static)
Using SSL version: OpenSSL 1.1.1n 15 Mar 2022 (library: OpenSSL 1.1.1n 15 Mar 2022)
Using Boost version: 1.74.0
Using MySQL version: 100518
Using CMake version: 3.18.4
Compiled on: Linux 5.15.64-1-pve
Worldserver listening connections on port 54345
Realmlist (Realm Id: 1) configured in port 34345
VMAPs status: Enabled. LineOfSight: 1, getHeight: 1, indoorCheck: 1
MMAPs status: Enabled
maps directory located in /root/wow/bin/maps. Total size: 291014339 bytes
vmaps directory located in /root/wow/bin/vmaps. Total size: 658130553 bytes
mmaps directory located in /root/wow/bin/mmaps. Total size: 2192911264 bytes
Using zhCN DBC Locale as default. All available DBC locales: zhCN
Using World DB: ACDB 335.8-dev
LoginDatabase queue size: 0
CharacterDatabase queue size: 0
WorldDatabase queue size: 0

Operating system

debian 11 x64

Custom changes or Modules

List enable modules:

  • mod-anticheat
  • mod-bg-reward
  • mod-cfbg
  • mod-eluna
  • mod-multi-client-check
  • mod-npc-beastmaster
  • mod-pvp-titles
  • mod-server-auto-shutdown
@kissingers
Copy link
Author

Maybe cased by this patch:
#14789

883:
GetScript()->ProcessEventsFor(SMART_EVENT_JUST_SUMMONED, summoner->ToUnit(), 0, 0, false, nullptr, summoner->ToGameObject());

@heyitsbench
Copy link
Contributor

heyitsbench commented Jan 31, 2023

Here's the gist. CC: @Nyeriah

@kissingers
Copy link
Author

Here's the gist. CC: @Nyeriah

At China the https://gist.github.com is be filtered and can't open.

@heyitsbench
Copy link
Contributor

At China the https://gist.github.com is be filtered and can't open.

I understand that, but many people (including the people that correct these issues) will not download crash log txts, I re-up them to Gist if the author does not.

@Nyeriah
Copy link
Member

Nyeriah commented Jan 31, 2023

Try #14811

@kissingers
Copy link
Author

Try #14811

Still crash.

gdb1.txt.zip

AzerothCore rev. f567c2b+ 2023-01-31 06:20:20 -0300 (pr-14811 branch) (Unix, RelWithDebInfo, Static)
Using SSL version: OpenSSL 1.1.1n 15 Mar 2022 (library: OpenSSL 1.1.1n 15 Mar 2022)
Using Boost version: 1.74.0
Using MySQL version: 100518
Using CMake version: 3.18.4
Compiled on: Linux
Worldserver listening connections on port 54346
Realmlist (Realm Id: 2) configured in port 54346
VMAPs status: Enabled. LineOfSight: 1, getHeight: 1, indoorCheck: 1
MMAPs status: Enabled
maps directory located in /root/wow/bin/maps. Total size: 291014339 bytes
vmaps directory located in /root/wow/bin/vmaps. Total size: 658130553 bytes
mmaps directory located in /root/wow/bin/mmaps. Total size: 2192911264 bytes
Using zhCN DBC Locale as default. All available DBC locales: zhCN
Using World DB: ACDB 335.8-dev
LoginDatabase queue size: 0
CharacterDatabase queue size: 0
WorldDatabase queue size: 0

List enable modules:

  • mod-anticheat
  • mod-bg-reward
  • mod-cfbg
  • mod-eluna
  • mod-multi-client-check
  • mod-npc-beastmaster
  • mod-pvp-titles
  • mod-save-inventory
  • mod-server-auto-shutdown

@Nyeriah
Copy link
Member

Nyeriah commented Jan 31, 2023

I can’t open zip files sorry. Gotta isolate the crash and find out what’s crashing it. By the looks of it seems like it’s a timed action list in mechanar spawning stuff.

@kissingers
Copy link
Author

kissingers commented Jan 31, 2023

gdb1.txt

Does the txt can open ?
It seems the same as before the pr-14811

@AnchyDev
Copy link
Contributor

AnchyDev commented Jan 31, 2023

possible null reference here maybe?

void TempSummon::InitSummon()
{
    Unit* owner = GetSummonerUnit();
    if (owner)
    {
        if (owner->GetTypeId() == TYPEID_UNIT && owner->ToCreature()->IsAIEnabled)
            owner->ToCreature()->AI()->JustSummoned(this);
    }

    // Xinef: Allow to call this hook when npc is summoned by gameobject, in this case pass this as summoner to avoid possible null checks
    if (IsAIEnabled)
        AI()->IsSummonedBy(owner); // <-------- here
}

@Nyeriah
Copy link
Member

Nyeriah commented Jan 31, 2023

possible null reference here maybe?

void TempSummon::InitSummon()
{
    Unit* owner = GetSummonerUnit();
    if (owner)
    {
        if (owner->GetTypeId() == TYPEID_UNIT && owner->ToCreature()->IsAIEnabled)
            owner->ToCreature()->AI()->JustSummoned(this);
    }

    // Xinef: Allow to call this hook when npc is summoned by gameobject, in this case pass this as summoner to avoid possible null checks
    if (IsAIEnabled)
        AI()->IsSummonedBy(owner); // <-------- here
}

Please PR it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Priority-Critical Server-breaking bugs. Crashes or Exploits
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants