E69
01.03.2025, 20:02
Всем привет, последнюю неделю борюсь с такой штукой.
Выяснил, что OR некорректно воспринимает двузначные выходные TK_GR-KL в маршруте Суоярви. Они стоят возле вагоноопрокидывателя на станции Фабрика.
Симптомы такие:
а) в логах при загрузке маршрута с любой стартовой точки будут строки
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.
б) Тестовая сборка OR (версия T1.5.1-1546-g597dfc744, а также предыдущая) падает, если проехать близко к месту установки сигналов. Пишет такое:
Error: System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
в Orts.Simulation.Physics.Train.<>c.<UpdatePlayerTrainData>b__428_0(SignalHead x) в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Simulatio n\Physics\Train.cs:строка 14794
в System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)
в Orts.Simulation.Physics.Train.UpdatePlayerTrainDat a(Single maxDistanceM) в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Simulatio n\Physics\Train.cs:строка 14794
в Orts.Simulation.RollingStocks.SubSystems.ScriptedT rainControlSystem.Update(Single elapsedClockSeconds) в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Simulatio n\RollingStocks\SubSystems\TrainControlSystem.cs:с трока 833
в Orts.Simulation.RollingStocks.MSTSLocomotive.Updat e(Single elapsedClockSeconds) в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Simulatio n\RollingStocks\MSTSLocomotive.cs:строка 2098
в Orts.Simulation.RollingStocks.MSTSDieselLocomotive .Update(Single elapsedClockSeconds) в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Simulatio n\RollingStocks\MSTSDieselLocomotive.cs:строка 582
в Orts.Simulation.Physics.Train.physicsUpdate(Single elapsedClockSeconds) в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Simulatio n\Physics\Train.cs:строка 2050
в Orts.Simulation.Physics.Train.Update(Single elapsedClockSeconds, Boolean auxiliaryUpdate) в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Simulatio n\Physics\Train.cs:строка 1931
в Orts.Simulation.Simulator.Update(Single elapsedClockSeconds) в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Simulatio n\Simulator.cs:строка 850
в Orts.Viewer3D.Viewer.Update(RenderFrame frame, Single elapsedRealTime) в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\View er.cs:строка 787
в Orts.Viewer3D.Processes.UpdaterProcess.Update() в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\Proc esses\UpdaterProcess.cs:строка 128
в Orts.Viewer3D.Processes.UpdaterProcess.DoUpdate() в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\Proc esses\UpdaterProcess.cs:строка 108
в Orts.Viewer3D.Processes.UpdaterProcess.UpdaterThre ad() в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\Proc esses\UpdaterProcess.cs:строка 74
в System.Threading.ExecutionContext.RunInternal(Exec utionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
в System.Threading.ExecutionContext.Run(ExecutionCon text executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
в System.Threading.ExecutionContext.Run(ExecutionCon text executionContext, ContextCallback callback, Object state)
в System.Threading.ThreadHelper.ThreadStart()
"Стабильная" сборка запускается, однако если посмотреть на головку светофора (она спрятана под насыпь, из кабины не видно) - огни не горят и TrackMonitor их не покажет, только тупиковые маркеры.
Для проверки можете использовать этот path, выберите местом отправления станцию Рудная:
https://disk.yandex.ru/d/tB4m_auUVmkq8w
в) Нежный классический МСТС работает корректно! :D Все светит, даже один огонь слегка заметен из-под насыпи.
г) В редакторе TSRE на Суоярви светофоры вроде бы ведут себя нормально, но вообще-то редактор может реагировать на них по-разному.
Почему я собственно так заинтересовался проблемой, - я использовал эти сигналы (TK_GR-kl и TK_GR-ov) на тестовом маршруте у себя. И внезапно заметил вылеты игры, редактор же в зависимости от версии удаляет сигналы при загрузке тайла либо падает при попытке их отредактировать (скажем, подвигать в пространстве).
Что ещё интереснее, проблема начала проявляться довольно внезапно, в январе я тестил сигналку и вылетов не было (и старый лог, насколько удалось проверить, был чистый - но специально за всем, конечно, не следил, пока проблемы не было).
Что ещё добавить?
- Подменял скрипты в маршруте на лежащие в папке OR, нет разницы между скриптами для OR и MSTS.
- Правил одну мелкую ошибку в sigcfg, упомянутую в логе, также не влияет ни на что.
- Остальные сигналы, например головки БКЗ с маневровым белым, работали без проблем!
- В скрипте выходные с огнями КЗ стоят в середине списка, т.е. дело не связано с количеством пунктов в скрипте (на Elwas tower по такой ошибке советовали не ставить в маршрут одновременно несколько разных сигналок, но это не наш случай). Не спец в настройках сигналки, однако каких-то аномалий в конфиге именно этих сигналов не увидел.
- Воспроизвел ситуацию со схожим результатом на рабочем компе, где не было установлено игры.
Попробуйте запустить path и глянуть логи у себя, что ли :o
Буду думать, лечится ли это или надо что-то радикально менять в маршруте :confused:
Выяснил, что OR некорректно воспринимает двузначные выходные TK_GR-KL в маршруте Суоярви. Они стоят возле вагоноопрокидывателя на станции Фабрика.
Симптомы такие:
а) в логах при загрузке маршрута с любой стартовой точки будут строки
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.
б) Тестовая сборка OR (версия T1.5.1-1546-g597dfc744, а также предыдущая) падает, если проехать близко к месту установки сигналов. Пишет такое:
Error: System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
в Orts.Simulation.Physics.Train.<>c.<UpdatePlayerTrainData>b__428_0(SignalHead x) в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Simulatio n\Physics\Train.cs:строка 14794
в System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)
в Orts.Simulation.Physics.Train.UpdatePlayerTrainDat a(Single maxDistanceM) в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Simulatio n\Physics\Train.cs:строка 14794
в Orts.Simulation.RollingStocks.SubSystems.ScriptedT rainControlSystem.Update(Single elapsedClockSeconds) в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Simulatio n\RollingStocks\SubSystems\TrainControlSystem.cs:с трока 833
в Orts.Simulation.RollingStocks.MSTSLocomotive.Updat e(Single elapsedClockSeconds) в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Simulatio n\RollingStocks\MSTSLocomotive.cs:строка 2098
в Orts.Simulation.RollingStocks.MSTSDieselLocomotive .Update(Single elapsedClockSeconds) в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Simulatio n\RollingStocks\MSTSDieselLocomotive.cs:строка 582
в Orts.Simulation.Physics.Train.physicsUpdate(Single elapsedClockSeconds) в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Simulatio n\Physics\Train.cs:строка 2050
в Orts.Simulation.Physics.Train.Update(Single elapsedClockSeconds, Boolean auxiliaryUpdate) в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Simulatio n\Physics\Train.cs:строка 1931
в Orts.Simulation.Simulator.Update(Single elapsedClockSeconds) в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Simulatio n\Simulator.cs:строка 850
в Orts.Viewer3D.Viewer.Update(RenderFrame frame, Single elapsedRealTime) в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\View er.cs:строка 787
в Orts.Viewer3D.Processes.UpdaterProcess.Update() в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\Proc esses\UpdaterProcess.cs:строка 128
в Orts.Viewer3D.Processes.UpdaterProcess.DoUpdate() в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\Proc esses\UpdaterProcess.cs:строка 108
в Orts.Viewer3D.Processes.UpdaterProcess.UpdaterThre ad() в C:\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\Proc esses\UpdaterProcess.cs:строка 74
в System.Threading.ExecutionContext.RunInternal(Exec utionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
в System.Threading.ExecutionContext.Run(ExecutionCon text executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
в System.Threading.ExecutionContext.Run(ExecutionCon text executionContext, ContextCallback callback, Object state)
в System.Threading.ThreadHelper.ThreadStart()
"Стабильная" сборка запускается, однако если посмотреть на головку светофора (она спрятана под насыпь, из кабины не видно) - огни не горят и TrackMonitor их не покажет, только тупиковые маркеры.
Для проверки можете использовать этот path, выберите местом отправления станцию Рудная:
https://disk.yandex.ru/d/tB4m_auUVmkq8w
в) Нежный классический МСТС работает корректно! :D Все светит, даже один огонь слегка заметен из-под насыпи.
г) В редакторе TSRE на Суоярви светофоры вроде бы ведут себя нормально, но вообще-то редактор может реагировать на них по-разному.
Почему я собственно так заинтересовался проблемой, - я использовал эти сигналы (TK_GR-kl и TK_GR-ov) на тестовом маршруте у себя. И внезапно заметил вылеты игры, редактор же в зависимости от версии удаляет сигналы при загрузке тайла либо падает при попытке их отредактировать (скажем, подвигать в пространстве).
Что ещё интереснее, проблема начала проявляться довольно внезапно, в январе я тестил сигналку и вылетов не было (и старый лог, насколько удалось проверить, был чистый - но специально за всем, конечно, не следил, пока проблемы не было).
Что ещё добавить?
- Подменял скрипты в маршруте на лежащие в папке OR, нет разницы между скриптами для OR и MSTS.
- Правил одну мелкую ошибку в sigcfg, упомянутую в логе, также не влияет ни на что.
- Остальные сигналы, например головки БКЗ с маневровым белым, работали без проблем!
- В скрипте выходные с огнями КЗ стоят в середине списка, т.е. дело не связано с количеством пунктов в скрипте (на Elwas tower по такой ошибке советовали не ставить в маршрут одновременно несколько разных сигналок, но это не наш случай). Не спец в настройках сигналки, однако каких-то аномалий в конфиге именно этих сигналов не увидел.
- Воспроизвел ситуацию со схожим результатом на рабочем компе, где не было установлено игры.
Попробуйте запустить path и глянуть логи у себя, что ли :o
Буду думать, лечится ли это или надо что-то радикально менять в маршруте :confused: