Зависание в иробщий.от()
|
|
Gravitator | Дата: Пн, 21.04.2025, 12:11:15 | Сообщение # 1 |
Сержант
Группа: Проверенные
Сообщений: 35
Репутация: 28
Статус: Оффлайн
| Эпизодически происходит зависание при вызове функции иробщий.от(), последовательность возникновения сложно сказать: при отладке того же запроса все работает нормально, в какой-то момент зависает. При этом в версии 7.24 все работало без таких явлений. Возможно это связано с доработкой данной функции: смотрел различия с версией 7.24 - она была расширена.
Аналогичные проблемы наблюдались у Yevhen K. (сообщения в чате Telegram 06.03.2025). У меня поведение 1 в 1, только не дождался окончания работы функции.

Платформа: 8.3.23.1912 Режим БД: клиент-серверный Конфигурация. Название: 1С:ERP Управление предприятием 2 (2.5.14.59) Конфигурация. Основной режим запуска: Управляемое приложение Конфигурация. Вариант встроенного языка: Русский Конфигурация. Режим управления блокировкой данных: Управляемый Конфигурация. Режим совместимости: Версия8_3_21 Конфигурация. Режим использования синхронных вызовов: Использовать Конфигурация. Версия БСП: 301 Конфигурация. Использовать обычные формы в управляемом приложении: Да Инструменты разработчика. Версия: Расширение 7.74.1e Инструменты разработчика. Инструмент: Прочее Инструменты разработчика. Перехват клавиатурного ввода: Да Инструменты разработчика. Объекты на сервере: Да Инструменты разработчика. Асинхронность запрещена: Нет Инструменты разработчика. Разрешены имитаторы: Да Расширения. InfostartToolkitPROF (2.3.3) Расширения. ЗащитаРолейРасширенийДляАдминовБСП3 (1.2) Расширения. лтхДоработкаТиповыхПодсистем () Расширения. ЛТ_ГруппаМиграции () Расширения. лтхПатч17306 () Расширения. ИсправлениеПоЗадаче_16472 () Расширения. лтхИсправление_Задача_17254 () Расширения. лтхИсправление_Задача_17258 () Расширения. лтхПатч17196 () Расширения. лтх_лог_стека () Расширения. ... Клиент. Приложение: Управляемое приложение 64б Клиент. Проверка модальных вызовов: Да Клиент. Язык интерфейса конфигурации: ru Клиент. Язык интерфейса системы: ru Клиент. Отладка разрешена: Да Клиент. Постоянный кэш метаданных: Да Клиент. ОС: Microsoft Windows Server 2016 Standard 64-bit Русский Клиент. ОС от имени администратора: Нет Клиент. ОС выполнение BAT: Да Клиент. ОС Active code page: 866 Клиент-Сервер. Пинг: 1мс Сервер. ОС: Microsoft Windows Server 2019 Standard 64-bit Русский Сервер. Процесс: 64б Сервер. Отладка: нет
Сообщение отредактировал Gravitator - Пн, 21.04.2025, 12:14:09 |
|
| |
tormozit | Дата: Пн, 21.04.2025, 12:17:10 | Сообщение # 2 |
Генералиссимус
Группа: Администраторы
Сообщений: 6936
Репутация: 184
Статус: Оффлайн
| Вставь в код
Код _ОтладкаИР = Ложь; Если _ОтладкаИР Тогда ирОбщий.От(...)
И при следующем проявлении проблемы поменяй значение флага _ОтладкаИР в отладчике. Тогда сможешь прошагать отладчиком до места зависания.
|
|
| |
Gravitator | Дата: Пн, 21.04.2025, 12:47:56 | Сообщение # 3 |
Сержант
Группа: Проверенные
Сообщений: 35
Репутация: 28
Статус: Оффлайн
| Цитата tormozit (  ) Вставь в код Код _ОтладкаИР = Ложь; Если _ОтладкаИР Тогда ирОбщий.От(...)
И при следующем проявлении проблемы поменяй значение флага в отладчике.
Правильно понимаю, что этот код надо использовать вместо вызова функции в табло?
|
|
| |
Gravitator | Дата: Вс, 27.04.2025, 18:56:49 | Сообщение # 4 |
Сержант
Группа: Проверенные
Сообщений: 35
Репутация: 28
Статус: Оффлайн
| Зависание сеанса происходит в функции ПолучитьОбъектВнешнейКомпонентыИзМакета() модуля объекта ирПлатформа в строке:

Для справки: в отладку отправляется простой запрос: есть менеджер временных таблиц (7 таблиц - пустые или по 1 записи), текст - выборка реквизитов из документа перед формированием таблиц для записи по регистрам движений.
БазовоеИмяМакетаКомпоненты = "RegExWin64"
|
|
| |
Gravitator | Дата: Вс, 27.04.2025, 18:58:53 | Сообщение # 5 |
Сержант
Группа: Проверенные
Сообщений: 35
Репутация: 28
Статус: Оффлайн
| Стек вызова на момент зависания:

Добавлено (27.04.2025, 19:01) --------------------------------------------- Если необходимо еще собрать данные - запрашивай. Один нюанс - сервер 1С и SQL мне не доступны, политика заказчика.
На версии 7.24 таких проблем не наблюдал, пока работаю на ней.
Сообщение отредактировал Gravitator - Вс, 27.04.2025, 19:02:59 |
|
| |
tormozit | Дата: Вс, 27.04.2025, 19:15:16 | Сообщение # 6 |
Генералиссимус
Группа: Администраторы
Сообщений: 6936
Репутация: 184
Статус: Оффлайн
| Найди фрагмент
Код Если Доступен1СВычислитель() Тогда // Низший приоритет из-за ошибки платформы 8.3.24-25+ https://www.hostedredmine.com/issues/986747 ТекущийДвижок = ДоступныеДвижки._1С; КонецЕсли; Если ДоступенPCRE2() Тогда ТекущийДвижок = ДоступныеДвижки.PCRE2; КонецЕсли; Переставь в нем условия местами
|
|
| |
tormozit | Дата: Вс, 27.04.2025, 19:28:35 | Сообщение # 7 |
Генералиссимус
Группа: Администраторы
Сообщений: 6936
Репутация: 184
Статус: Оффлайн
| Создал задачу на обновление этой внешней компоненты https://www.hostedredmine.com/issues/1004464 Но надежда, что это поможет, у меня небольшая. Скорее поможет предыдущий рецепт, но он только для 8.3.23+ и без веской причины его применять тоже не хотелось бы.
|
|
| |
Gravitator | Дата: Сб, 03.05.2025, 15:37:40 | Сообщение # 8 |
Сержант
Группа: Проверенные
Сообщений: 35
Репутация: 28
Статус: Оффлайн
| Цитата tormozit (  ) Найди фрагментКод Если Доступен1СВычислитель() Тогда // Низший приоритет из-за ошибки платформы 8.3.24-25+ https://www.hostedredmine.com/issues/986747 ТекущийДвижок = ДоступныеДвижки._1С; КонецЕсли; Если ДоступенPCRE2() Тогда ТекущийДвижок = ДоступныеДвижки.PCRE2; КонецЕсли; Переставь в нем условия местами Провел тестирование с такой правкой, пока явных зависаний нет (ранее зависало сразу), перейду работать на версию 7.74.1, отпишусь, если проблема возникнет снова.
|
|
| |
tormozit | Дата: Вс, 04.05.2025, 20:47:29 | Сообщение # 9 |
Генералиссимус
Группа: Администраторы
Сообщений: 6936
Репутация: 184
Статус: Оффлайн
| Еще большая просьба - проверить 7.77, т.к. я там обновил эту внешнюю компоненту. Есть небольшая вероятность что зависания устранятся. Это было бы оптимальным решением проблемы.
|
|
| |
tormozit | Дата: Вс, 18.05.2025, 19:34:26 | Сообщение # 10 |
Генералиссимус
Группа: Администраторы
Сообщений: 6936
Репутация: 184
Статус: Оффлайн
| Возможно поможет https://www.hostedredmine.com/issues/1005009
|
|
| |
Gravitator | Дата: Вт, 20.05.2025, 09:01:45 | Сообщение # 11 |
Сержант
Группа: Проверенные
Сообщений: 35
Репутация: 28
Статус: Оффлайн
| Прошу прощения за задержку, дедлайны...
Проверил поведение функции иробщий.От() на 7.79.2, проблем пока не наблюдаю (на 7.74 они возникали сразу). Пока останусь на ней, понаблюдаю.
Судя по отладке, был сделан обход подключения внешней компоненты при отладке запроса, используется возможности 1С, так?
|
|
| |
tormozit | Дата: Вт, 20.05.2025, 09:11:04 | Сообщение # 12 |
Генералиссимус
Группа: Администраторы
Сообщений: 6936
Репутация: 184
Статус: Оффлайн
| В итоге было сделано сразу 2 изменения влияющие на описанный тут сценарий. https://www.hostedredmine.com/issues/1005009 - изменен способ подключения большинства внешних компонент https://www.hostedredmine.com/issues/1004956 - временно на сервере отдал приоритет штатному механизму регулярных выражений, т.е. внешняя компонента в данном сценарии пока не используется. В следующей версии откачу это изменение https://www.hostedredmine.com/issues/1005145
|
|
| |
tormozit | Дата: Вт, 20.05.2025, 09:15:29 | Сообщение # 13 |
Генералиссимус
Группа: Администраторы
Сообщений: 6936
Репутация: 184
Статус: Оффлайн
| Если будет время, проверь изначальный приоритет механизмов регулярных выражений. Напоминаю что он выглядит так
|
|
| |