Версия
bsl-language-server-0.27.1-exec.jar
Описание ошибки диагностики
[Error - 1:30:53 PM] [ERROR - 2026-01-14T10:30:49.434296Z] [compute-configuration-22] [com.github._1c_syntax.bsl.reader.common.xstream.ExtendXStream]: Can't read file 'D:\UT\src\Roles\ЧтениеЗапросовЕГАИС\Ext\Rights.xml' - it's broken (skipped)
Пример кода
УТшка (11.3), а платформа 8.3.27.1719
Скриншоты
Дополнительная информация
ИИшка говорит, что всему виной:
Предполагаемая первопричина: баг обхода XML-дерева в RoleDataConverter
В RoleDataConverter есть циклы, которые обходят дочерние узлы и . При встрече неизвестного тега код делает continue, но не делает reader.moveUp(), из‑за чего ридер остаётся на неверном уровне вложенности.
Это классический источник StreamException/ConversionException в XStream/StAX: курсор ридера “залипает” внутри неизвестного узла, последующий обход ломается и чтение всего Rights.xml валится.
Источник:
Фрагменты логики (суть):
readObjectRight(...):
если fieldClass == null → continue; (без moveUp)
readRight(...):
если fieldClass == null → continue; (без moveUp)
При этом для restrictionTemplate сделано правильно: они делают reader.moveUp(); continue; — т.е. авторы уже знают, что нужно подниматься, но пропустили этот момент в других ветках.
Версия
bsl-language-server-0.27.1-exec.jarОписание ошибки диагностики
[Error - 1:30:53 PM] [ERROR - 2026-01-14T10:30:49.434296Z] [compute-configuration-22] [com.github._1c_syntax.bsl.reader.common.xstream.ExtendXStream]: Can't read file 'D:\UT\src\Roles\ЧтениеЗапросовЕГАИС\Ext\Rights.xml' - it's broken (skipped)Пример кода
УТшка (11.3), а платформа 8.3.27.1719Скриншоты
Дополнительная информация
ИИшка говорит, что всему виной:
Предполагаемая первопричина: баг обхода XML-дерева в RoleDataConverter
В RoleDataConverter есть циклы, которые обходят дочерние узлы и . При встрече неизвестного тега код делает continue, но не делает reader.moveUp(), из‑за чего ридер остаётся на неверном уровне вложенности.
Это классический источник StreamException/ConversionException в XStream/StAX: курсор ридера “залипает” внутри неизвестного узла, последующий обход ломается и чтение всего Rights.xml валится.
Источник:
Фрагменты логики (суть):
readObjectRight(...):
если fieldClass == null → continue; (без moveUp)
readRight(...):
если fieldClass == null → continue; (без moveUp)
При этом для restrictionTemplate сделано правильно: они делают reader.moveUp(); continue; — т.е. авторы уже знают, что нужно подниматься, но пропустили этот момент в других ветках.