rehlds icon indicating copy to clipboard operation
rehlds copied to clipboard

Natural Selection Linux crash with RCBot

Open NukemD opened this issue 3 years ago • 3 comments

I'm getting a crash running Natural Selection with RCBot on Linux that is predictable when a round starts on any map.

using GDB, I get this snippet:

FATAL ERROR (shutting down): Mod_Handle: bad modelindex #-1

#0 0xf761543b in Sys_Error(char const*, ...) () from /home/username/Desktop/hlds_l/engine_i486.so #1 0xf7593c78 in GetModelPtr(edict_s*) () from /home/username/Desktop/hlds_l/engine_i486.so #2 0xf2d8edf7 in api_caller_void_args_p(void const*, void const*) () from /home/username/Desktop/hlds_l/./ns/addons/metamod/dlls/metamod.so #3 0xf2d9090e in main_hook_function(class_ret_t, unsigned int, enum_api_t, unsigned int, void const*) () from /home/username/Desktop/hlds_l/./ns/addons/metamod/dlls/metamod.so #4 0xf2d9195f in mm_GetModelPtr(edict_s*) () from /home/username/Desktop/hlds_l/./ns/addons/metamod/dlls/metamod.so #5 0xf2b026cd in CBaseAnimating::LookupSequence(char const*, int) () from /home/username/Desktop/hlds_l/ns/dlls/ns_i386.so #6 0xf2b4881f in CBasePlayer::SetAnimation(PLAYER_ANIM) () from /home/username/Desktop/hlds_l/ns/dlls/ns_i386.so #7 0xf2bd8a52 in AvHPlayer::SetUser3(AvHUser3, bool, bool) () from /home/username/Desktop/hlds_l/ns/dlls/ns_i386.so #8 0xf2bd9bb6 in AvHPlayer::SetPlayMode(AvHPlayMode, bool) () from /home/username/Desktop/hlds_l/ns/dlls/ns_i386.so #9 0xf2b9bfd9 in ?? () from /home/username/Desktop/hlds_l/ns/dlls/ns_i386.so #10 0xf2b9ef3c in AvHGamerules::PostWorldPrecacheReset(bool) () from /home/username/Desktop/hlds_l/ns/dlls/ns_i386.so #11 0xf2b9fd69 in AvHGamerules::Think() () from /home/username/Desktop/hlds_l/ns/dlls/ns_i386.so #12 0xf2b0df64 in StartFrame() () from /home/username/Desktop/hlds_l/ns/dlls/ns_i386.so #13 0xf2d92bf0 in main_hook_function_void(unsigned int, enum_api_t, unsigned int, void const*) () from /home/username/Desktop/hlds_l/./ns/addons/metamod/dlls/metamod.so #14 0xf2d958e1 in mm_StartFrame() () from /home/username/Desktop/hlds_l/./ns/addons/metamod/dlls/metamod.so #15 0xf756315d in SV_Physics() () from /home/username/Desktop/hlds_l/engine_i486.so #16 0xf7defe1c in _DYNAMIC () from /lib/libc.so.6 #17 0xffff92bc in ?? () #18 0xf7599688 in SV_Frame() () from /home/username/Desktop/hlds_l/engine_i486.so #19 0x0001278d in ?? () #20 0x18b6e6c7 in ?? () #21 0xc7000000 in ?? () #22 0x41b8b6e6 in ?? () #23 0xab7a16c7 in ?? () #24 0x4024d44b in ?? () #25 0xf764ce28 in vtable for CEngine () from /home/username/Desktop/hlds_l/engine_i486.so #26 0xf75990c8 in _Host_Frame () from /home/username/Desktop/hlds_l/engine_i486.so --Type <RET> for more, q to quit, c to continue without paging-- #27 0xf7598e35 in Host_Frame () from /home/username/Desktop/hlds_l/engine_i486.so #28 0xf7598d22 in CEngine::Frame () from /home/username/Desktop/hlds_l/engine_i486.so #29 0xffffca44 in ?? ()

NukemD avatar Aug 04 '21 01:08 NukemD

Changed Model.cpp - Line 1913:

model_t *Mod_Handle(int modelindex)
{
#ifdef REHLDS_FIXES
	if (modelindex < -1 || modelindex >= MAX_MODELS) {
		Sys_Error("%s: bad modelindex #%i\n", __func__, modelindex);
	}
#endif

	return g_psv.models[modelindex];
}

jac95501 avatar Jun 07 '22 11:06 jac95501

That fixed it, but man was it a monumental PITA to implement. The copypasta took 5 seconds, but getting the code to actually compile took 5 hours. Hopefully this patch gets pushed into the main build so a custom build doesn't have to be compiled to get NS working on ReHLDS. I had to do lots of ugly things to the cmakelists.txt that involved -fPIC, and remove HLTV from the compile solution because it kept failing.

I don't suppose you'd be able to help with another problem with NeoTF crashing on Linux would you? https://github.com/dreamstalker/rehlds/issues/922

NukemD avatar Jun 18 '22 15:06 NukemD

Hello I'm currently working on RCBot, it appears that this bot is giving me crashes too. And it also appears to apply to EvoBot...

APGRoboCop avatar Jun 19 '23 21:06 APGRoboCop