Task #1089

Update to omni-bot 0.86/ Fix ETL linux 64 bit

Added by Spyhawk about 1 year ago. Updated 4 months ago.

Status:Fixed% Done:

100%

Priority:Immediate
Assignee:jenkins
Category:General
Target version:2.76
OS:Linux Arch:

Description

Update to latest OmniBot 0.86:

  • update the archive file on server (checkout from assembla, use new 0.86 lib from 2018-02-25),
  • check and apply changes in our codebase implementation (stable branch of github.com/jswigart/, 0.83 repo)
  • remove possibly deprecated hack on our codebase (see bazooka changes of early 2016)
  • don’t hardcode checksum in installer so we can update the OB files easily between releases
  • Fix 64bit linux install

sdl_flags.txt Magnifier (3.22 KB) jenkins, 27.12.2018 18:19


Related issues

Related to ET: Legacy Development - Task #890: Update to Omni-Bot 0.85 Fixed 24.11.2015

Associated revisions

Revision d4e68aac
Added by plastovicka about 1 year ago

game: fixed function GetEntityOwner returned dead player after gold was dropped and taken by another player

see https://github.com/jswigart/omni-bot/commit/27ae968ee1adbd1e60651323e0400281c66c056a

Revision 5298380f
Added by plastovicka about 1 year ago

game: fixed entities of multiple MG42s at the same position (on baserace map)

see: https://github.com/jswigart/omni-bot/commit/150dda11946d4fd570aa53829de0ddea0a898a85

Revision 2a816922
Added by Spyhawk 4 months ago

misc: disabled md5 check for OB archive, refs #1089

Revision fb354d06
Added by Spyhawk 4 months ago

misc: adjusted default config for OB and WA, refs #1089

Revision 5bf58baa
Added by Spyhawk 4 months ago

misc: disable md5 check of WA archive, refs #1089

History

#1 Updated by Spyhawk about 1 year ago

  • Related to Task #890: Update to Omni-Bot 0.85 added

#2 Updated by Spyhawk about 1 year ago

  • Description updated (diff)

#3 Updated by Spyhawk about 1 year ago

I get a crash when starting a localhost game with the new OB (new libs on mirror.etlegacy.com, 0.86 rev 3369):

Game Initialization completed in 0.21 seconds.
Omni-bot: Looking for /usr/lib/etlegacy/legacy/omni-bot/omnibot_et.x86_64.so, found.
Omni-bot: Found Omni-bot: /usr/lib/etlegacy/legacy/omni-bot/omnibot_et.x86_64.so, Attempting to Initialize
tty]
Thread 1 "etl" received signal SIGSEGV, Segmentation fault.
0x00007fff7f506ab1 in gmCodeTreeNode::Create(gmCodeTreeNodeType, int, int, int) () from /usr/lib/etlegacy/legacy/omni-bot/omnibot_et.x86_64.so
(gdb) bt
#0  0x00007fff7f506ab1 in gmCodeTreeNode::Create(gmCodeTreeNodeType, int, int, int) () from /usr/lib/etlegacy/legacy/omni-bot/omnibot_et.x86_64.so
#1  0x00007fff7f50c443 in gmparse() () from /usr/lib/etlegacy/legacy/omni-bot/omnibot_et.x86_64.so
#2  0x00007fff7f50623e in gmCodeTree::Lock(char const*, gmLog*) () from /usr/lib/etlegacy/legacy/omni-bot/omnibot_et.x86_64.so
#3  0x00007fff7f40462e in gmMachine::ExecuteString(char const*, int*, bool, char const*, gmVariable*) () from /usr/lib/etlegacy/legacy/omni-bot/omnibot_et.x86_64.so
#4  0x00007fff7f45aae5 in ScriptManager::ExecuteFile(filePath const&, int&, gmVariable*) () from /usr/lib/etlegacy/legacy/omni-bot/omnibot_et.x86_64.so
#5  0x00007fff7f484947 in WeaponDatabase::LoadDefaultWeapon() () from /usr/lib/etlegacy/legacy/omni-bot/omnibot_et.x86_64.so
#6  0x00007fff7f4859b3 in WeaponDatabase::LoadWeaponDefinitions(bool) () from /usr/lib/etlegacy/legacy/omni-bot/omnibot_et.x86_64.so
#7  0x00007fff7f48d873 in IGame::Init() () from /usr/lib/etlegacy/legacy/omni-bot/omnibot_et.x86_64.so
#8  0x00007fff7f3fb733 in ET_Game::Init() () from /usr/lib/etlegacy/legacy/omni-bot/omnibot_et.x86_64.so
#9  0x00007fff7f4b82db in IGameManager::CreateGame(IEngineInterface*, int) () from /usr/lib/etlegacy/legacy/omni-bot/omnibot_et.x86_64.so
#10 0x00007fff7f4b89b4 in BotInitialise(IEngineInterface*, int) () from /usr/lib/etlegacy/legacy/omni-bot/omnibot_et.x86_64.so
#11 0x00007fff64c33c56 in Omnibot_LoadLibrary (version=17, lib=0x7fff64c544f8 "omnibot_et", path=0x7fff657d7e00 <Omnibot_FixPath(char const*)::pathstr> "/home/remy/.etlegacy")
    at /home/remy/code/dev/etlegacy/src/Omnibot/Common/BotLoadLibrary.cpp:359
#12 0x00007fff64c207f6 in Bot_Interface_Init () at /home/remy/code/dev/etlegacy/src/game/g_etbot_interface.cpp:6289
#13 0x00007fff64b8d366 in vmMain (command=0, arg0=0, arg1=4924, arg2=0, arg3=1, arg4=4294967571, arg5=4294965959, arg6=93825017844784)
    at /home/remy/code/dev/etlegacy/src/game/g_main.c:699
#14 0x00005555555d2186 in VM_CallFunc (vm=0x555556dc1430 <vmTable>, callNum=0) at /home/remy/code/dev/etlegacy/src/qcommon/vm.c:758
#15 0x00005555555e1061 in SV_InitGameVM (restart=qfalse) at /home/remy/code/dev/etlegacy/src/server/sv_game.c:742
#16 0x00005555555e10f3 in SV_InitGameProgs () at /home/remy/code/dev/etlegacy/src/server/sv_game.c:791
#17 0x00005555555e277a in SV_SpawnServer (server=0x7fffffffd5b0 "goldrush") at /home/remy/code/dev/etlegacy/src/server/sv_init.c:775
#18 0x00005555555d5874 in SV_Map_f () at /home/remy/code/dev/etlegacy/src/server/sv_ccmds.c:146
#19 0x000055555559f2fb in Cmd_ExecuteString (text=0x7fffffffd670 " map goldrush") at /home/remy/code/dev/etlegacy/src/qcommon/cmd.c:999
#20 0x000055555559f76b in Cbuf_Execute () at /home/remy/code/dev/etlegacy/src/qcommon/cmd.c:278
#21 0x00005555555a727d in Com_Frame () at /home/remy/code/dev/etlegacy/src/qcommon/common.c:3377
#22 0x00005555556314a3 in Sys_GameLoop () at /home/remy/code/dev/etlegacy/src/sys/sys_main.c:994
#23 0x00005555556315a2 in main (argc=1, argv=0x7fffffffe048) at /home/remy/code/dev/etlegacy/src/sys/sys_main.c:1102

#4 Updated by IR4T4 about 1 year ago

I can’t confirm with latest ETL master & OB install from update-omnibot.sh @ mirror.etlegacy.com (Omni-bot revision is 3369).

32-bit !

Game Initialization completed in 0.05 seconds.
Omni-bot: Looking for legacy/omni-bot/omnibot_et.so, found.
Omni-bot: Found Omni-bot: legacy/omni-bot/omnibot_et.so, Attempting to Initialize
ET autoexec script executed. 
Loaded Waypoints.
Omni-bot 0.86 initialized in 0.15 seconds.
Omni-bot: Omni-bot Loaded Successfully
Omni-Bot Initialization completed in 0.12 seconds.
Setting Allied autospawn to Allied Camp
Setting Axis autospawn to Old City
147 Goals Loaded, 23 Goals Deferred, 0 Goals could not load. elapsed time: 0.05 seconds
Omni-Bot : Feb 25 2018 18:24:48
Version : 0.86
Interface # : 17

#5 Updated by palota about 1 year ago

Spyhawk wrote:

I get a crash when starting a localhost game with the new OB (new libs on mirror.etlegacy.com, 0.86 rev 3369):

Do you get the same crash with old Omnibot 0.85 ?

#6 Updated by Spyhawk about 1 year ago

No, the old version works fine.

#7 Updated by palota about 1 year ago

I haven’t found any problems, but I tested only ETL 2.75. Are you sure there are no bugs in the latest ETL ? I can see from your stack trace that crash happened very early at the first memory allocation in GameMonkey. It looks like the memory heap was already damaged.

#8 Updated by Spyhawk about 1 year ago

Thank you for having a look.
It is unclear at this time why this happens for the 64 bit version (the 32 bit version runs perfectly fine), but we’ll continue to dig around.

#9 Updated by IR4T4 about 1 year ago

  • Subject changed from Update to omni-bot 0.86 to Update to omni-bot 0.86/ Fix ETL linux 64 bit
  • Category changed from Mod generic to General
  • % Done changed from 0 to 10
  • OS set to Linux

It’s not only Omnibot. The 64 bit linux build definately has issues. Built from easybuild.sh -64 (release build) the UI doesn’t even start:

#0 0x0000555555622472 in PC_Directive_define.part.5 () 
#1 0x0000555555621a13 in PC_ReadDirective () 
#2 0x0000555555621f1e in PC_ReadToken () 
#3 0x0000555555623133 in PC_ReadTokenHandle () 
#4 0x000055555560b4d3 in CL_UISystemCalls () #5 0x00005555555cf3d0 in VM_DllSyscall () 
#6 0x00007fffcc302d86 in ?? () from /home/cia/.etlegacy/legacy/ui.mp.x86_64.so 
#7 0x00007fffcc2e526e in ?? () from /home/cia/.etlegacy/legacy/ui.mp.x86_64.so 
#8 0x00007fffcc2e5488 in ?? () from /home/cia/.etlegacy/legacy/ui.mp.x86_64.so 
#9 0x00007fffcc2e89ff in ?? () from /home/cia/.etlegacy/legacy/ui.mp.x86_64.so 
#10 0x00007fffcc2e9391 in vmMain () from /home/cia/.etlegacy/legacy/ui.mp.x86_64.so 
#11 0x00005555555d02bd in VM_CallFunc () 
#12 0x00005555555a185d in Com_Init () 
#13 0x000055555558d842 in main ()

With debug build it shows the above output from spyhawk"gmCodeTreeNode::Create(..." but UI is starting.

#10 Updated by IR4T4 about 1 year ago

  • Description updated (diff)
  • Priority changed from Normal to Immediate
  • OS deleted (Linux)

#11 Updated by Spyhawk about 1 year ago

I can confirm the issue with 64 bit release build. Fixing this is not going to be fun...

#12 Updated by Spyhawk 4 months ago

Note: OB has been updated on our server. This is the latest files from assembla + latest binaries, minus the WIP nav files.

I see this in my OB log:

```
—————- Log begins on Thu Dec 20 21:41:39 2018 —————
I 12/20 21:41:39 Error Mounting legacy/omni-bot/et/incomplete_navs : File not found
I 12/20 21:41:39 Error Mounting legacy/omni-bot/et/incomplete_navs/priority_maps : File not found
I 12/20 21:41:39 Error Mounting legacy/omni-bot/et/incomplete_navs/with_script : File not found
I 12/20 21:41:39 Error Mounting legacy/omni-bot/et/incomplete_navs/no_script : File not found

12/20 21:41:39 +- Begin block: IGameManager::CreateGame

...
```

We should actually not remove these directories (I guess the path is hardcoded?) (Edit: done, now shipping all files regardless of their status)

#13 Updated by IR4T4 4 months ago

  • Assignee deleted (Spyhawk)
  • % Done changed from 10 to 70

#14 Updated by IR4T4 4 months ago

  • Assignee set to jenkins
  • % Done changed from 70 to 90
  • OS set to Linux

#15 Updated by jenkins 4 months ago

Waiting for feedback on last builds.

#16 Updated by Spyhawk 4 months ago

: adjust omnit bot and wolfadmin cvar in config by default. Should work out of the box! done!

#17 Updated by IR4T4 4 months ago

  • Status changed from New to Fixed
  • % Done changed from 90 to 100

#18 Updated by Spyhawk 4 months ago

For the record: The issue seems related to the toolchain, rather than a bug from our side.

Works when built on CentOS with older GCC (4.9, 5.3), and seems a freshly installed stable Debian works too (GCC 6.3?). IR4’s debian doesn’t (GCC6.3), however. No much luck on Arch with GCC 8.2.1 on my side either.

#19 Updated by jenkins 4 months ago

This might also be something with headers (devel libs) available on the system or the available options enabled during compiling.
Just to update with more info - my builds were done on CentOS7 with GCC6.3.1. I also had working build compiled with GCC8.2.1 on Fedora which was intentionally skipped for anything else than the test due to compatibility with other distros (such as Debian).

#20 Updated by jenkins 4 months ago

Also available in: Atom PDF