![]() |
Вылеты связанные с сигналкой в маршруте Суоярви
Всем привет, последнюю неделю борюсь с такой штукой.
Выяснил, что OR некорректно воспринимает двузначные выходные TK_GR-KL в маршруте Суоярви. Они стоят возле вагоноопрокидывателя на станции Фабрика. Симптомы такие: а) в логах при загрузке маршрута с любой стартовой точки будут строки [SPOILER]Warning: Signal not found : TK_GR-KL.S n Warning: Signal not found : TK_GR-KL.S n Warning: Signal not found : TK_GR-KL.S n Warning: Signal not found : TK_GR-KL.S n Warning: Signal not found : TK_GR-KL.S n Warning: Signal not found : TK_GR-KL.S n Warning: Signal not found : TK_GR-KL.S n Warning: SignalObject trItem=6521, trackNode=1672 has SignalHead with undefined SignalType tk_gr-kl. Warning: SignalObject trItem=6517, trackNode=1674 has SignalHead with undefined SignalType tk_gr-kl. Warning: SignalObject trItem=6519, trackNode=1676 has SignalHead with undefined SignalType tk_gr-kl. Warning: SignalObject trItem=6515, trackNode=1677 has SignalHead with undefined SignalType tk_gr-kl. Warning: SignalObject trItem=6523, trackNode=1762 has SignalHead with undefined SignalType tk_gr-kl. Warning: SignalObject trItem=6525, trackNode=1775 has SignalHead with undefined SignalType tk_gr-kl. Warning: SignalObject trItem=6527, trackNode=1776 has SignalHead with undefined SignalType tk_gr-kl.[/SPOILER] б) Тестовая сборка OR (версия T1.5.1-1546-g597dfc744, а также предыдущая) падает, если проехать близко к месту установки сигналов. Пишет такое: [SPOILER]Error: System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в Orts.Simulation.Physics.Train.<>c.<UpdatePlayerTrainData>b__428_0(SignalHead x) в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Simulation\Physics\Train.cs:строка 14794 в System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source, Func`2 predicate) в Orts.Simulation.Physics.Train.UpdatePlayerTrainData(Single maxDistanceM) в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Simulation\Physics\Train.cs:строка 14794 в Orts.Simulation.RollingStocks.SubSystems.ScriptedTrainControlSystem.Update(Single elapsedClockSeconds) в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Simulation\RollingStocks\SubSystems\TrainControlSystem.cs:строка 833 в Orts.Simulation.RollingStocks.MSTSLocomotive.Update(Single elapsedClockSeconds) в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Simulation\RollingStocks\MSTSLocomotive.cs:строка 2098 в Orts.Simulation.RollingStocks.MSTSDieselLocomotive.Update(Single elapsedClockSeconds) в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Simulation\RollingStocks\MSTSDieselLocomotive.cs:строка 582 в Orts.Simulation.Physics.Train.physicsUpdate(Single elapsedClockSeconds) в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Simulation\Physics\Train.cs:строка 2050 в Orts.Simulation.Physics.Train.Update(Single elapsedClockSeconds, Boolean auxiliaryUpdate) в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Simulation\Physics\Train.cs:строка 1931 в Orts.Simulation.Simulator.Update(Single elapsedClockSeconds) в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Simulation\Simulator.cs:строка 850 в Orts.Viewer3D.Viewer.Update(RenderFrame frame, Single elapsedRealTime) в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\Viewer.cs:строка 787 в Orts.Viewer3D.Processes.UpdaterProcess.Update() в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\Processes\UpdaterProcess.cs:строка 128 в Orts.Viewer3D.Processes.UpdaterProcess.DoUpdate() в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\Processes\UpdaterProcess.cs:строка 108 в Orts.Viewer3D.Processes.UpdaterProcess.UpdaterThread() в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\Processes\UpdaterProcess.cs:строка 74 в System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) в System.Threading.ThreadHelper.ThreadStart()[/SPOILER] "Стабильная" сборка запускается, однако если посмотреть на головку светофора (она спрятана под насыпь, из кабины не видно) - огни не горят и TrackMonitor их не покажет, только тупиковые маркеры. Для проверки можете использовать этот path, выберите местом отправления станцию Рудная: [url]https://disk.yandex.ru/d/tB4m_auUVmkq8w[/url] в) Нежный классический МСТС работает корректно! :D Все светит, даже один огонь слегка заметен из-под насыпи. г) В редакторе TSRE на Суоярви светофоры вроде бы ведут себя нормально, но вообще-то редактор может реагировать на них по-разному. Почему я собственно так заинтересовался проблемой, - я использовал эти сигналы (TK_GR-kl и TK_GR-ov) на тестовом маршруте у себя. И внезапно заметил вылеты игры, редактор же в зависимости от версии удаляет сигналы при загрузке тайла либо падает при попытке их отредактировать (скажем, подвигать в пространстве). Что ещё интереснее, проблема начала проявляться довольно внезапно, в январе я тестил сигналку и вылетов не было (и старый лог, насколько удалось проверить, был чистый - но специально за всем, конечно, не следил, пока проблемы не было). Что ещё добавить? - Подменял скрипты в маршруте на лежащие в папке OR, нет разницы между скриптами для OR и MSTS. - Правил одну мелкую ошибку в sigcfg, упомянутую в логе, также не влияет ни на что. - Остальные сигналы, например головки БКЗ с маневровым белым, работали без проблем! - В скрипте выходные с огнями КЗ стоят в середине списка, т.е. дело не связано с количеством пунктов в скрипте (на Elwas tower по такой ошибке советовали не ставить в маршрут одновременно несколько разных сигналок, но это не наш случай). Не спец в настройках сигналки, однако каких-то аномалий в конфиге именно этих сигналов не увидел. - Воспроизвел ситуацию со схожим результатом на рабочем компе, где не было установлено игры. Попробуйте запустить path и глянуть логи у себя, что ли :o Буду думать, лечится ли это или надо что-то радикально менять в маршруте :confused: |
Тоже самое
[SPOILER][CODE]Warning: Signal not found : TK_GR-KL.S n Warning: Signal not found : TK_GR-KL.S n Warning: Signal not found : TK_GR-KL.S n Warning: Signal not found : TK_GR-KL.S n WWWWWWWWW Warning: Signal not found : TK_GR-KL.S n Warning: Signal not found : TK_GR-KL.S n Warning: Signal not found : TK_GR-KL.S n Warning: SignalObject trItem=6521, trackNode=1672 has SignalHead with undefined SignalType tk_gr-kl. Warning: SignalObject trItem=6517, trackNode=1674 has SignalHead with undefined SignalType tk_gr-kl. Warning: SignalObject trItem=6519, trackNode=1676 has SignalHead with undefined SignalType tk_gr-kl. Warning: SignalObject trItem=6515, trackNode=1677 has SignalHead with undefined SignalType tk_gr-kl. Warning: SignalObject trItem=6523, trackNode=1762 has SignalHead with undefined SignalType tk_gr-kl. Warning: SignalObject trItem=6525, trackNode=1775 has SignalHead with undefined SignalType tk_gr-kl. Warning: SignalObject trItem=6527, trackNode=1776 has SignalHead with undefined SignalType tk_gr-kl. [/CODE][/SPOILER] + ещё кучи ошибок на всякую ерунду (звуки, объекты, и пр) |
Спасибо.
Ну остальное не должно быть особо критично, к тому же понятно как поправить carspawn, звуки и т.п. А тут падает, причем а) непонятно, почему именно эти сигналы и б) не пойму точно, что изменилось :( |
Поскольку некоторые сборки OR от такого падают, придумал пока что костыль.
Решение временное - не устраняет причину, но сохраняет работоспособность. Надо в файле .tdb пройтись заменой и поменять имена сигналов: TK_GR-kl заменить на TK_WGR_kl TK_GR-ov заменить на TK_WGR_MU-ov После этого игра не вылетает, а сигналы работают - но уже по скрипту с маневровым огнем. Правда, огни могут не гореть, но для спрятанных сигналов это и не важно. Чтобы поиграть без вылетов этого в целом достаточно. Измененный tdb вот (делайте бэкапы на всякий случай): [url]https://disk.yandex.ru/d/wqnT4Ym1lIzgVw[/url] Если есть желание отредактировать маршрут, можно эти SignalItem в файлк .tdb замемнить на .EmptyItem и пересохранить тайл в TSRE. Тогда глючные сигналы удалятся, и можно вместо них поставить другие. Правда, ставить в маршрут новые двузначные сигналы по-прежнему не стоит. Я перечитал и попробовал поредактировать скрипты, ничего криминального пока что не обнаружил. Так что источник проблемы для меня остается под вопросом пока. |
Текущее время: 07:00. Часовой пояс GMT +4. |
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim