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

Справочник вылетов


ColR_iT

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

  log (Показать)
  • Нравится 1
  • Полезно 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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.

Поделиться этим сообщением


Ссылка на сообщение

Отловил вылет, мне аж понравилось распутывать механизм его возникновения.

  Распутываем... (Показать)
  • Нравится 2
  • Полезно 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.

Поделиться этим сообщением


Ссылка на сообщение

Очередной экзотический вылет

 

  лог (Показать)

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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.

Поделиться этим сообщением


Ссылка на сообщение
FATAL ERROR
 
[error]Expression    : i < (int)m_text.size()
[error]Function      : CUISubLine::Cut2Pos
[error]File          : E:\stalker\patch_1_0004\xr_3da\xrGame\ui\UISubLine.cpp
[error]Line          : 86
[error]Description   : CUISubLine::Cut2Pos - invalid parameter
 

stack trace:

Причина - достаточно странная, но... возникает это чудо в случае когда в метод db.actor:give_talk_message(text, texture, rect, info)

в качестве параметра text передана строка, сформированная таким образом

text = string.format("%s %s %s", t1, t2, t3) 

- если один из элементов t1, t2, t3 является пустой строкой, то будет этот вылет. т.е. видимо причина - два пробела подряд в строке? или два пробела по бокам от пустой строки.

Изменил формирование строки на такое

text = string.format("%s; %s; %s", t1, t2, t3)

 - и вылет исчез, при том что t-параметры оставались какими угодно, и пустыми строками в том числе.

Еще достаточно нередко в этой же ситуации вылет происходит безлоговый. Например, если метод give_talk_message вызывался не из какой-то произвольной функции, а из метода класса. В этом случае всегда без лога. Такая вот чертовщина.

  • Полезно 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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.

Поделиться этим сообщением


Ссылка на сообщение

 

 

  Desertir писал(а):
Возможно стОит отловить конкретные значения (пустые они или нет, неважно), при которых происходит вылет, вколотить их непосредственно в строку и начать ее изменять. Как только вылет пропадет, будет установлена причина, которых кстати может быть больше.

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

 

 

  Desertir писал(а):
PS: за такие костыли в продакшене прогера могут и без премии оставить, да и без работы...

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

  • Согласен 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.

Поделиться этим сообщением


Ссылка на сообщение
FATAL ERROR
 
[error]Expression    : (*elements.begin())->numberOfGeoms()
[error]Function      : CPHShell::preBuild_FromKinematics
[error]File          : E:\stalker\patch_1_0004\xr_3da\xrGame\PHShell.cpp
[error]Line          : 616
[error]Description   : No physics shapes was assigned for model or no shapes in main root bone!!!
 

stack trace:

Возникает из-за модели НПС, у которой не настроены шейпы (простите мой лексикон, если он не совсем корректен, я не моделлер, но думаю вы поняли о чем идет речь). Если быть точнее - повидимому когда такая модель пытается совершать определенные анимации. Так что вариантов проявления может быть много. Лечение - найти недоработанную модель и прогнать через СДК или заменить на другую.

Плохо то что в самом логе нет никакого указания на то, какая именно модель вызвала вылет. Это придется выяснять самостоятельно. Могу лишь поделиться методикой как у себя ее ловил. Вылет происходил от анимации, являющейся реакцией на хит, причем почему-то только от аномалий. Скрипты успевали отработать хит-коллбек нпс перед вылетом, в коллбеке я брал нетпакет нпс, вытаскивал оттуда визуал и сбрасывал в лог. Так и нашел виновную модель. Хотя вероятно вылет может происходить и при каких-то иных действиях модели, не связанных с хитом.

  • Полезно 4

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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.

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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