Closed Vladislav4KZ closed 1 year ago
Теперь вместо падения движка, при воспроизведении демо появляются следующие ошибки в консоли:
[2022:11:17|10:58:38] Last 32 messages parsed.
[2022:11:17|10:58:38] 12095 0109 HideWeapon
[2022:11:17|10:58:38] 12095 0111 SetFOV
[2022:11:17|10:58:38] 12095 0113 Health
[2022:11:17|10:58:38] 12095 0115 Battery
[2022:11:17|10:58:38] 12095 0118 Damage
[2022:11:17|10:58:38] 12095 0131 FlashBat
[2022:11:17|10:58:38] 12095 0133 Train
[2022:11:17|10:58:38] 12095 0135 WeaponList
[2022:11:17|10:58:38] 12095 0161 WeaponList
[2022:11:17|10:58:38] 12095 0190 WeaponList
[2022:11:17|10:58:38] 12095 0212 WeaponList
[2022:11:17|10:58:38] 12095 0236 WeaponList
[2022:11:17|10:58:38] 12095 0263 WeaponList
[2022:11:17|10:58:38] 12095 0289 WeaponList
[2022:11:17|10:58:38] 12095 0311 WeaponList
[2022:11:17|10:58:38] 12095 0335 WeaponList
[2022:11:17|10:58:38] 12095 0358 WeaponList
[2022:11:17|10:58:38] 12095 0386 WeaponList
[2022:11:17|10:58:38] 12095 0416 WeaponList
[2022:11:17|10:58:38] 12095 0443 WeaponList
[2022:11:17|10:58:38] 12095 0469 WeaponList
[2022:11:17|10:58:38] 12095 0493 AmmoX
[2022:11:17|10:58:38] 12095 0496 CurWeapon
[2022:11:17|10:58:38] 12095 0500 CurWeapon
[2022:11:17|10:58:38] 12095 0504 Bhopcap
[2022:11:17|10:58:38] 12095 0506 svc_deltamovevars
[2022:11:17|10:58:38] 12095 0560 svc_updateuserinfo
[2022:11:17|10:58:38] 12095 0757 svc_time
[2022:11:17|10:58:38] 12095 0762 svc_setangle
[2022:11:17|10:58:38] 12095 0769 svc_clientdata
[2022:11:17|10:58:38] 12095 0854 svc_packetentities
[2022:11:17|10:58:38] BAD: 0:svc_bad
[2022:11:17|10:58:38] Wrote erroneous message to buffer.dat
[2022:11:17|10:58:38] Host_Error: svc_bad
Можешь сам demo файл скинуть? Я записал у себя небольшой (было полезно как раз для исправления лучей), вполне работало.
Можешь сам demo файл скинуть? Я записал у себя небольшой (было полезно как раз для исправления лучей), вполне работало.
Кидаю две демки. Одна записана на локальном сервере, которая воспроизводит падение движка, а другая демка из-за которой появляются ошибки в консоли без падения движка, записана на сервере "Test Server Xash3D FWGS 0.20.1" .
testdemo_listenserver.zip - собственно, демка с моего локального сервера elin_testserver.zip - а это демка записанная с сервера от Elin "Test Server Xash3D FWGS 0.20.1"
В testdemo_listenserver.dem у меня краша нет, даже с включенным ASAN. Возможно исправили?
В elin_testserver.dem похоже неправильно записан сигнон. Пакеты ДО включения записываются во временный файл demoheader, а после начала записи demoheader приклеивается в начало. В файле огромный кусок с нулями, предположительно как раз появившийся как раз после склейки demoheader.
Новые подробности.
Кусок из нулей идёт перед dem_stop первой секции, которая как раз является приклееным demoheader.
Это значит в demoheader изначально был большой кусок из нулей.
Temporary fix in 9e54ddfd
Temporary fix in 9e54ddfd
Нет, у меня при воспроизведении демок всё ещё крашится движок.
Нет, у меня при воспроизведении демок всё ещё крашится движок.
Выяснил причину, это из-за установленного клиента OpenAG. С оригинальным client.dll не крашится.
Выяснил причину, это из-за установленного клиента OpenAG. С оригинальным client.dll не крашится.
Вот что пишет отладчик в Visual Studio:
Вызвано исключение: нарушение доступа для чтения. pparams->cmd было nullptr.
Стек вызовов
> client.dll!CHudStrafeGuide::Update(ref_params_s * pparams) Строка 112 C++
client.dll!V_CalcRefdef(ref_params_s * pparams) Строка 1703 C++
xash.dll!V_RenderView() Строка 337 C
xash.dll!SCR_UpdateScreen() Строка 577 C
xash.dll!Host_ClientFrame() Строка 3118 C
xash.dll!Host_Frame(float time) Строка 711 C
[Внедренный фрейм] xash.dll!Host_RunFrame(float) Строка 144 C
xash.dll!COM_Frame(float time) Строка 194 C
xash.dll!Host_Main(int argc, char * * argv, const char * progname, int bChangeGame, void(*)(const char *) func) Строка 1250 C
[Внедренный фрейм] xash3d.exe!Sys_Start() Строка 166 C++
xash3d.exe!WinMain(HINSTANCE__ * hInst, HINSTANCE__ * hPrevInst, char * cmdLine, int nShow) Строка 202 C++
[Внешний код]
[Указанные ниже кадры могут быть неверны или отсутствовать, символы для kernel32.dll не загружены]
Стек вызовов с исходными путями
client.dll!CHudStrafeGuide::Update(ref_params_s * pparams) Строка 112
в C:\Users\Admin\source\repos\OpenAG\cl_dll\hud_strafeguide.cpp(112)
client.dll!V_CalcRefdef(ref_params_s * pparams) Строка 1703
в C:\Users\Admin\source\repos\OpenAG\cl_dll\view.cpp(1703)
xash.dll!V_RenderView() Строка 337
в D:\a\xash3d-fwgs\xash3d-fwgs\engine\client\cl_view.c(337)
xash.dll!SCR_UpdateScreen() Строка 577
в D:\a\xash3d-fwgs\xash3d-fwgs\engine\client\cl_scrn.c(577)
xash.dll!Host_ClientFrame() Строка 3118
в D:\a\xash3d-fwgs\xash3d-fwgs\engine\client\cl_main.c(3118)
xash.dll!Host_Frame(float time) Строка 711
в D:\a\xash3d-fwgs\xash3d-fwgs\engine\common\host.c(711)
[Внедренный фрейм] xash.dll!Host_RunFrame(float) Строка 144
в D:\a\xash3d-fwgs\xash3d-fwgs\engine\common\host_state.c(144)
xash.dll!COM_Frame(float time) Строка 194
в D:\a\xash3d-fwgs\xash3d-fwgs\engine\common\host_state.c(194)
xash.dll!Host_Main(int argc, char * * argv, const char * progname, int bChangeGame, void(*)(const char *) func) Строка 1250
в D:\a\xash3d-fwgs\xash3d-fwgs\engine\common\host.c(1250)
[Внедренный фрейм] xash3d.exe!Sys_Start() Строка 166
в D:\a\xash3d-fwgs\xash3d-fwgs\game_launch\game.cpp(166)
xash3d.exe!WinMain(HINSTANCE__ * hInst, HINSTANCE__ * hPrevInst, char * cmdLine, int nShow) Строка 202
в D:\a\xash3d-fwgs\xash3d-fwgs\game_launch\game.cpp(202)
[Внешний код]
[Указанные ниже кадры могут быть неверны или отсутствовать, символы для kernel32.dll не загружены]
Я просто записал трёхсекундную демку на локальном сервере и пытался её воспроизвести. Игра крашнулась.
Раньше такой проблемы не было.