Dennis_Chikin 3 658 Опубликовано 25 Июля 2013 (изменено) Из странного, но пожалуй, добавлю: [error]Arguments : LUA error: ... bad argument #1 to 'tonumber' (value expected)Порождается конструкцией вида: local function f() end; tonumber( f() ) В отличии от local function f() return nil end; tonumber( f() ) Возможно целое семейство, связанное с тем, что function () ... end возвращает не nil, в некое 'no value'. Самое поганое, что в тех местах, в которых чаще всего может встретиться, не падает с логом, а тихо повисает. Добавлю к: Description : ...- cop\gamedata\scripts\ui_si.script:383: attempt to call global 'qwe' (a nil value) Возможно, "повис" весь скрипт при трансляции или первом запуске. Что нибудь типа лишних скобок в каком-нибудь local v = val() вне тела функции, или эквивалента t[nil] = v. Изменено 25 Июля 2013 пользователем Dennis_Chikin Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 658 Опубликовано 3 Февраля 2014 [error]File : E:\stalker\sources\trunk\xrCore\Xr_ini.cpp [error]Line : 352 [error]Description : <no expression> [error]Arguments : Can't find variable строка in [секция] Здесь есть, но в виде частного случая. Попытка чтения несуществующей переменной вида ini:r_string( секция, строка ) (или r_float, r_bool и т.д.) 1. Убедиться, что переменная действительно зачем-то нужна. 2. Исправить код на local v -- или иное if ini:section_exist( секция ) and ini:line_exist( секция, строка ) then v = ini:r_string( секция, строка ) else более вменяемая диагностика end 3. Поправить конфиг при необходимости (см. п1) 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 658 Опубликовано 21 Февраля 2014 (изменено) "Дело в том, что скрипты не имеют никакого отношения к данной проблеме." Дело в том, что к данной проблеме (равно как и к пресловутому "переполнению стека") имеет отношение вообще все, что не было диагностировано иным образом. Кстати, рекомендую обратить внимание на разные значения в строке "line" и разные количества запрошенной памяти. То есть, всем, кто сталкивается с таким сообщением, нужно обращать внимание на такие моменты, и пополнять список, если причина была установлена. P.S. На версии движка тоже обращаем внимание: строки могут и отличаться. Еще хочу сказать по поводу сообщения выше, там где указание строки в скрипте: эта самая строка в скрипте тем более может меняться, поскольку в модах постоянно вносятся разные изменения в самые разные места. Так что следует показывать содержание строки, не то, что ни кому( кроме автора сообщения) неизвестно где какая-то переменная с ни о чем не говорящим названием оказалась равна nil. Изменено 21 Февраля 2014 пользователем Dennis_Chikin 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 658 Опубликовано 7 Марта 2014 "D:\prog_repository\sources\trunk\xrGame\xrServer_sls_clear.cpp" - ЗП ? Он же в ТЧ - внезапно, любимый всеми e-parent&e-entity и его разновидности. Кстати, не обязательно, что именно ящик. 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 658 Опубликовано 28 Июня 2014 "[tbl.string_key1] =" Запись в таблицу по некорректному индексу рушит namespace. Вылеты получаются довольно забавные и порою догадаться в чем дело - нетривиально. Для себя я пришел к принудительной инициализации: -- "ручная" инициализация модулей, для контроля корректности -- и обеспечения порядка инициализации для зависимых модулей string_format = string.format function log( ... ) _util.log( "_init", ... ) end function abort( ... ) _util.abort( "_init", ... ) end local t = { -- последовательность важна ! ["start"] = { -- инициализация глобальных таблиц и менеджеров "_util", -- служебные функции "_tbl_npc", -- разные забавные особенности неписей "_tbl_protected", -- защищенные предметы "_tbl_global", -- соответствия классов и типов "_tbl_outfits", -- костюмы "_tbl_levels", -- уровни "_tbl_treasures", -- тайники "_tbl_deathmgr", -- лут "_tbl_sounds", -- звуки "sound_theme", "amk_netpk", -- работа с нетпакетом "xl_imgr", -- кэши параметров предметов "amk" -- управляющий скрипт амк (помойка на самом деле) }, ["amk"] = {}, -- дополнения amk ["actor"] = { -- скрипты, требующие актора "actor_data", -- данные актора, нужны для всего онлайнового "ui_amk_options", -- опции солянки --"fix_it", -- правки глюков allspawn 2010.14.08 "amk_timers", -- таймеры (сохраняются в pstor) "xr_sound", -- звук "news_manager", -- типсы, init не нужен, но пусть будет "sr_psy_antenna", -- пси-излучение, самоинициализируется, но для контроля вставим "bind_restrictor", -- обновление рестрикторов (в основном всякие "разрывающиеся рюкзаки" и прочая ересь "amk_spawn", -- спавн amk "inv_manager", -- инвентарь актора "dialogs", -- функции для диалогов "xl_offline", -- состояние объектов в офлайне (требует level) "amk_anoms", -- аномалии "bind_art", -- арты, для детектора, и будет еще для "контейнеров" "death_manager", -- лут "xl_online", -- состояние объектов в онлайне "xr_box", -- лут из ящиков -- не включать - init() дергается из конфигов -- "bind_physic_object" -- всякая всячина, от ящиков до БТР "news_data", -- тексты новостей "news_main", -- новости "level_weathers", -- смена погоды "ui_rad", -- шкала радиации "actor_effects", -- эффекты актора "treasure_manager", -- тайники "task_manager", -- квесты "dialog_manager", -- диалоги "sr_territory", -- стрельба на особых территориях, инициализация не нужна, но пусть будет "xl_relations", -- сообщества и отношения "bind_heli", -- вертолет "mob_combat", -- схемы монстров, не нужно, но чтобы было, для контроля "mob_death", "mob_panic", "mob_trade", "mob_trader", "bind_monster", -- онлайн-монстры -- "xr_motivator", -- онлайн-неписи "xr_wounded", -- ранения, чтобы было -- "sak", -- функции сюжета и диалогов Сяка -- "amk_offline_alife", -- офлайн, устарело ---- "tag_spb", -- превращение трупов в зомби при выбросе "amk_mod" -- большая помойка от АМК }, ["np_pda"] = { -- требуют netpacket_pda в онлайне "spawn_level_changer", -- телепорты и принудительные смены уровня "bind_mteleport", -- внутриуровневые телепорты, создание/удаление здесь же ---- "flamethrower", -- огнемет ---- "repair_check", -- ремонт и апгрейд ---- "aem_manager", -- арена -- "storyline", -- сюжет "escape_dialog", ---- "braad_test", -- функции сюжета, прибито гвоздями к all.spawn "kostya_dialog", -- функции сюжета и диалогов ---- "new_dialog", -- функции сюжета и диалогов ---- "wawka_dialog", -- функции сюжета и диалогов -- "arhara_dialog", -- функции для диалогов Архары "actor_devices", -- функции шмоток актора -- -- "amk_artmod", -- варка артов -- -- "ui_pda_art_mod", -- какой-то девайс для варки артов, устарело "biodetector", -- детектор монстров (раньше не нужен) "sleep_manager" -- сон } } local m_name = false function check( blk ) local f, pt1 local tt = t[blk] local pt2 = profile_timer() pt2:start() for i = 1, #tt do if m_name then abort( "error in module [%s]", m_name ) end m_name = tt[i] f = _G[m_name].init if f then pt1 = profile_timer() pt1:start() if f() then pt1:stop() log( "init", "init %s [%s], ok (%s)", m_name, blk, pt1:time() ) else pt1:stop() log( "warning", "init %s [%s], !true (%s)", m_name, blk, pt1:time() ) end m_name = false else abort( "init, no %s.init() [%s]", m_name, blk ) end end pt2:stop() log( "init", "profile time: %s", pt2:time() ) end 1 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 658 Опубликовано 3 Июля 2014 ТЧ, [error]Line : 804 - в общем случае - некорректный тип данных, либо слишком длинная строка. Вообще, рекомендую следить, чтобы выводимое со всем возможным обрамлением (не важно, как и чем добавленным) ни в кое случае не превышало 250 байт. И, да, пользуясь случаем, маленькое объявление: требуется доброволец для приведения темы в вид, пригодный для пользования поиском браузера, поскольку только что имел довольно неприятный опыт найти нужное поиском форумным. 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 658 Опубликовано 7 Июля 2014 (изменено) Если у Вас случился вылет, возможно, здесь есть описание его причины, и как это исправить. Если он здесь еще не описан, и Вы нашли его причину, опишите это здесь, по аналогии с имеющимся. Самое главное в описании: платформа (ТЧ, ЧН, ЗП), строка line : xxx, причина. Все вылеты из этой темы собраны ЗДЕСЬ. Поскольку публикаций по ПРИЧИНАМ вылетов я давно уже не вижу, а вижу исключительно флуд, тема закрыта. Если Вы обнаружили вылет, который здесь не описан, и знаете, как его лечить - напишите модераторам в л/c. Изменено 11 Октября 2015 пользователем Dennis_Chikin 2 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 658 Опубликовано 6 Декабря 2015 (изменено) От Дормидонт: "Зов Припяти" stack trace: 0023:099D0CC3 xrGame.dll, CDialogHolder::CDialogHolder() в общем можно и так: stack trace: 00**:0***0CC3 xrGame.dll, CDialogHolder::CDialogHolder() Причина: npc:bone_position( "bip01_neck" ) примененное к химере. Ну, то есть, как вариант, любая кость, которая отсутствует в модели того,к кому применяют. Найдено НаноБот. P.S. (DC) Однако, весьма забавное сочетание причины и выводимого в лог. Изменено 6 Декабря 2015 пользователем Dennis_Chikin 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 658 Опубликовано 22 Января 2017 (изменено) от Zander_driver Посмотрел тут из любопытства в справочник, а там ведь этого нету... лог: FATAL ERROR [error]Expression : assertion failed [error]Function : CInventory::DropItem [error]File : E:\stalker\sources\trunk\xr_3da\xrGame\Inventory.cpp [error]Line : 220 [error]Description : InSlot(pIItem) ; полагаю, тут могут быть и другие значения stack trace:Причина: попытка выбросить/передать предмет/оружие, у которого изменены параметры, которые в оригинале читались жестко из конфигов и не подлежали изменению "ин гейм".Фактически такое возможно только на X-ray Extensions, там есть инструменты для изменения таких параметров. Лечение: вовремя возвращать все параметры на место, после своих изменений. Практика показывает, что пока оружие находится в инвентаре актора, движок не возражает. Т.е. надо все вернуть на место до того, как станет возможно выбрасывание/перемещение предмета. upd: в общем, давно известно: уберите из слота, потом меняйте. dc SoC А это уже от меня (ceterum censeo, автообъединялка должна быть убита): Что-то типа 0023:0573F73E xrGame.dll [error][ 18] : Больше файлов не осталось. и он же [error]Line : 753 [error]Description : std: out of memory - ящик грохнуло в аномалии или аналогичное событие. Изменено 22 Января 2017 пользователем Dennis_Chikin 4 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 658 Опубликовано 10 Января 2018 1.0006 "Международный", патч 2014 года: 0023:00A3105B xrLUA.dll - (на самом деле *105B xrLUA.dll) 0023:0595ED92 xrGame.dll - собственно, адрес здесь и далее может быть любой. 0023:0592BAAC xrGame.dll в xml существует строка вида: <precondition>module.function</precondition> при том, что сам module.script отсутствует либо содержит ошибку, из-за которой невозможна его компиляция. upd: достаточно и того, что вызываемая функция не найдена, например, ошибка в имени. 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 658 Опубликовано 28 Января 2018 (изменено) От @Zander_driver (SoC): [error]Expression : error handler is invoked! [error]Function : invalid_parameter_handler [error]File : E:\stalker\sources\trunk\xrCore\xrDebugNew.cpp [error]Line : 804 [error]Description : Причина: sect = nil ini:r_float( sect, v ) Изменено 28 Января 2018 пользователем Dennis_Chikin 1 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 658 Опубликовано 26 Мая 2018 0023:7492C41F KERNELBASE.dll 0023:74718E89 MSVCR80.dll, EH_prolog() 0023:05696DA8 xrGame.dll 0023:058B79DD xrGame.dll [error][ 183] : Невозможно создать файл, так как он уже существует. Совершенно дивный вылет в ТЧ, если удалить объект, для которого сделали local t = {} function mybinder:net_spawn( data ) t[self.object:id()] = self ... end function mybinder:net_destroy() t[self.object:id()] = nil object_binder.net_destroy( self ) end P.S. Как лечить ? "А Вы ТАК не делайте !" (C) Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 658 Опубликовано 1 Июля 2018 от mauvais 0023:0047FF3D XR_3DA.exe, CLAItem::CalculateBGR() 0023:04B286A9 xrGame.dll [error][ 8] : Недостаточно памяти для обработки команды. Одна из основных причин происходящего: Неправильный путь к световой анимации в конфиге/скрипте, либо отсутствие нужной световой анимации. То бишь в первую очередь проверять файл lanims.xr и пути. 1 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение
Dennis_Chikin 3 658 Опубликовано 29 Июля 2018 0023:00E87041 xrLUA.dll, luabind::detail::get_class_name() 0023:00E8E918 xrLUA.dll, luabind::detail::class_rep::function_dispatcher() Не знаю, почему не ищется поиском, ну да добавлю еще раз: obj.alive() вместо obj:alive() ну и тому подобное. (если не получили просто молчаливое повисание всей функции). см. также https://www.amk-team.ru/forum/topic/6185-skriptovanie/?do=findComment&comment=1157938 also, умельцам удавалось править xml так, что вылет получался при операциях с custom_static. Поскольку простым просмотром глазами найти подобное практически невозможно - исключать целыми кусками все подозрительное до исчезновения проблемы (ну, если она появилась после ваших действий - "подозрительное". - это то, что меняли). 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение