Xc engine 25 crash

Letylove49
Average
Posts: 67
Joined: Tue Feb 28, 2012 7:47 pm
Personal rank: <[MHA] >Admin
Location: Retired

Xc engine 25 crash

Post by Letylove49 » Fri Oct 02, 2020 10:47 pm

hi

My server crash with this nwe xc engine : i got this :
nit: CPU Page size=4096, Processors=16
Init: CPU Detected: PentiumPro-class processor (GenuineIntel)
Init: CPU Features: CMov FPU RDTSC PAE MMXSSE KNI
Log: Bound to Engine.dll
Log: =======================================
Log: ucc.exe: UnrealOS execution environment
Log: Copyright 1999 Epic Games Inc
Log: =======================================
Log:
Log: Executing Class Engine.ServerCommandlet
Log: Bound to XC_Engine.dll
Log: Bound to Window.dll
Log: Bound to XC_Core.dll
Log: Bound to CollisionGrid.dll
Init: =========== XC_ENGINE - Build 25 ============
Init: ================= By Higor ==================
Init: Unreal engine initialized
DevNet: LastURL: ::0/
Log: Browse: MH-Andromeda-Ancient-Test1K.unr?Name=Player?Class=Botpack.TMale2?team=0?skin=SoldierSkins.blkt?Face=SoldierSkins.Othello
Log: XC_LoadMap: MH-Andromeda-Ancient-Test1K.unr?Name=Player?Class=Botpack.TMale2?team=0?skin=SoldierSkins.blkt?Face=SoldierSkins.Othello
DevNet: Attempt load MyLevel
Log: Bound to Fire.dll
Log: Bound to IpDrv.dll
Log: Bound to UWeb.dll
Log: Collecting garbage
Log: Purging garbage
Log: Garbage: objects: 29053->29053; refs: 888410
XC_Engine: Setting up collision grid [Level Hook] for MH-Andromeda-Ancient-Test1K
Log: [CG] Grid allocated [128,128,128]
Log: [CG] Allocated element holder for ActorInfo with 1500 entries
Log: [CG] Element holders succesfully spawned.
Log: [CG] Allocating extra element holder for ActorInfo
Log: [CG] Allocated element holder for ActorInfo with 1500 entries
Critical: appError called:
Critical: Assertion failed: Element.CanAcquire() [File:f:\ut_src_xc\collisiongrid\collisiongrid\gridmem.h] [Line: 139]
Exit: Executing UObject::StaticShutdownAfterError
Exit: Exiting.
Log: Log file closed, 10/02/20 23:34:50
<[MHA]>Letylove49 aka Shado170

User avatar
sektor2111
Godlike
Posts: 4889
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Xc engine 25 crash

Post by sektor2111 » Fri Oct 02, 2020 10:52 pm

Lol, so CollisionHook, LevelHook must be disabled in v25 too... Good to know...

Letylove49
Average
Posts: 67
Joined: Tue Feb 28, 2012 7:47 pm
Personal rank: <[MHA] >Admin
Location: Retired

Re: Xc engine 25 crash

Post by Letylove49 » Fri Oct 02, 2020 11:23 pm

ok this solve this probleme. thanks
<[MHA]>Letylove49 aka Shado170

Eternity
Average
Posts: 34
Joined: Sat Nov 30, 2019 10:56 pm

Re: Xc engine 25 crash

Post by Eternity » Thu Oct 08, 2020 8:01 am

This crash occurs only with some maps...
With some maps a moment prior to this crash many of messages such as this one appear in the log:
Log: [CG] ActorInfo::IsValid -> PAmmo1 shouldn't be in the grid
XC_Engine: === Last line repeats 2 times.
Log: [CG] ActorInfo::IsValid -> HealthPack6 shouldn't be in the grid
XC_Engine: === Last line repeats 6 times.
Log: [CG] ActorInfo::IsValid -> Armor7 shouldn't be in the grid
XC_Engine: === Last line repeats 4 times.
Log: [CG] ActorInfo::IsValid -> Using invalid object
XC_Engine: === Last line repeats 372 times.
---

Important detail: with bCollisionHashHook=True can not reproduce FCollisionHash crash. But, stable work under crash tests sooner or later finally ends by the same error:
Critical: Assertion failed: Element.CanAcquire() [File:f:\ut_src_xc\collisiongrid\collisiongrid\gridmem.h] [Line: 139]
With XC_Engine v24 (v436-v451) and bCollisionHashHook=True that crash is easily reproduceable, same way as with standard engine.

Eternity
Average
Posts: 34
Joined: Sat Nov 30, 2019 10:56 pm

Re: Xc engine 25 crash

Post by Eternity » Fri Oct 09, 2020 9:56 pm

Critical: Assertion failed: Element.CanAcquire() [File:f:\ut_src_xc\collisiongrid\collisiongrid\gridmem.h] [Line: 139]
Some maps that might be useful for test/debug of this problem:
MH-SkaarjTowerF
MH-GiranTown+SBFix2
MH-MP-Ortican
MH-ProxyMoon MH-ProxyMoon_V2
MH-SkaarjCastle_V2F
MH-FNB-TOD-P1-BETA2
MH-KG_HighSchool
MH-Andromeda-Ancient-Test1V
MH-LostInTimeV3
MH-EnterToCore-Part2
MH-FNB-OC-P1-ALPHA1
MH-MeltTownV6

---

Edit: Thank you to one forum user for help to search missed files/links. Added the links...

Higor
Godlike
Posts: 1824
Joined: Sun Mar 04, 2012 6:47 pm

Re: Xc engine 25 crash

Post by Higor » Sun Oct 11, 2020 1:19 pm

D'oh
I had this problem on Linux and fixed it there, never recompiled the DLL with the fix on Windows.
A rebuilt DLL will be shipped for 25b
ImageImage
Image unreal://23.111.157.138:7777
Image unreal://46.228.199.205:7788

Eternity
Average
Posts: 34
Joined: Sat Nov 30, 2019 10:56 pm

Re: Xc engine 25 crash

Post by Eternity » Fri Oct 16, 2020 11:32 am

Sadly, can not test it in Linux.
Fails on Init, apparently can not load libraries because of dependency issues (OS is quite outdated...).

Code: Select all

WARNING: using preference directory: /home/user/.utpg/System/
WARNING: Using system ini file: /home/user/.utpg/System/UnrealTournamentServer.ini
WARNING: Using user ini file: /home/user/.utpg/System/User.ini
=======================================
ucc.exe: UnrealOS execution environment
Copyright 1999 Epic Games Inc
=======================================

Executing Class Engine.ServerCommandlet
Failed to load 'Class XC_Engine.XC_GameEngine': Object not found: Class XC_Engine.XC_GameEngine
Object not found: Class XC_Engine.XC_GameEngine
appError called:
Object not found: Class XC_Engine.XC_GameEngine
Executing UObject::StaticShutdownAfterError
Object not found: Class XC_Engine.XC_GameEngine

History: UObject::SafeLoadError <- UObject::StaticLoadClass <- UServerCommandlet::Main

Exiting due to error
Exiting.
#hostnamectl:

Code: Select all

Operating System: Ubuntu 14.04.6 LTS
Kernel: Linux 3.13.0-160-generic
Architecture: x86_64

Higor
Godlike
Posts: 1824
Joined: Sun Mar 04, 2012 6:47 pm

Re: Xc engine 25 crash

Post by Higor » Sat Oct 17, 2020 1:47 pm

I had to build XC_Engine on a VDS server running ubuntu 18.04, my desktop is on 20.04 and adds even more dependencies :facepalm:
But, if you can use ldd to find out what symbols are missing on your system, I may try and figure out one of those ugly linker workaround (no guarantees here)
ImageImage
Image unreal://23.111.157.138:7777
Image unreal://46.228.199.205:7788

Eternity
Average
Posts: 34
Joined: Sat Nov 30, 2019 10:56 pm

Re: Xc engine 25 crash

Post by Eternity » Sat Oct 17, 2020 4:23 pm

It seems, this is an issue of libstdc++.so.6 version mismatch. Found similar case discussed here: https://github.com/FoldingAtHome/fah-issues/issues/1147

Code: Select all

root@v9917:~# ldd /home/user/ut-server/System/XC_Core.so
/home/user/ut-server/System/XC_Core.so: /usr/lib/i386-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /home/user/ut-server/System/XC_Core.so)
        linux-gate.so.1 =>  (0xf7702000)
        libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7680000)
        libnsl.so.1 => /lib/i386-linux-gnu/libnsl.so.1 (0xf7667000)
        libSDL2-2.0.so.0 => not found
        Core.so => not found
        Engine.so => not found
        Cacus.so => not found
        libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf757e000)
        libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7538000)
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7387000)
        libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7369000)
        /lib/ld-linux.so.2 (0xf7703000)
root@v9917:~# ldd /home/user/ut-server/System/XC_Engine.so
/home/user/ut-server/System/XC_Engine.so: /usr/lib/i386-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /home/user/ut-server/System/XC_Engine.so)
        linux-gate.so.1 =>  (0xf77c1000)
        libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7755000)
        libnsl.so.1 => /lib/i386-linux-gnu/libnsl.so.1 (0xf773c000)
        libSDL2-2.0.so.0 => not found
        Core.so => not found
        Engine.so => not found
        Cacus.so => not found
        XC_Core.so => not found
        libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf7653000)
        libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf760d000)
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf745b000)
        libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf743e000)
        /lib/ld-linux.so.2 (0xf77c2000)
root@v9917:~# ldd /home/user/ut-server/System/XC_IpDrv.so
/home/user/ut-server/System/XC_IpDrv.so: /usr/lib/i386-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /home/user/ut-server/System/XC_IpDrv.so)
        linux-gate.so.1 =>  (0xf770e000)
        libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf76d7000)
        libnsl.so.1 => /lib/i386-linux-gnu/libnsl.so.1 (0xf76be000)
        libSDL2-2.0.so.0 => not found
        Core.so => not found
        Engine.so => not found
        Cacus.so => not found
        XC_Core.so => not found
        libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf75d5000)
        libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf758f000)
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf73dd000)
        libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf73c0000)
        /lib/ld-linux.so.2 (0xf770f000)
root@v9917:~# ldd /home/user/ut-server/System/Cacus.so
        linux-gate.so.1 =>  (0xf77b3000)
        libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf76a9000)
        libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7663000)
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf74b2000)
        libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7495000)
        libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7479000)
        /lib/ld-linux.so.2 (0xf77b4000)
root@v9917:~# ldd /home/user/ut-server/System/CollisionGrid.so
        linux-gate.so.1 =>  (0xf77af000)
        libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7786000)
        libnsl.so.1 => /lib/i386-linux-gnu/libnsl.so.1 (0xf776d000)
        libSDL2-2.0.so.0 => not found
        Core.so => not found
        Engine.so => not found
        libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf7684000)
        libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf763e000)
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf748d000)
        libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7470000)
        /lib/ld-linux.so.2 (0xf77b0000)
root@v9917:~# ldd /home/user/ut-server/System/LZMA.so
        linux-gate.so.1 =>  (0xf7738000)
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf756b000)
        /lib/ld-linux.so.2 (0xf7739000)
Last edited by Eternity on Tue Oct 27, 2020 8:57 pm, edited 2 times in total.

Eternity
Average
Posts: 34
Joined: Sat Nov 30, 2019 10:56 pm

Re: Xc engine 25 crash

Post by Eternity » Tue Oct 27, 2020 8:36 pm

Installed newer GCC version (v4.9.0) for experiment... (Normally this GCC version is not meant to be used with Ubuntu 14.04)
XC_Engine works now, but only with default IpDrv.TcpNetDriver.
With XC_IpDrv.XC_TcpNetDriver issues the log:

Code: Select all

Bound to XC_IpDrv.so
Cacus Socket initialized
Sockets: Socket queue 303104 / 303104
Failed to bind IPv4 port 1 (EACCES)
Failed to listen: Sockets: binding to port 1 failed (EACCES)
No localization: XC_Engine.Errors.ServerListen (int)
appError called:
<?int?XC_Engine.Errors.ServerListen?>
Executing UObject::StaticShutdownAfterError
<?int?XC_Engine.Errors.ServerListen?>

History: Listen <- UXC_GameEngine::LoadMap <- LocalMapURL <- UGameEngine::Browse <- UGameEngine::Init <- UXC_GameEngine::Init <- UServerCommandlet::Main

Exiting due to error
Exiting.