Мастерская по разбору "вылетов" X-Ray - Школа моддинга - AMK Team
Перейти к контенту

Мастерская по разбору "вылетов" 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... Но вылетает не сразу, а через некоторое время. По-моему, связан со снятием рестрикторов с мутантов, но я не уверен.

 

 

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

 

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

 

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

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

andreyholkin.gif

rod_cccp.gif

 

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

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

Аддон для ОП-2.09.2: Яндекс/Google/GitHub/Тема на AP-PRO

naxac.gif

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

 

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

Вот тут даже оф. ответ компания-разработчик (признана нежелательной)* приводили: http://www.gameru.net/forum/index.php?s=&showtopic=37496&view=findpost&p=1030600

 

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

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

 

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

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

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

-

[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, там они скриптовые, и их стоит подробнее разобрать.

-

@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
  • Полезно 1

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

andreyholkin.gif

rod_cccp.gif

 

 

 

Arguments : bad node in heap

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

 

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

  • Полезно 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у.

Аддон для ОП-2.09.2: Яндекс/Google/GitHub/Тема на AP-PRO

naxac.gif

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

 

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

  • Полезно 1

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

Изменено пользователем dsh
  • Согласен 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

-


[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


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


  • Спасибо 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

Я ничерта не понимаю тут, что поменять нужно?

-1.png.6a9eb1b64b683bf174445a5005b24229.png

 

 

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

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

 

 

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

 

 

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

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

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

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 ПРЯЧЕМ ПОД СПОЙЛЕР

-1.png.6a9eb1b64b683bf174445a5005b24229.png

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

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

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

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

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

Войти

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

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

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

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