Closed ryan-sg closed 6 years ago
Did you built amd64 fixed client library?
We have a "special" version of HLSDK, with some fixes by Uncle Mike for his engine and with our patches. It's located in "hlsdk-xash3d" repository.
Also, As Far As I Know, amd64 can't run a local server without dirty hacks. So you can only connect to existing servers.
Amd64 does not work without some pathes. It seems that you are using unpatched client version. Look at this commit: https://github.com/SDLash3D/hlsdk-xash3d/commit/d287ed446332e615ab5fb25ca81b99fa14d18a73
aha, i do have hlsdk-xash3d checked out, its what i build my hl.so server library from :-) However, I didn't build the client library from there, and instead built from hlsdk-client repo.
So, i managed to build a new client.so via hlsdk-xash3d, and it made a small difference! Now I can use multiplayer in the menu to start a new local server, and the console starts to move up showing me actual game rendering (but doesn't finish disappearing) before a new segfault. I now presume i am hitting the wall that a1batross speaks of, in that amd64 can't run local server w/o dirty hacks.
awesome progress though to all involved, never thought i'd see the day where i might run half-life natively on my openbsd workstation :-) i can post another backtrace of the newest crash if you like!
edit: anyone running a server I can try and connect to?
i can post another backtrace of the newest crash if you like
Look my reports: https://github.com/SDLash3D/xash3d/issues/92 (last post)
looks like you are all over it nekonomicon! i feel silly about my edit above asking about servers -- i didn't expect the find internet games feature to actually work. running around a RPI2-powered server in the snark pit now, hooray gameplay! :D
Use commands:
internetservers
connect <server ip address: port>
hey guys, I noticed mittorn's post announcing 0.18 so i fired everything up to see a new trace: (client still works here, but server crash is slightly different and seemingly a bit more consistent now?)
14:44 ryan@iddqd:xash3d$ egdb xash xash.core
GNU gdb (GDB) 7.11
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-openbsd6.0".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from xash...done.
[New process 83036]
[New process 47316]
[New process 2102]
[New process 31329]
Core was generated by `xash'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x0000175c0a110d38 in Q_stricmp (
s2=0x7f80146fff80 <error: Cannot access memory at address 0x7f80146fff80>,
s1=0x175e0b96c460 <READ_STRING()::string> "T0A0TITLE")
at common/crtlib_inline.h:789
789 register unsigned int c1 = *p1, c2 = *p2;
[Current thread is 1 (process 83036)]
(gdb) bt
#0 0x0000175c0a110d38 in Q_stricmp (
s2=0x7f80146fff80 <error: Cannot access memory at address 0x7f80146fff80>,
s1=0x175e0b96c460 <READ_STRING()::string> "T0A0TITLE")
at common/crtlib_inline.h:789
#1 CL_TextMessageGet (
pName=0x175e0b96c460 <READ_STRING()::string> "T0A0TITLE")
at client/cl_game.c:1671
#2 0x0000175e0b51b6b0 in TextMessageGet (
pName=0x175e0b96c460 <READ_STRING()::string> "T0A0TITLE") at cl_util.h:97
#3 0x0000175e0b51a3dd in CHudMessage::MessageAdd (
this=0x175e0b9666f8 <gHUD+6584>,
pName=0x175e0b96c460 <READ_STRING()::string> "T0A0TITLE", time=1.28031659)
at message.cpp:422
#4 0x0000175e0b51a727 in CHudMessage::MsgFunc_HudText (
this=0x175e0b9666f8 <gHUD+6584>,
pszName=0x175c0c456978 <clgame+3256> "HudText", iSize=10,
pbuf=0x7f7fffff5d30) at message.cpp:479
#5 0x0000175e0b51a797 in __MsgFunc_HudText (
pszName=0x175c0c456978 <clgame+3256> "HudText", iSize=10,
pbuf=0x7f7fffff5d30) at message.cpp:27
#6 0x0000175c0a0f3fc7 in CL_ParseUserMessage (
msg=msg@entry=0x175c0c428b60 <net_message>, svc_num=<optimized out>)
at client/cl_parse.c:1410
---Type <return> to continue, or q <return> to quit---
#7 0x0000175c0a0f4b52 in CL_ParseServerMessage (
msg=msg@entry=0x175c0c428b60 <net_message>) at client/cl_parse.c:1676
#8 0x0000175c0a10444c in CL_ReadNetMessage () at client/cl_main.c:1471
#9 0x0000175c0a104679 in CL_ReadPackets () at client/cl_main.c:1498
#10 0x0000175c0a10535b in Host_ClientFrame () at client/cl_main.c:1795
#11 0x0000175c0a08d70b in Host_Frame (time=0.0198473763) at common/host.c:626
#12 0x0000175c0a08eeb6 in Host_Main (argc=<optimized out>,
argv=<optimized out>, progname=<optimized out>,
bChangeGame=<optimized out>, func=<optimized out>) at common/host.c:1137
#13 0x0000175c0a011c62 in _start ()
Disable XASH_FASTSTR macron on amd64. It is 32bit-only.
I believe since I am using the cmake build these days, that macro isn't turned on at all anyhow... grep seems to indicate it is in the Android.mk, Makefile.linux, and a few various other build tools but not cmake.
EDIT: I found the option XASH_SKIPCRTLIB in common/crtlib_inline.h and noticed it seemed to ifdef the entire file. so i turned it on. still crashes tho, just with a reference to libc rather than xash's inline crtlib
EDIT2: I also noticed the Makefile.linux seems to get more attention than the CMakeLists.txt, is it preferred these days? Or am I really just getting the colour text console and single binary options by default there rather than having to turn em on myself with cmake?
#0 0x000008d0e92c45bf in *_libc_strcasecmp (
s1=s1@entry=0x8d1c102c800 <READ_STRING()::string> "FORGET ABOUT FREEMAN!",
s2=0x7f7f94fd3f80 <error: Cannot access memory at address 0x7f7f94fd3f80>)
at /usr/src/lib/libc/string/strcasecmp.c:83
#1 0x000008cec32d7475 in Q_stricmp (s2=<optimized out>,
s1=0x8d1c102c800 <READ_STRING()::string> "FORGET ABOUT FREEMAN!")
at common/crtlib.h:224
#2 CL_TextMessageGet (
pName=0x8d1c102c800 <READ_STRING()::string> "FORGET ABOUT FREEMAN!")
at client/cl_game.c:1671
#3 0x000008d1c0bd4666 in TextMessageGet(char const*) ()
from valve/cl_dlls/client64.so
#4 0x000008d1c0bd4166 in CHudMessage::MessageAdd(char const*, float) ()
from valve/cl_dlls/client64.so
#5 0x000008d1c0bd44e6 in CHudMessage::MsgFunc_HudText(char const*, int, void*)
() from valve/cl_dlls/client64.so
#6 0x000008d1c0bd2aac in __MsgFunc_HudText(char const*, int, void*) ()
from valve/cl_dlls/client64.so
#7 0x000008cec32bdc79 in CL_ParseUserMessage (
msg=msg@entry=0x8cec55ea4e0 <net_message>, svc_num=<optimized out>)
at client/cl_parse.c:1410
#8 0x000008cec32be452 in CL_ParseServerMessage (
msg=msg@entry=0x8cec55ea4e0 <net_message>) at client/cl_parse.c:1676
---Type <return> to continue, or q <return> to quit---
#9 0x000008cec32cbf5c in CL_ReadNetMessage () at client/cl_main.c:1471
#10 0x000008cec32cc189 in CL_ReadPackets () at client/cl_main.c:1498
#11 0x000008cec32cce6b in Host_ClientFrame () at client/cl_main.c:1795
#12 0x000008cec326a4db in Host_Frame (time=0.0184302367) at common/host.c:626
#13 0x000008cec326b4b6 in Host_Main (argc=<optimized out>,
argv=<optimized out>, progname=<optimized out>,
bChangeGame=<optimized out>, func=<optimized out>) at common/host.c:1137
#14 0x000008cec32120a2 in _start ()
I'm using Makefile.linux, a1batross using cmake. cmake is more universal, but it was not tested for 64bit builds at all (i think it need some changes in configuration). I'm using Makefile.linux with next changes for 64bit build: LBITS commented out to prevent adding -m32 to compiler options XASH_FASTSTR and XASH_SKIPCRTLIB disabled, non-optimized crtlib used Maybe you need to do same things in cmake.
I've combed thru the CMakeLists.txt files and there is no cases where it sets XASH_FASTSTR and XASH_SKIPCRTLIB. In fact i need the least amount of changes for the cmake stuff rather than the GNU makefile. I tend to just comment out the block that adds -m32 in the CMakeLists.txt and thats it.
Seems to work good on the hlsdk-xash3d side as well, cmake is reliably building a libserver.so and libclient.so without much poking around.
Anyway, to not confuse people into thinking i'm having trouble building, the only thing still not working is singleplayer, hazard course, and certain multiplayer maps (lambda bunker causes the engine to crash before the console can finish scrolling away, so i only see a small bit of the gamescreen). I've built successfully with CMake and Makefile.linux methods, and playing around with XASH_SKIPCRTLIB to see if it made a difference. Always using gcc-4.9.3 or clang 3.8.0.
Outside of that, i can create a lan server on a map such as datacore just fine. I can join multiplayer servers just fine too :-) I can also sometimes manually call a single player map (c1a2b or whatnot) and spawn into the actual game with monsters and everything! but as soon as i walk more than 10 feet it crashes hehe. Oh, and i've tried xash3d -dedicated in one terminal window then connecting to it with another xash3d client process, and that worked too! :D
Thanks for your efforts guys, always getting better!
It seems this string into titles.c causes crash:
clgame.titles[i].pName += nameOffset;
@ryan-sg, Try this patch: http://pastebin.com/nPWpSqAe
wow! single player starts now! it doesn't get too far before hitting another crash, but this is cool progress! Thanks @nekonomicon! :+1:
I'd say i get just past where a Barney is trying to get in a door, just coming around the bend to the next open area and poof. for the curious:
Core was generated by `xash'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x0000071690d6cb5f in CGraph::FindNearestNode(Vector const&, int) ()
from valve/dlls/hl.so
[Current thread is 1 (process 55497)]
(gdb) bt
#0 0x0000071690d6cb5f in CGraph::FindNearestNode(Vector const&, int) ()
from valve/dlls/hl.so
#1 0x0000071690d6c800 in CGraph::FindNearestNode(Vector const&, CBaseEntity*)
() from valve/dlls/hl.so
#2 0x0000071690d5ad02 in CBaseMonster::FGetNodeRoute(Vector) ()
from valve/dlls/hl.so
#3 0x0000071690d57a10 in CBaseMonster::BuildRoute(Vector const&, int, CBaseEntity*) () from valve/dlls/hl.so
#4 0x0000071690d55948 in CBaseMonster::FRefreshRoute() ()
from valve/dlls/hl.so
#5 0x0000071690d55a9e in CBaseMonster::MoveToTarget(Activity, float) ()
from valve/dlls/hl.so
#6 0x0000071690d977b6 in CBaseMonster::StartTask(Task_t*) ()
from valve/dlls/hl.so
#7 0x0000071690dac0f2 in CTalkMonster::StartTask(Task_t*) ()
from valve/dlls/hl.so
#8 0x0000071690d9957b in CScientist::StartTask(Task_t*) ()
from valve/dlls/hl.so
#9 0x0000071690d95c6c in CBaseMonster::MaintainSchedule() ()
from valve/dlls/hl.so
#10 0x0000071690d5d0f8 in CBaseMonster::RunAI() () from valve/dlls/hl.so
#11 0x0000071690d554cd in CBaseMonster::MonsterThink() () from valve/dlls/hl.so
#12 0x0000071690d5ce29 in CBaseMonster::CallMonsterThink() ()
---Type <return> to continue, or q <return> to quit---
from valve/dlls/hl.so
#13 0x0000071690cde623 in CBaseEntity::Think() () from valve/dlls/hl.so
#14 0x0000071690cfb7f4 in DispatchThink(edict_s*) () from valve/dlls/hl.so
#15 0x00000713a6f2fc60 in SV_RunThink (ent=0x7160cc3e7d8)
at server/sv_phys.c:205
#16 SV_Physics_Step (ent=0x7160cc3e7d8) at server/sv_phys.c:1655
#17 0x00000713a6f30029 in SV_Physics_Entity (ent=<optimized out>)
at server/sv_phys.c:1712
#18 SV_Physics () at server/sv_phys.c:1765
#19 0x00000713a6f33aaf in SV_RunGameFrame () at server/sv_main.c:602
#20 Host_ServerFrame () at server/sv_main.c:643
#21 0x00000713a6f6dacc in Host_Frame (time=0.0198227149) at common/host.c:624
#22 0x00000713a6f6ebee in Host_Main (argc=<optimized out>,
argv=<optimized out>, progname=<optimized out>,
bChangeGame=<optimized out>, func=<optimized out>) at common/host.c:1137
#23 0x00000713a6f12872 in _start ()
(gdb)
(gdb) bt full
#0 0x0000071690d6cb5f in CGraph::FindNearestNode(Vector const&, int) ()
from valve/dlls/hl.so
No symbol table info available.
#1 0x0000071690d6c800 in CGraph::FindNearestNode(Vector const&, CBaseEntity*)
() from valve/dlls/hl.so
No symbol table info available.
#2 0x0000071690d5ad02 in CBaseMonster::FGetNodeRoute(Vector) ()
from valve/dlls/hl.so
No symbol table info available.
#3 0x0000071690d57a10 in CBaseMonster::BuildRoute(Vector const&, int, CBaseEntity*) () from valve/dlls/hl.so
No symbol table info available.
#4 0x0000071690d55948 in CBaseMonster::FRefreshRoute() ()
from valve/dlls/hl.so
No symbol table info available.
#5 0x0000071690d55a9e in CBaseMonster::MoveToTarget(Activity, float) ()
from valve/dlls/hl.so
No symbol table info available.
#6 0x0000071690d977b6 in CBaseMonster::StartTask(Task_t*) ()
from valve/dlls/hl.so
No symbol table info available.
#7 0x0000071690dac0f2 in CTalkMonster::StartTask(Task_t*) ()
from valve/dlls/hl.so
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#8 0x0000071690d9957b in CScientist::StartTask(Task_t*) ()
from valve/dlls/hl.so
No symbol table info available.
#9 0x0000071690d95c6c in CBaseMonster::MaintainSchedule() ()
from valve/dlls/hl.so
No symbol table info available.
#10 0x0000071690d5d0f8 in CBaseMonster::RunAI() () from valve/dlls/hl.so
No symbol table info available.
#11 0x0000071690d554cd in CBaseMonster::MonsterThink() () from valve/dlls/hl.so
No symbol table info available.
#12 0x0000071690d5ce29 in CBaseMonster::CallMonsterThink() ()
from valve/dlls/hl.so
No symbol table info available.
#13 0x0000071690cde623 in CBaseEntity::Think() () from valve/dlls/hl.so
No symbol table info available.
#14 0x0000071690cfb7f4 in DispatchThink(edict_s*) () from valve/dlls/hl.so
No symbol table info available.
#15 0x00000713a6f2fc60 in SV_RunThink (ent=0x7160cc3e7d8)
at server/sv_phys.c:205
thinktime = 0
#16 SV_Physics_Step (ent=0x7160cc3e7d8) at server/sv_phys.c:1655
point = {2.54195541e-42, -nan(0x7de100), 4.57369806e-41}
---Type <return> to continue, or q <return> to quit---
wasonground = <optimized out>
inwater = false
mins = <optimized out>
x = <error reading variable x (Cannot access memory at address 0x1)>
trace = <optimized out>
#17 0x00000713a6f30029 in SV_Physics_Entity (ent=<optimized out>)
at server/sv_phys.c:1712
No locals.
#18 SV_Physics () at server/sv_phys.c:1765
No locals.
#19 0x00000713a6f33aaf in SV_RunGameFrame () at server/sv_main.c:602
No locals.
#20 Host_ServerFrame () at server/sv_main.c:643
No locals.
#21 0x00000713a6f6dacc in Host_Frame (time=0.0198227149) at common/host.c:624
No locals.
#22 0x00000713a6f6ebee in Host_Main (argc=<optimized out>,
argv=<optimized out>, progname=<optimized out>,
bChangeGame=<optimized out>, func=<optimized out>) at common/host.c:1137
oldtime = 26.803455045
newtime = 26.82327776
event = <optimized out>
#23 0x00000713a6f12872 in _start ()
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
EDIT: heres one more from the hazard course. I made it all the way to map change before crash, so perhaps that was what i hit above too, can't remmber when the levels load during intro sequence anymore :-)
Reading symbols from xash...done.
[New process 28014]
[New process 86647]
[New process 64186]
[New process 6355]
Core was generated by `xash'.
Program terminated with signal SIGBUS, Bus error.
#0 strlen () at /usr/src/lib/libc/arch/amd64/string/strlen.S:152
152 movq (%rax),%rdx /* first data in high bytes */
[Current thread is 1 (process 28014)]
(gdb) bt
#0 strlen () at /usr/src/lib/libc/arch/amd64/string/strlen.S:152
#1 0x0000148dee4dabfa in CSave::WriteFunction(char const*, int const*, int) ()
from valve/dlls/hl.so
#2 0x0000148dee4db482 in CSave::WriteFields(char const*, void*, TYPEDESCRIPTION*, int) () from valve/dlls/hl.so
#3 0x0000148dee411922 in CBaseEntity::Save(CSave&) () from valve/dlls/hl.so
#4 0x0000148dee4bf5cf in CBaseDelay::Save(CSave&) () from valve/dlls/hl.so
#5 0x0000148dee3f6fb3 in CBaseAnimating::Save(CSave&) () from valve/dlls/hl.so
#6 0x0000148dee4bfe5b in CBaseToggle::Save(CSave&) () from valve/dlls/hl.so
#7 0x0000148dee425493 in CBaseDoor::Save(CSave&) () from valve/dlls/hl.so
#8 0x0000148dee4109ce in DispatchSave(edict_s*, saverestore_s*) ()
from valve/dlls/hl.so
#9 0x0000148bd4339e92 in SV_SaveGameState () at server/sv_save.c:1467
#10 0x0000148bd433b2f0 in SV_ChangeLevel (loadfromsavedgame=true,
mapname=<optimized out>, start=<optimized out>) at server/sv_save.c:1945
#11 0x0000148bd4372c7a in Cmd_ExecuteString (text=<optimized out>,
src=<optimized out>) at common/cmd.c:965
#12 0x0000148bd4372952 in Cbuf_Execute () at common/cmd.c:217
#13 0x0000148bd436b499 in Host_InputFrame () at common/input.c:685
#14 0x0000148bd436da9f in Host_Frame (time=0.0200887397) at common/host.c:620
#15 0x0000148bd436ebee in Host_Main (argc=<optimized out>,
argv=<optimized out>, progname=<optimized out>,
bChangeGame=<optimized out>, func=<optimized out>) at common/host.c:1137
---Type <return> to continue, or q <return> to quit---
#16 0x0000148bd4312872 in _start ()
(gdb) bt full
#0 strlen () at /usr/src/lib/libc/arch/amd64/string/strlen.S:152
No locals.
#1 0x0000148dee4dabfa in CSave::WriteFunction(char const*, int const*, int) ()
from valve/dlls/hl.so
No symbol table info available.
#2 0x0000148dee4db482 in CSave::WriteFields(char const*, void*, TYPEDESCRIPTION*, int) () from valve/dlls/hl.so
No symbol table info available.
#3 0x0000148dee411922 in CBaseEntity::Save(CSave&) () from valve/dlls/hl.so
No symbol table info available.
#4 0x0000148dee4bf5cf in CBaseDelay::Save(CSave&) () from valve/dlls/hl.so
No symbol table info available.
#5 0x0000148dee3f6fb3 in CBaseAnimating::Save(CSave&) () from valve/dlls/hl.so
No symbol table info available.
#6 0x0000148dee4bfe5b in CBaseToggle::Save(CSave&) () from valve/dlls/hl.so
No symbol table info available.
#7 0x0000148dee425493 in CBaseDoor::Save(CSave&) () from valve/dlls/hl.so
No symbol table info available.
#8 0x0000148dee4109ce in DispatchSave(edict_s*, saverestore_s*) ()
from valve/dlls/hl.so
No symbol table info available.
#9 0x0000148bd4339e92 in SV_SaveGameState () at server/sv_save.c:1467
pent = 0x148ea586c8b8
---Type <return> to continue, or q <return> to quit---
pSaveData = <optimized out>
sections = <error reading variable sections (access outside bounds of object referenced via synthetic pointer)>
pFile = <optimized out>
#10 0x0000148bd433b2f0 in SV_ChangeLevel (loadfromsavedgame=true,
mapname=<optimized out>, start=<optimized out>) at server/sv_save.c:1945
level = "t0a0a\000\000\000 1\232\221\216\024\000\000\000\217 \217\216\024\000\000\000\260\356͎\024\000\000\022!\000\000\000\000\000\000\352\314\340Ď\024", '\000' <repeats 14 times>, "\213\024\000\000\000\000\000\000\000\000\000\000\200\253n\211\216\024\000\000\000\323\356͎\024\000\000\000\274;Ս\024\000\000\002\000\000\003\000\000\000\000\025?\341Ď\024", '\000' <repeats 26 times>, "G\230u\\:\302\370\365Ұ!D\017\275\aBȬ\255\326\213\024\000\000\000\276\374\377\177\177\000\000\000\000\000\000\000\000\000\000\r\000\000\000\000\000\000\000\260,t\326\213\024\000\000\000\000\000\000\000\000\000\000\265\350?ԋ\024\000\000\237\377\377\377"...
oldlevel = "t0a0\000\000\000\000 :\260\021\216\024\000\000\000;\361Ŏ\024\000\000\250\274\374\377\177\177\000\000\000\000\000\000\000\000\000\000eL\331\351\215\024\000\000\000\000\000\000\000\000\000\000~R\003l\216\024\000\000\000\000\361\360\215\024\000\000Uf\000\000\000\000\000\000\250\274\374\377\177\177\000\000\225K\003l\216\024\000\000\250\274\374\377\177\177\000\000\260\274\374\377\177\177\000\000\000\000\361\360\215\024\000\000zW\003l\216\024\000\000Uf\000\000\000\000\000\000m.\331\351\215\024\000\000\370\252e\021\216\024\000\000m.\331\351\215\024\000\000\340\244\031\352\215\024\000\000 1\232\221\216\024\000\000\300\2---Type <return> to continue, or q <return> to quit---
03\031\352\215\024\000\000\311M\331\351\215\024\000\000 1\232\221\216\024\000\000`"...
_startspot = "t0a0t0a0a\000\031\352\215\024\000\000\020\000\000\000\000\000\000\000 :\260\021\216\024\000\000 \000\000\000\000\000\000\000 :\260\021\216\024\000\000\340\244\031\352\215\024\000\000\300\203\031\352\215\024\000\000@\000\000\000\000\000\000\000\207\255\035\336\375\003\276頹pɎ\024\000\000\207\255\035\336\375\003\276\351\340\244\031\352\215\024\000\000\000;\361Ŏ\024\000\000\000\000\000\000\000\000\000\000 :\260\021\216\024\000\000\260\261\307h\216\024\000\000m.\331\351\215\024\000\000\340\244\031\352\215\024\000\000m.\331\351\215\024\000\000 \332\360\261\216\024\000\000m.\331\351\215\024\000\000\340\244\031\352\215\024\000\000\060r\336C\216\024\000\000\300\203\031\352\215\024\000\000\207\255\035\336"...
pSaveData = 0x0
#11 0x0000148bd4372c7a in Cmd_ExecuteString (text=<optimized out>,
src=<optimized out>) at common/cmd.c:965
command = "\300\341)B\216\024\000\000\353T\331\351\215\024\000\000\300\341)B\216\024\000\000m.\331\351\215\024\000\000\340\244\031\352\215\024\000\000\000\000\000\000\000\000\000\000\300\341)B\216\024\000\000\311M\331\351\215\024\000\000\037:Qԋ\024\000\000\205\230\060\224\216\024\000\000\027:Qԋ\024\000\000\000\260\356͎\024\000\000\000\000\000\000\000\000\000\000\070\316\060\224\216\024\000\000X\313\374\377\177\177\000\000iȤ\207\216\024\000\000\000\260\356͎\024\000\000X\313\374\377\177\177\000\000\000\260\356͎\024\000\000Oȫm\216\024", '\000' <repeats 50 times>...
---Type <return> to continue, or q <return> to quit---
len = <optimized out>
pcmd = <optimized out>
#12 0x0000148bd4372952 in Cbuf_Execute () at common/cmd.c:217
line = "changelevel t0a0a t0a0t0a0a\000\000\000\000\000#\000\000\000\000\000\000\000Pf", '\000' <repeats 15 times>, "\260\356͎\024\000\000\203\000\000\000\021", '\000' <repeats 19 times>, "\322\300\257Z\000\000\000\000\350\003\000\000\345\001\000\000\350\003\000\000\345\001\000\000\000\000\000\000\000\000\000\000\001\000\000\000", '\277' <repeats 100 times>...
i = <optimized out>
text = <optimized out>
comment = <optimized out>
#13 0x0000148bd436b499 in Host_InputFrame () at common/input.c:685
forward = <optimized out>
shutdownMouse = <error reading variable shutdownMouse (Cannot access memory at address 0x0)>
side = <optimized out>
pitch = <optimized out>
yaw = <optimized out>
#14 0x0000148bd436da9f in Host_Frame (time=0.0200887397) at common/host.c:620
No locals.
#15 0x0000148bd436ebee in Host_Main (argc=<optimized out>,
argv=<optimized out>, progname=<optimized out>,
bChangeGame=<optimized out>, func=<optimized out>) at common/host.c:1137
---Type <return> to continue, or q <return> to quit---
oldtime = 170.214642798
newtime = 170.23473153800001
event = <optimized out>
#16 0x0000148bd4312872 in _start ()
No symbol table info available.
(gdb)
Try remove maps/graphs It is incompatible between platforms
@mittorn, but 64-bit server can't read *.nod.
@nekonomicon, why? When i first time built it for amd64, it crashed untilll i removed graph nodes.
@mittorn, FLoadGraph() always return NULL, because CGraph and CLink have different size on different archs.
any progress in the direction of making CGraph and CLink 64bit clean?
@ryan-sg, we not tried fix it yet. I ported some mods on this sdk.
@ryan-sg, @mittorn fixed several crashes on amd64. If you want to test, you must build engine from xash3d/0.19.x branch and gamelibs from hlsdk-xash3d/master branch(client build broken, but it's easy to fix). Solution for nodes: Increment GRAPH_VERSION into nodes.h.
@nekonomicon thank you for the heads up. thanks to @mittorn for looking into it, I am eager to give this a try when I get home today! :+1:
Well, the xash3d/0.19.x branch built just fine for me but not hlsdk-xash3d/master :( I get pretty much the same errors I notice on Github from Travis-CI: https://travis-ci.org/FWGS/hlsdk-xash3d/jobs/251547780
@ryan-sg, try this patch: https://pastebin.com/ruAe7uXZ Also, you can try build parabot from this repo: https://github.com/nekonomicon/Parabot (Remove -m32 flag from Makefile)
@nekonomicon that patch fixed the build. I managed to finish the full tram ride in, get to the test chamber, and get to unforseen consequences. Around where you pick up the crow bar I was headed back to steal Barney's pistol and xash3d crashed, but this is huge progress for me. Thank you very much for letting me know of the fixes!
As for Parabot, the files build fine but I'm experiencing an odd issue during linking (undefined reference to __stack_smash_handler, among many other). I'll report back any findings there. Going to go back to single player game and see if I can make it further :D
For the crash, it seems the process doesn't actually finish. It was stillrunning but the game window disappeared. See this in the console log:
[19:37:57] server: GAME SKILL LEVEL:2
[19:37:57] ED_AllocEdict: no free edicts
full console log here: https://pastebin.com/pRebFdVQ
EDIT: made it to just before the office complex i think (right after doing the jumps down the suspended crates), the next level load after that causes same error as above and I can't seem to go further. For the first crash, I could also reproduce it by reloading the save game I had and trying to go back to steal barney's pistol again. At least it seems reproducible and not totally random!
EDIT 2: I found that editing valve/gameinfo.txt and increasing max_edicts to 2047 changed the issue for the last spot I was having issues. However, now after the 'loading' message it dumps me back at the game menu. console indicates a Host_Error: Level transition ERROR:
[21:40:08] server: GAME SKILL LEVEL:2
[21:40:08] server: *Graph Loaded!
[21:40:08] Host_Error: Level transition ERROR
Can't find connection to c1a1d from c1a1c
[21:40:23] Shutting down...
[21:40:23] execing game.cfg
[21:40:23] CL_Shutdown()
[21:40:23] Shutting down audio.
================================================================================
Xash3D FWGS (build 832) stopped at Jul11 2017 [21:40.23]
================================================================================
I fixed this, try again
thanks @mittorn, works great! played all the way to "Power Up" now with no issue. Fantastic!
With this, I can pretty much create an OpenBSD package of Xash3D and the half-life game libraries for people to play out of the box here. Is that okay to the authors?
Yes, of course. :)
On Jul 17, 2017 22:25, "ryan-sg" notifications@github.com wrote:
With this, I can pretty much create an OpenBSD package of Xash3D and the half-life game libraries for people to play out of the box here. Is that okay to the authors?
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/FWGS/xash3d/issues/147#issuecomment-315798123, or mute the thread https://github.com/notifications/unsubscribe-auth/ADEJgXwc9NZI7YrMUcF5VyiS0aJaHkRbks5sO4nNgaJpZM4I446a .
As for Parabot, the files build fine but I'm experiencing an odd issue during linking
@ryan-sg, I updated Makefile, try download and build again.
Seems to work now
before I begin, I did notice the warnings to use 32bit stuff everywhere even on 64-bit systems. But, I noticed a few commit messages mentioning OpenBSD, and what appears to be 64-bit friendly fixes so I had to try!
thrilled when the menu popped up, but i can't get the engine to actually draw a map. But! a rather juicy core dump :-)
Built with the pvs-code-clean branch, using cmake -DXASH_SDL=1, (no vgui). used hl.so from hlsdk that you get from git submodule init; git submodule update used client.so from hlsdk-client tree thats here. all fiddled with only to remove -m32 flags and such, as 64-bit openbsd can't run anything 32bit etc...
using the valve folder from my steam ver, with hl.so and client.so replaced accordingly.
engine log
full backtrace: