Перейти к контенту

Мастерская по разбору "вылетов" X-Ray


Рекомендуемые сообщения

 

stack trace:

0023:07C562E5 xrGame.dll, CxIOFile::Scanf()

[error][ 8] : Недостаточно памяти для обработки команды.

Что скажете по поводу этой ошибки? Встречается не часто и не у всех и как ее решить пока что не понтно.

 

 

xrEngine.exe caused ACCESS_VIOLATION in module "D:\Games\S.T.A.L.K.E.R. - Çîâ Ïðèïÿòè\bin\xrGame.dll" at 001B:02889B6E, CxIOFile::Scanf()+382478 byte(s)

 

@Дизель, я думаю решить его можно исходники движка есть уже в плюсе  :)

 

 

00B:02016EBC xrGame.dll

001B:02017029 xrGame.dll
001B:02063550 xrGame.dll

[error][ 183] :Невозможно создать файл, так как он уже существует.

 

©naxac ТЧ, патч 1.0006. Возникает при массовом удалении аномалий через alife():release... Но вылетает не сразу, а через некоторое время. По-моему, связан со снятием рестрикторов с мутантов, но я не уверен.

 

 

Добавлено aka_sektor,

На всякий случай, напиши у себе в профиле в разделе "обо мне", свою конфигурацию PC.

Добавлено aka_sektor,

Если этот вылет произошел на стационарном, с 2мя Гб памяти, как у тебя заявлено в профиле - неудивительно.

Ссылка на комментарий

@Stalker_Monolit, это страшный баг. Он меня бесит постоянно. Возникает от бага скриптов. А в точности от функций повторяющихся циклично или в геометрической прогрессии.

 

@Stalker_Monolit, это не баг движка. Это переполнение буфера. Хотя буфер можно увеличить, но этот баг скриптов всё равно приведёт к переполнению даже террабайта памяти буфера.

 

@Stalker_Monolit, у тебя логика восприятия контента не правильная. Удаление через спавн...у мутантов рестрикторы? У мутантов не бывает рестрикторов. Скорее у рестриктора могут быть в подчинении мутанты со своей логикой.

Изменено пользователем aka_sektor
объединил посты

andreyholkin.gif

rod_cccp.gif

 

Ссылка на комментарий

@Stalker_Monolit, ошибка была из-за неправильного назначения рестрикторов неписям)

Изменено пользователем HellRatz

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Ссылка на комментарий

@Stalker_Monolit, эту ошибку разбирали тут: http://www.gameru.net/forum/index.php?showtopic=37496

 

Пришли к тому, что возникает на любой версии игры (хоть ТЧ, хоть ЧН/ЗП, хоть с модом, хоть без) из-за того что игра пытается подключится к серверам GSC, но они отключены. Решается отключением интернета перед игрой (либо блокировкой доступа в инет игре). Кто-то ещё ставил прогу gamespy, вроде как тоже помогло.

Вот тут даже оф. ответ GSC приводили: http://www.gameru.net/forum/index.php?s=&showtopic=37496&view=findpost&p=1030600

 

На других форумах ещё советовали виртуальной памяти поставить винде больше, но вряд ли из-за этого.

Ещё есть мнение, что из-за 32-битной винды, и малого кол-ва ОЗУ, но тоже не факт.

 

P.S. Насчет последнего, видел много раз, что у тех кто писал о вылете, система как раз таки была 32-битная, а ОЗУ или 4 ГБ или 2 Гб.

Но писали и те, кто ловил его с 16 Гб ОЗУ, и лечили повторной загрузкой сэйва.

Изменено пользователем aka_sektor

Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB

Ссылка на комментарий

[error][ 8] : Недостаточно памяти для обработки команды.

Этому виной не движок и не интернет, виной всему кривые руки разрабов и недальновидность в прогнозировании логики.

Я сам такие баги создаю постоянно и решаю тут же.

 

Этот баг возникает на почве скриптов которые держат буфер переполненным, а именно когда в функции упдаты скрипта начинаешь пихать несовместимые разовые функции или когда скрипт начинает в геометрической прогрессии возводить функцию движка. Еще может возникать от несовместимости конечного бенифициара, например у тебя рядом для холдера ГГ и для материалов скрипты в одной связке. Есть еще моменты - не помню все.

 

Вот например десяток таких скриптов способны убить весь буфер, так как идёт постоянная проверка на поиск и обновление, хотя один этот документ не сильно тянет память.

 

 

function check_car()
if current_car == nil then
current_car = xr_logic.pstor_retrieve(db.actor, "actor_in_btr", nil)
end
if not current_car and inside_the_car == false then
for k,v in pairs(db.btr) do
local car = level.object_by_id(k)
if car then
local actor_pos = db.actor:position()
local car_pos = car:bone_position("seat_left")
if actor_pos:distance_to(car_pos) < 1 then
db.actor:hide_weapon()
current_car = car:id()
inside_the_car = true
enable_gun()
hud_info()
end
end
end
else
local actor_pos = db.actor:position()
local car = level.object_by_id(current_car)
if car then
check_btr_hud()
hud_info()
local car_pos = car:bone_position("seat_left")
if inside_the_car == false then
if actor_pos:distance_to(car_pos) < 1 then
db.actor:hide_weapon()
current_car = car:id()
inside_the_car = true
check_btr_hud()
enable_gun()
hud_info()
return
else
local point = car_pos
local look = car_pos
db.actor:set_actor_position(point)
local dir = look:sub(point)
db.actor:set_actor_direction(-dir:getH())
db.actor:hide_weapon()
current_car = car:id()
inside_the_car = true
check_btr_hud()
enable_gun()
hud_info()
return
end
else
if actor_pos:distance_to(car_pos) > 1 then
db.actor:restore_weapon()
inside_the_car = false
check_btr_hud()
disable_gun()
current_car = nil
hud_info()
pstor_delete(db.actor,"actor_in_btr")
return
end
local script_car = car:get_car()
if script_car:HasWeapon() and target then
local targ = level.object_by_id(target)
if targ then
if not targ:alive() then
target = nil
targ = nil
end
if targ then
if not has_alife_info("auto_pricel_start") then
if IsStalker(targ) or IsMonster(targ) then
local cls = targ:clsid()
if cls == clsid.burer_s or cls == clsid.gigant_s then
local position = targ:bone_position("head")
script_car:SetParam(CCar.eWpnDesiredPos, position)
else
if cls == clsid.chimera_s then
local position = targ:bone_position("head_boss")
script_car:SetParam(CCar.eWpnDesiredPos, position)
else
local position = targ:bone_position("bip01_head")
script_car:SetParam(CCar.eWpnDesiredPos, position)
xr_sound.play_sound_looped(db.actor:id(), "cel_zahvachena")
end
end
else
local cls = targ:clsid()
local position = targ:position()
if cls == clsid.car_s then
position = targ:bone_position("kabina")
end
if cls == clsid.script_heli then
position = targ:bone_position("pilot1")
end
script_car:SetParam(CCar.eWpnDesiredPos, position)
end
end
end
end
end
end
else
db.actor:restore_weapon()
inside_the_car = false
current_car = nil
check_btr_hud()
hud_info()
pstor_delete(db.actor,"actor_in_btr")
end
end
end

-------------------------------------------------------------------------------



function hud_info()
local hud = get_hud()
if inside_the_car == false or in_btr == false then
local targ = hud:GetCustomStatic("btr_target")
if targ then
hud:RemoveCustomStatic("btr_target")
end
local armor = hud:GetCustomStatic("btr_armor")
if armor then
hud:RemoveCustomStatic("btr_armor")
end
local critical = hud:GetCustomStatic("btr_critical")
if critical then
hud:RemoveCustomStatic("btr_critical")
end
return
end
local car_chek = level.object_by_id(current_car)
if car_chek then
local script_car = car_chek:get_car()
if in_btr then
local health = script_car:GetfHealth()
local targ = hud:GetCustomStatic("btr_target")
if health < 0.35 then
local targ = hud:GetCustomStatic("btr_target")
if targ then
hud:RemoveCustomStatic("btr_target")
end
local critical = hud:GetCustomStatic("btr_critical")
if not critical then
hud:AddCustomStatic("btr_critical", true)
critical = hud:GetCustomStatic("btr_critical"):wnd()
if chech_count == 0 then
if math.random() > 0.5 then
critical:TextControl():SetTextST(game.translate_string("attention"))
else
xr_sound.play_sound_looped(db.actor:id(), "tank_gorit") --sound
end
end
chech_count = chech_count + 1
if chech_count >= 50 then
chech_count = 0
end
else
critical = hud:GetCustomStatic("btr_critical"):wnd()
if chech_count == 0 then
if math.random() > 0.5 then
xr_sound.play_sound_looped(db.actor:id(), "povreghdenie_boeukladki_chut_nevzorvalos")
critical:TextControl():SetTextST(game.translate_string("attention"))
else
critical:TextControl():SetTextST(game.translate_string("attention_explosion"))
end
end
chech_count = chech_count + 1
if chech_count >= 50 then
chech_count = 0
end
end
local armor = hud:GetCustomStatic("btr_armor")
if not armor then
hud:AddCustomStatic("btr_armor", true)
armor = hud:GetCustomStatic("btr_armor"):wnd()
armor:TextControl():SetTextST(game.translate_string("vehicle_health_")..tostring(math.floor(health*100)).." %")
else
armor = hud:GetCustomStatic("btr_armor"):wnd()
armor:TextControl():SetTextST(game.translate_string("vehicle_health_")..tostring(math.floor(health*100)).." %")
end
else
local critical = hud:GetCustomStatic("btr_critical")
if critical then
hud:RemoveCustomStatic("btr_critical")
end
if not targ then
hud:AddCustomStatic("btr_target", true)
targ = hud:GetCustomStatic("btr_target"):wnd()
targ:TextControl():SetTextST(game.translate_string("weapon_no_target"))
else
targ = hud:GetCustomStatic("btr_target"):wnd()
end
if target then
local target_descr = level.object_by_id(target)
if target_descr and script_car:IsObjectVisible(target_descr) then
local str = resolve_target(target_descr)
if str then
targ:TextControl():SetTextST(game.translate_string("")..tostring(str).."")
else
targ:TextControl():SetTextST(game.translate_string("not_know_target"))
end
else
targ:TextControl():SetTextST(game.translate_string("not_visible"))
end
else
targ:TextControl():SetTextST(game.translate_string("weapon_no_target"))
end
local armor = hud:GetCustomStatic("btr_armor")
if not armor then
hud:AddCustomStatic("btr_armor", true)
armor = hud:GetCustomStatic("btr_armor"):wnd()
armor:TextControl():SetTextST(game.translate_string("vehicle_health_")..tostring(math.floor(health*100)).." %")
else
armor = hud:GetCustomStatic("btr_armor"):wnd()
armor:TextControl():SetTextST(game.translate_string("vehicle_health_")..tostring(math.floor(health*100)).." %")
end
end
else
local targ = hud:GetCustomStatic("btr_target")
if targ then
hud:RemoveCustomStatic("btr_target")
end
local armor = hud:GetCustomStatic("btr_armor")
if armor then
hud:RemoveCustomStatic("btr_armor")
end
local critical = hud:GetCustomStatic("btr_critical")
if critical then
hud:RemoveCustomStatic("btr_critical")
end
end
else
local targ = hud:GetCustomStatic("btr_target")
if targ then
hud:RemoveCustomStatic("btr_target")
end
local armor = hud:GetCustomStatic("btr_armor")
if armor then
hud:RemoveCustomStatic("btr_armor")
end
local critical = hud:GetCustomStatic("btr_critical")
if critical then
hud:RemoveCustomStatic("btr_critical")
end
end
end

 

Этот ответ не по ситуации совсем. Гаме Спай  - это отдельная тема и сейчас не тот момент.

 

По

 

 

0023:0F783779 xrGameSpy.dll, xrGS_GetGameID()
0023:0F79E537 xrGameSpy.dll, xrGS_ServerBrowserThink()

[error][ 87] : Параметр задан неверно. 

 

согласен - ищет интернет - заметил, но бага не ловил такого никогда.

Изменено пользователем aka_sektor
код в форму добавляем
  • Полезно 1
  • Сомнительно 2

andreyholkin.gif

rod_cccp.gif

 

Ссылка на комментарий



Expression    : fatal error
Function    : mem_usage_impl
File        : E:\stalker\sources\trunk\xrCore\memory_usage.cpp
Line        : 156
Description    :
Arguments    : bad node in heap


[error]Expression    : m_textures.find(def_texture_name)!=m_textures.end()
[error]Function      : CUITextureMaster::FindItem
[error]File          : E:\stalker\patch_1_0004\xr_3da\xrGame\ui\UITextureMaster.cpp
[error]Line          : 156
[error]Description   : wpn_bm16f_410


Expression    : Ran out of memory
Function    : Fvisual::Load
File        : E:\stalker\patch_1_0004\xr_3da\xrRender\FVisual.cpp
Line        : 159
Description    : HW.pDevice->CreateIndexBuffer(iCount*2,dwUsage,D3DFMT_INDEX16,D3DPOOL_MANAGED,&p_rm_Indices,0)


[error]Expression : fs
[error]Function : CRender::LoadBuffers
[error]File : D:\prog_repository\sources\trunk\Layers\xrRenderPC_R2\r2_loader.cpp
[error]Line : 212
[error]Description : Could not load geometry. File 'level.geom?' corrupted.

ЦИТАТА:


сменил статическое освещение на динам и теперь вылетает


Expression    : assertion failed
Function    : CSE_Abstract::Spawn_Read
File        : E:\stalker\sources\trunk\xr_3da\xrGame\xrServer_Object_Base.cpp
Line        : 236
Description    : M_SPAWN==dummy16


Expression    : assertion failed
Function    : CPHSkeleton::RestoreNetState
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\PHSkeleton.cpp
Line        : 254
Description    : bone<obj->PHGetSyncItemsNumber()


Expression    : assertion failed
Function    : CLocatorAPI::ProcessArchive
File        : E:\stalker\patch_1_0004\xrCore\LocatorAPI.cpp
Line        : 337
Description    : hdr


Expression : 0
Function : CLocatorAPI::LoadArchive
File : D:\prog_repository\sources\trunk\xrCore\LocatorAPI.cpp
Line : 340
Description : unsupported


Expression : assertion failed
Function : CLocatorAPI::LoadArchive
File : D:\prog_repository\sources\trunk\xrCore\LocatorAPI.cpp
Line : 360
Description : hdr


Expression : assertion failed
Function : CLocatorAPI::archive::open
File : D:\prog_repository\sources\trunk\xrCore\LocatorAPI.cpp
Line : 406
Description : hSrcFile!=INVALID_HANDLE_VALUE


Expression : assertion failed
Function : CLocatorAPI::archive::open
File : D:\prog_repository\sources\trunk\xrCore\LocatorAPI.cpp
Line : 408
Description : hSrcMap!=INVALID_HANDLE_VALUE


Expression    : assertion failed
Function    : CUILine::GetLength_inclusiveWord_1
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\ui\UILine.cpp
Line        : 410
Description    : pos.word_1.exist()

Expression : assertion failed
Function : CLocatorAPI::archive::open
File : D:\prog_repository\sources\trunk\xrCore\LocatorAPI.cpp
Line : 410
Description : size>0


Expression : sz<(tgt_sz-1)
Function : IReader::r_string
File : E:\priquel\sources\engine\xrCore\FS.cpp
Line : 422
Description : Dest string less than needed.


[error]Expression : assertion failed
[error]Function : CResourceManager::_CreateTexture
[error]File : D:\prog_repository\sources\trunk\Layers\xrRender\ResourceManager_Resources.cpp
[error]Line : 424
[error]Description : _Name && _Name[0]


Expression    : data
Function    : CVirtualFileReader::CVirtualFileReader
File        : E:\stalker\sources\trunk\xrCore\FS.cpp
Line        : 462
Description    : ...\gamedata\textures\wpn\wpn_gauss.dds
Arguments    : Not enough storage is available to process this command


Expression    : Ran out of memory
Function      : CRender::texture_load
File          : D:\prog_repository\sources\trunk\Layers\xrRenderDX10\dx10Texture.cpp
Line          : 493
Description   : D3DX11CreateTextureFromMemory ( HW.pDevice,S->pointer(),S->length(), &LoadInfo, 0, &pTexture2D, 0 )
Arguments     : d:\s.t.a.l.k.e.r. - Зов Припяти\gamedata\textures\veh\veh_gaz_22.dds


Expression : fatal error
Function : CInifile::r_section
File : D:\prog_repository\sources\trunk\xrCore\Xr_ini.cpp
Line : 502
Description :
Arguments : Can't open section 'up_sect_fifthc_ak74u'. Please attach [*.ini_log] file to your bug report


Expression : error handler is invoked!
Function : handler_base
File : D:\prog_repository\sources\trunk\xrCore\xrDebugNew.cpp
Line : 764
Description : application is aborting


Expression : error handler is invoked!
Function : invalid_parameter_handler
File : D:\prog_repository\sources\trunk\xrCore\xrDebugNew.cpp
Line : 815
Description :

[error]Expression    : error handler is invoked!
[error]Function      : invalid_parameter_handler
[error]File          : D:\prog_repository\sources\trunk\xrCore\xrDebugNew.cpp
[error]Line          : 815
[error]Description   :


Expression : fatal error
Function : WinMain
File : D:\prog_repository\sources\trunk\xrEngine\x_ray.cpp
Line : 946
Description : <no>
Arguments : stack overflow



В справочнике инфа или/и без решения или решение не совсем понятное или/и отсутствует описание причины.
Ну и вылеты по Line 748, там они скриптовые, и их стоит подробнее разобрать.

Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB

Ссылка на комментарий

@aka_sektor

Expression : fatal error


Function : mem_usage_impl
File : E:\stalker\sources\trunk\xrCore\memory_usage.cpp
Line : 156
Description :
Arguments : bad node in heap

 

 

Возможный вылет появляется из за переполнения виртуальной памяти точно сказать не могу ибо где то про него уже читал надо смотреть memory_usage.cpp


К стате тоже интерестный движковый вылет появляется спонтанно пока не пойму из за чего и в интернете нечего нет.

stack trace:

0023:0403F45E xrGame.dll

 

Изменено пользователем Stalker_Monolit
Добавлено aka_sektor,

Возможно не стоит в этой теме разбирать движковые вылеты.

Для них возможно стоит создать отдельную тему.

  • Полезно 1
Ссылка на комментарий

@aka_sektor, не стоит явно выделять логи по номеру строки - ибо это явное введение в заблуждение пользователя. Номер строки не является классификатором. Если бы у нас в проекте был один файл, то тогда так можно. Под одним номером у тебя могут быть совершенно разные вылеты.

Добавлено aka_sektor,

Ничего не заблуждение. Я как раз об этом и писал в "шапке". Ошибки в строках могут отличаться описанием, в том числе и полностью для разных версий игры. Разбирать предлагаю конкретно представленные в посте.

andreyholkin.gif

rod_cccp.gif

 

Ссылка на комментарий

 

 

Arguments : bad node in heap

Поможет перекомпиляция аи мапы.

 

Бывало такое.

Добавлено aka_sektor,

А причина в чем? Когда ловил?

  • Полезно 1
Ссылка на комментарий

Этот-то вроде понятный:

 

Expression : fatal error
Function : CInifile::r_section
File : D:\prog_repository\sources\trunk\xrCore\Xr_ini.cpp
Line : 502
Description :
Arguments : Can't open section 'up_sect_fifthc_ak74u'. Please attach [*.ini_log] file to your bug report

В читаемом ини-файле не найдена секция up_sect_fifthc_ak74u.

 

А этот

 

Expression    : Ran out of memory
Function      : CRender::texture_load
File          : D:\prog_repository\sources\trunk\Layers\xrRenderDX10\dx10Texture.cpp
Line          : 493
Description   : D3DX11CreateTextureFromMemory ( HW.pDevice,S->pointer(),S->length(), &LoadInfo, 0, &pTexture2D, 0 )
Arguments     : d:\s.t.a.l.k.e.r. - Зов Припяти\gamedata\textures\veh\veh_gaz_22.dds

 

По нехватке виртуальной памяти.

 

@aka_sektor, в каком именно файле и по какой причине - должен думать сам модмейкер, т.к. только ему известно, что он менял и где мог ошибиться. В данном случае, судя по названию, не найдена секция апгрейда для АК-74у.

Добавлено aka_sektor,

По вылету 502, в справочнике довольно расплывчато описано в чем ошибка.

 

У тебя тоже невесть что: каком ini файле? Просят лог прикрепить к багрепорту, это не относится к причине ошибки.

 

Нужно понять: где именно отсутствует секция?

 

По вылету 493:

хорошо бы аргументировать, с чего такие выводы. Опять же в справочнике, точной инфе тоже нет, только предположения о неправильно сохраненной dds текстуре. Уж не знаю, так ли это.

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Ссылка на комментарий

только предположения о неправильно сохраненной dds текстуре

 

Нет. Это значит нехватка виртуальной памяти. В лог выводится последняя текстура, на которой споткнулась игра, каждый раз может быть разная. Решением является снизить настройки графики.

Добавлено aka_sektor,

А почему виртуальная, а не ОЗУ?

Добавлено  HellRatz,

Не знаю, с этим к скриптерам/программистам. На старом компе часто ловил такой вылет, узнавал, получал такой же ответ. Ну а скинуть настройки сам уж додумался и помогало.

Добавлено aka_sektor,

Т.е. добавить виртуальной памяти не пробовал? Или пробовал но не помогло?

Добавлено  HellRatz,

Мой комп был слишком слаб. Там было все выкручено на максимум, на сколько это возможно. Он не тянул просто локацию, пока не скинешь настройки графики, в противном случае не хватало памяти для обработки.

Добавлено aka_sektor,

Понятно. Так а почему именно виртуальной? Может оперативки было мало? Или даже видеопамяти?

Добавлено  HellRatz,

Я не знаю, с этим к скриптерам и движкоправам.

Добавлено aka_sektor,

Значит нельзя утверждать, что дело в нехватке виртуальной памяти. Возвращаемся к тому, с чего начали.

Добавлено  HellRatz,

Ну я спрашивал, сказали тоже самое. naxac придет, думаю расскажет.

  • Полезно 1
Ссылка на комментарий

Не важно, оперативной или виртуальной. В данном случае - это одно и тоже. Памяти, любой, можно прибавлять до опупения, но игра, как была 32-х битной, так и останется, со всеми ограничениями, из это вытекающими. А именно, невозможностью использования более, грубо говоря, 4-х гигабайт. На самом деле немного меньше.

Изменено пользователем dsh
Добавлено aka_sektor,

По поводу вылетов по нехватке памяти, вот тут полный разбор: https://modfaq.ru/XrDebugNew.cpp

Заметка изменена

Добавлено aka_sektor,

Но 493 вылет, вроде как связан с Рендером. Может быть, что он происходит из-за нехватки видеопамяти?

  • Согласен 1
Ссылка на комментарий

 

 

На самом деле немного меньше.

Бывает и чуть больше, если на борту 8 ГБ ОЗУ. Особенно это просматривается на ноутах со встроенным видео-адаптером, не видео-картой.

ed_rez.gif

c1f11b67ff360413e81b4e4dcf21eb41.jpg

Ссылка на комментарий

Насчет 493 вылета, думаю можно закрыть вопрос. Он аналогичен вылету 356 (4 вариант): https://modfaq.ru/Texture.cpp

Различие лишь в том, что первый происходит в ЗП, а второй в ТЧ, т.е. отличаются версии движка и вывод ошибок в них.

charsi писал(а):

просто не хватило памяти у оперативки

написано же Ran out of memory

текстуры грузятся в оперативку и только потом в видеопамять для наложения на объект

Ещё вылеты для разбора:

 

Expression    : data
Function      : CVirtualFileReader::CVirtualFileReader
File          : D:\prog_repository\sources\trunk\xrCore\FS.cpp
Line          : 545
Description   : d:\games\s.t.a.l.k.e.r. - call of pripyat\gamedata\textures\wpn\wpn_rpk_grips_bump.dds
Arguments     : Not enough storage is available to process this command.

Вроде как всему виной слабый PC (32-битная винда, и малое кол-во ОЗУ).

 

Expression    : ini_file.section_exist(section)
Function    : CTradeParameters::process
File        : e:\stalker\patch_1_0004\xr_3da\xrgame\trade_parameters_inline.h
Line        : 111
Description    : cannot find section h?

Проба разбора тут: http://www.amk-team.ru/forum/topic/5525-soc-kovyriaemsia-v-fajlakh/?p=1047735

 

Изменено пользователем aka_sektor
Добавлено aka_sektor,

По 545 вылету (3 вариант): https://modfaq.ru/FS.cpp

Заметка изменена

Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB

Ссылка на комментарий


[error]Expression : m_textures.find(def_texture_name)!=m_textures.end()
[error]Function : CUITextureMaster::FindItem
[error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\ui\UITextureMaster.cpp
[error]Line : 156
[error]Description : wpn_bm16f_410

Что тут собственно, требуется разобрать? вылет находил я сам, после моего же сообщения он в "справочнике" и появился. Причина вылета - где-то кому-то понадобилась текстура с именем, указанным в логе. И не нашлась.


Где не нашлась - вопрос не уместный, движок во всех файлах описания текстур ищет, раз не нашел значит вообще такой нету ни в одном из них. Где эта текстура кому-то понадобилась - можно найти тотал-командером, вбив поиск файлов содержащих указанный в логе идентификатор текстуры.


Expression    : data
Function    : CVirtualFileReader::CVirtualFileReader
File        : E:\stalker\sources\trunk\xrCore\FS.cpp
Line        : 462
Description    : ...\gamedata\textures\wpn\wpn_gauss.dds
Arguments    : Not enough storage is available to process this command

Причина:

Нехватка памяти для обработки указанной текстуры. Вместо текстуры может быть практически любой файл: звук, модель,
all.spawn
, файл геометрии локации и т.д.
Лечение:
Попробуйте загрузить последнее сохранение. Если не помогает - снизьте графические настройки игры.
Expression : data
Function : CVirtualFileReader::CVirtualFileReader
File : D:\prog_repository\sources\trunk\xrCore\FS.cpp
Line : 545
Description : d:\games\s.t.a.l.k.e.r. - call of pripyat\gamedata\textures\wpn\wpn_rpk_grips_bump.dds
Arguments : Not enough storage is available to process this command.

Вроде как всему виной слабый PC (32-битная винда, и малое кол-во ОЗУ).

Дополню. Не совсем любой файл, а какой-то именно тяжелый. Текстура большого размера, очень тяжелая модель, очень тяжелый и длинный звуковой или (возможно) видео-файл. И при условии слабого PC с 32-битной виндой и небогатым запасом оперативной памяти, движок может споткнуться на загрузке тяжелых файлов с таким логом.


Expression : fatal error
Function : CInifile::r_section
File : D:\prog_repository\sources\trunk\xrCore\Xr_ini.cpp
Line : 502
Description :
Arguments : Can't open section 'up_sect_fifthc_ak74u'. Please attach [*.ini_log] file to your bug report

По вылету 502, в справочнике довольно расплывчато описано в чем ошибка.


У тебя тоже невесть что: каком ini файле? Просят лог прикрепить к багрепорту, это не относится к причине ошибки.

Вот эта приписка "Please attach [*.ini_log] file to your bug report" не знаю где и зачем добавлена, но ini-файл это другое, вообще-то. это ресурс получаемый функцией system_ini(), т.е. файл system.ltx и все другие файлы, подключенные к нему с помощью инклюдов, а также подключенные к файлам, которые подключены к system.ltx, и т.д.

Нужно понять: где именно отсутствует секция?

Во всех конфигах, подключенных к system. Движок везде искал и нигде не нашел, поэтому этот вылет. Невозможно указать "где ее нет" - Везде. Нет. можно лишь найти, где она кому-то понадобилась. Возможные причины для вылета:


1) не подключили или неправильно подключили инклюдом файл, в котором эта секция все таки есть.
2) опечатка в названии секции в конфиге или там где к ней обращаются. т.е. в конфиге есть одно, а вызывают что-то не совпадающее.
3) Ну просто нету такой секции, и не должно быть, допустим. Тогда поиском по скриптам и конфигам найти все упоминания этой секции и удалить.
4) Неправильное наследование. Следует понимать, что все подключенные к system.ltx ресурсы, движок читает как один ini-файл, линейно сверху вниз. Наследовать секции можно только от тех секций, которые к данному моменту уже прочитаны.
Примеры:
Вот так - можно.
[sect_a]
param = 1
param2 = 0
	[sect_b]:sect_a
param_3 = 5
А вот так - нельзя. Произойдет вылет Can't open section 'sect_b'
[sect_a]:sect_b
param = 1
param2 = 0
	[sect_b]
param_3 = 5


Expression : fatal error
Function : WinMain
File : D:\prog_repository\sources\trunk\xrEngine\x_ray.cpp
Line : 946
Description : <no>
Arguments : stack overflow


Тоже не совсем ясно, что же тут требует пояснений. Переполнение стека - достаточно простое явление. Где-то, как правило в каком то цикле, накосячили с вызовом функций, или какая-то функция вызывает рекурсивно сама себя, возможно через посредников, тем самым переполняя стек. Решение тут простое - при написании кода понимать, что будет игра по нему делать, и не требовать "проглотить самое себя, начиная с хвоста" - тогда и движок за собственным хвостом гоняться не будет.


Добавлено aka_sektor,

Оказывается 502 вылет это тоже самое, что и 342: https://modfaq.ru/Xr_ini.cpp

Заметка изменена

  • Спасибо 1
  • Полезно 2

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий

Происходит вылет, строка 73, все прочитал, ошибка с nill, я вот зашел в скрипт и увидел это: 

local flag = nil
if ver >= 7 then

Я ничерта не понимаю тут, что поменять нужно?
Добавлено aka_sektor,

Лог где?

Добавлено aka_sektor,

И что ты сделал вы этот раз, что словил?

Ссылка на комментарий

 

 

что поменять нужно?

Да тут, похоже, уже менять нечего :( ...

 

 

Происходит вылет
Лог где ? Хотя-бы описание самого вылета...

 

 

я вот зашел в скрипт и увидел это
В какой ? В оригинале ТЧ ~400 файлов .script...
Ссылка на комментарий
local flag = nil
if ver >= 7 then

Может ошибаюсь, где-то это я видел, могу предположить что вылет происходит на 4 -том патче.

Может поменять 7 на 6

Добавлено  HellRatz,

В принципе все правильно, вылет из-за несоответствия патчей, так же патч прописывается в system.ltx (в [script_version], по-моему), у товарища просто какая-то кривая установка и все. Гадать на кофейной гуще можно долго, инфы никакой.

Ссылка на комментарий

Expression    : fatal error


Function      : CScriptEngine::lua_error
File          : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
Line          : 73
Description   : <no expression>
Arguments     : LUA error: ...l.k.e.r. hawx\gamedata\scripts\dialog_manager.script:393: attempt to compare number with nil

 

Изменено пользователем HellRatz
LOG ПРЯЧЕМ ПОД СПОЙЛЕР
Добавлено aka_sektor,

Так сделал ты что? Что поменял в файлах? Или у тебя после установки лицухи с патчем такое?

Добавлено aka_sektor,

Признавайся сразу, какой мод ставишь?

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
  • Куратор(ы) темы:

×
×
  • Создать...