Внешние обработки, потеря контекста. Linux+PostgeSQL

1. x3on 13.09.23 14:34 Сейчас в теме
Коллеги, добрый день.

Столкнулись с проблемой решить самостоятельно которую нам не удается,
возможно опыт и экспертность сообщества позволит понять и как следствие найти решение для сложившейся ситуации.

Изначально:
Есть самописная конфигурация работающая в режиме "Обычное приложение", экземпляры которой развернуты на нескольких сотнях
рабочих станций (все windows 10, платформа 1С 8.3.18), часть в файловом режиме, часть клиент-серверном (СУБД MSSQL 2012)

Ситуация:
В качестве пилота перевели несколько экземпляров ИБ на клиент-серверное взаимодействие с использованием СУБД PostgeSQL:
Windows 10 с виртуальной машиной Ubuntu, на которой в свою очередь установлены Сервер приложений 1С 8.3.18, СУБД PostgeSQL.
Соответственно база живет в СУБД, и подключена к 1С Серверу.

На этих реализациях появилось странное поведение при исполнении внешних обработок, периодически переменные методов модуля объекта обработки или реквизиты обработки будто теряют значение, становятся не инициализированными, как следствие нарушение логики и падения программы.
Падения в модуле могут происходить при обращении к свойствам объектов где к этим же самым свойствам обращались несколькими строками ранее (в рамках одного метода)
Пример в виде изображения прикреплен к посту

Внешние обработки создаются и исполняются программно, закономерностей в падениях пока не зафиксировано, кроме уже описанных ранее (Все Виртуальная машина Ubuntu, Сервером 1С, PostgeSQL)
Картина следующая:
Одинаковые конфигурации, внешние обработки, платформа 1с:
ОС Win + 1C(клиент-сервер) + MSSQL = Ошибка не происходит.
ОС Win + 1С(файловая база) = Ошибка не происходит.
ОС Win + Окружение Linux(Ubuntu + 1C(клиент-сервер) + PostgeSQL) = Ошибка происходит на всех инстансах, с различной периодичностью.

Куда можно посмотреть, на что обратить внимание, во что залезть куда копнуть, быстрая и не очень гуглежка результата, к сожалению не дала, за сем обращаюсь к Вам
Прикрепленные файлы:
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
5. user1936670 14.09.23 10:58 Сейчас в теме
(1) Похоже, что это глюк внешней компоненты под Linux.
Хотя, из описания "ОС Win + Окружение Linux(Ubuntu + 1C(клиент-сервер) + PostgeSQL)" вообще непонятно что где выполняется
6. x3on 14.09.23 12:12 Сейчас в теме
(5) Там ComОбъект, который инициируется и работа с которым происходит на клиенте который работает под Win, он никуда не перебрасывается, никаких вызовов сервера куда бы он мог передаваться тоже нет.

(5)
Хотя, из описания "ОС Win + Окружение Linux(Ubuntu + 1C(клиент-сервер) + PostgeSQL)" вообще непонятно что где выполняется


Windows 10 с виртуальной машиной Ubuntu, на которой в свою очередь установлены Сервер приложений 1С 8.3.18, СУБД PostgeSQL.
7. user1936670 14.09.23 12:27 Сейчас в теме
(6)
Там ComОбъект, который инициируется
Ну вот в нем всё и дело. Возможно он приходит в состояние, когда поле стновится доступным только для записи. Или вообще весь теряется, например из-за кривого кэширования в модуле повторного использования.
9. x3on 14.09.23 13:04 Сейчас в теме
(7) Повторное использование не применяется, смена его состояния тоже не возможна. Обратите внимание на (8)
2. IvanovIvan 14.09.23 07:41 Сейчас в теме
3. Vladimir-R 167 14.09.23 09:21 Сейчас в теме
запишите в журнал регистрации что находится в переменной ККМ.DocumentNumber в момент ошибки
4. user1936670 14.09.23 10:57 Сейчас в теме
(3)
что находится в переменной ККМ.DocumentNumber в момент ошибки
В момент ошибки в переменной ККМ.DocumentNumber находится ошибка чтения. Ваш К.О.
8. x3on 14.09.23 13:00 Сейчас в теме
Вот еще пример.
Тоже внешняя обработка, только теперь "потерялись" данные находящиеся в типе Структура.
Извиняюсь за это полотно, но как показать нагляднее не придумал.


Листинг метода
Прикрепленные файлы:
10. XAKEP 14.09.23 14:16 Сейчас в теме
ну не используйте виртуальные машины для СУБД !!!!
установите на отдельном системнике для теста
реально живую линус, посгрес,1с и тогда (!!!!) сравнивайте

под линукс есть и МССКЛ
11. x3on 14.09.23 14:49 Сейчас в теме
(10) Спасибо за мнение. Понятно, что варианты компоновки железок и ПО существует множество, но все же хочется понять почему текущая схема так себя показывает, по сути сама схема распространена и успешно применяется, а наш опыт с ловлей подобного поведения частность.
12. XAKEP 14.09.23 18:14 Сейчас в теме
(11)
(11)
сама схема распространена и успешно применяется

все хорошо , когда оно работает

слышали об распространенной схеме с рейдами ?
а о битых бекапах с них и не возможности восстановления....

причины поведения вполне прозрачные :
https://habr.com/ru/companies/ozontech/articles/645173/
виндовс - линукс так же - ОС не одного огорода
причем версия постгрес и убунту имеют значение

но так как вы решились на виртуалку - вперед и с песней.
13. XAKEP 14.09.23 18:17 Сейчас в теме
(11)
О чем нужно подумать
• Уровни системы:
• Безопасность
• Отличие реализации физического хранения
• Системные моменты
• Влияющие на код
• Collation
• Ограничений объектам БД (типы данных, наименования, индексы)
• Блокировки и hint
• Отличия в работе временных объектов
• Обращение к другим БД
• Отсутствие встроенного авто-обработчика (pg agent)
• Отличия в языке
• Пакетные скрипты и особенности динамика
• Отличия в работе хранимых процедур
• Отличия в работе транзакций
• Триггеры

по ссылке указанной в хабре на источники.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот