В чём секрет вылета Pos+cnt<=Size |
Здравствуйте, гость ( Авторизация | Регистрация )
Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов
В чём секрет вылета Pos+cnt<=Size |
04.04.2019, 19:54
Сообщение
#1
|
|
Грандмастер Репутация: 118 Группа: Участник Сообщений: 1788 Награды: 4 Регистрация: 04.04.2013 |
Кто сталкивался, разобрались в чём причина и как решили?
p.s. ипать он древний, аж в билде 1475 от 15 июля 2003 года был: Сообщение отредактировал aka_sektor - 04.04.2019, 20:00 -------------------- |
 
|
|
|
|
04.04.2019, 20:30
Сообщение
#2
|
|
. Репутация: 750 Группа: Участник Сообщений: 7072 Награды: 4 Регистрация: 30.07.2010 |
Даже не пытайся его решить. Вылет происходит из за того что из космоса прилетает горячая частица и портит данные в оперативной памяти твоего ПК, особенно часто это происходит при запуске билдов.
|
 
|
|
04.04.2019, 20:54
Сообщение
#3
|
|
Грандмастер Репутация: 118 Группа: Участник Сообщений: 1788 Награды: 4 Регистрация: 04.04.2013 |
из космоса прилетает горячая частица Была мысля, что Pos+cnt<=Size это тоже самое что (Pos<=Size) && (Pos>=0) -------------------- |
 
|
|
04.04.2019, 20:55
Сообщение
#4
|
|
Pro gamer
Почти Игроман Репутация: 72 Группа: Участник Сообщений: 622 Регистрация: 05.11.2017 |
Движок пытался дочитать файл, но текущая позиция чтения(Pos) и количество байт, которое предстоит прочитать(cnt) больше размера самого файла.
Случается при рассинхронизации чтения-записи(где-то записали меньше, а читают больше). Емнип, в релизе очень часто встречается, если объём нет-пакета превышен(8кб емнип) или опять таки рассинхронизация. |
 
|
|
04.04.2019, 21:03
Сообщение
#5
|
|
Грандмастер Репутация: 118 Группа: Участник Сообщений: 1788 Награды: 4 Регистрация: 04.04.2013 |
объём нет-пакета превышен(8кб емнип) или опять таки рассинхронизация Речь про сетевой режим или что-то со скриптами? Вот примеры, кто ловил вылет: Интересен второй случай, чел пишет: "Изменял в одной модели оружия путь к текстурам... Изменил, сохранил, конвертирую в OGF и вылет..." А перед этим у него был вылет (Pos<=Size) && (Pos>=0). Типа он нажал "продолжить", и случился Pos+cnt<=Size: "Перевёл её в object с помощью конвертора Бардака и когда указывал путь к текстурам получил вылет" "Нажал "Продолжить" и получил вылет, который указан в сообщении выше..." Сообщение отредактировал aka_sektor - 04.04.2019, 21:03 -------------------- |
 
|
|
04.04.2019, 21:04
Сообщение
#6
|
|
Pro gamer
Почти Игроман Репутация: 72 Группа: Участник Сообщений: 622 Регистрация: 05.11.2017 |
про сетевой режим или что-то со скриптами Движок использует клиент-серверную модель, так что да - со скриптами. Конкретнее сказать ничего не могу. Может это уникальный случай. В стк вообще много уникальных случаев. Сообщение отредактировал buffy - 04.04.2019, 21:18 |
 
|
|
04.04.2019, 21:14
Сообщение
#7
|
|
Грандмастер Репутация: 118 Группа: Участник Сообщений: 1788 Награды: 4 Регистрация: 04.04.2013 |
Насчёт кстати (Pos<=Size) && (Pos>=0), расписывал сегодня:
Недавно услышал мнение, что он происходит отнюдь не потому, что текстуры неправильно распределены по папкам. Когда имея имя начинающееся с wpn_, хранятся НЕ в папке textures/wpn И не потому, что превышен лимит .thm файлов (в логе пишет: count of .thm files=6326) в папке SDK gamedata\textures Проверено, что удаление .thm файлов не поможет устранить этот вылет, как и раскладывание текстур в папки по префиксам. Причина вылета, якобы в том, что у какой-то .dds текстуры отсутствует .thm файл. Например, если она была сохранена сразу из графического редактора в формат .dds, и положена в папку editors/gamedata/textures Либо отсутствуют закрепленные за .thm файлом, детальные текстуры и бампы. Избежать этого вылета можно, только если всегда импортировать текстуры из формата .tga через SDK А вот обнаружить быстро, наверное не выйдет, действовать придется методом исключения, удаляя файл текстур за файлом, пока вылет не пропадёт. Впрочем, допускаю, что возможно, в логе, перед надписью FATAL ERROR пишет, какая текстура грузилась последней. Возможно дело в ней. UPD: А ещё писалил тут такое: Цитата такой вылет бывает, если тхм не соответствует текстуре и если текстура неправильного размера. Например, в тхм указан размер текстуры 1024х1024, а текстура реально 512х512. Или если размер текстуры не кратен двойке, например 438х256. Исправь или удали неверные файлы, и всё пойдет.
Сообщение отредактировал aka_sektor - 04.04.2019, 21:16 -------------------- |
 
|
|
06.04.2019, 23:47
Сообщение
#8
|
|
Почти Игроман Репутация: 96 Группа: Участник Сообщений: 594 Награды: 3 Регистрация: 26.10.2012 |
Можно с помощью батников например попробовать обойти эти вылеты (здесь для сдк ЗП, батники строго кидаются в папку эдитор, для запуска ЛЕ и АЕ)
Костыль конечно не сусветный. Есть небольшой риск потерять папку с текстурами, перед первыми испытаниями лучше сохранить резервную копию папки textures. -------------------- Будиш маму-папу слушать
Будиш ты канфеты кушать! © Операция «Ы» |
 
|
|
06.04.2019, 23:53
Сообщение
#9
|
|
Грандмастер Репутация: 118 Группа: Участник Сообщений: 1788 Награды: 4 Регистрация: 04.04.2013 |
Kontro-zzz, вылет
(Pos<=Size) && (Pos>=0) Уже описал по новой: Остаётся понять, Pos+cnt<=Size как с ним связан. Наткнулся на следующий пост: Из которого вытекает, что когда происходит вылет (Pos<=Size) && (Pos>=0) в окне, и его можно пропустить, нажав "Продолжить". Однако, в итоге, появляется вылет Pos+cnt<=Size, который уже пропустить нельзя. Сообщение отредактировал aka_sektor - 06.04.2019, 23:54 -------------------- |
 
|
|
07.04.2019, 00:08
Сообщение
#10
|
|
Почти Игроман Репутация: 96 Группа: Участник Сообщений: 594 Награды: 3 Регистрация: 26.10.2012 |
Забыл написать, имел ввиду вылеты при загрузке АЕ или ЛЕ. Возможно они сработают уже в открытых приложениях, но не знаю - можно ли будет текстуры определить, из-за которых случается вылет.
У меня при загрузке срабатывают вот эти: CODE
Но все они обходятся кнопкой продолжить, просто задолбало уже каждый раз на нее жмякать, и буфер обмена засирается. -------------------- Будиш маму-папу слушать
Будиш ты канфеты кушать! © Операция «Ы» |
 
|
|
Текстовая версия | Сейчас: 26.04.2024, 03:47 |