Суббота, 28.06.2025, 23:07
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Зависание при открытии Управление службами серверов
dignatenkovДата: Вторник, 27.05.2025, 18:32 | Сообщение # 1
Лейтенант
Группа: Пользователи
Сообщений: 77
Репутация: 56
Статус: Оффлайн
Версия 7.80.1e, информацию подробную дать не могу, далее объясню почему.

По всей видимости, ошибка в процедуре ирОбщий.НоваяВКОбщаяЛкс

Там делается попытка подключения компоненты:
ВК = СоздатьВКОбщая(КэшКомпонентыИспорчен, Суффикс, Счетчик);

Где Счетчик должен увеличиваться при неудачных попытках. Но в СоздатьВКОбщая мы до строки Счетчик = Счетчик + 1 не доходим и сразу вываливаемся в исключение, в результате чего цикл никогда не завершается.

Я понимаю, что где-то ошибка при подключении внешней компоненты. Сейчас даже окно с информацией не открывается, видимо надо от админа запустить или зарегистрировать это всё из настроек ИР.

P.S. Достаточно увеличение счетчика поставить раньше подключения компоненты:

Код
Функция СоздатьВКОбщая(КэшКомпонентыИспорчен, Знач Суффикс, Счетчик)
   
   Счетчик = Счетчик + 1;
   ВК = Новый ("AddIn.ирОбщая" + Суффикс + ".AddIn"); // ОбработкаОбъект.ирТипКомпонентаОбщая - 1-2мс
   КэшКомпонентыИспорчен = Истина;
   ВК.PID();
   Возврат ВК;

КонецФункции


Сообщение отредактировал dignatenkov - Вторник, 27.05.2025, 18:36
 
tormozitДата: Вторник, 27.05.2025, 19:29 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 6913
Репутация: 181
Статус: Онлайн
Укажи, в какой строке возникает ошибка и ее полное описание. Это происходит в строке 
Код
ВК = Новый ("AddIn.ирОбщая" + Суффикс + ".AddIn");
?
 
tormozitДата: Вторник, 27.05.2025, 19:34 | Сообщение # 3
Генералиссимус
Группа: Администраторы
Сообщений: 6913
Репутация: 181
Статус: Онлайн
Счетчик здесь должен увеличиваться только в случае порчи кэша внешней компоненты. Иначе будет часто засоряться память рабочего процесса. Главная роль счетчика тут - в узко заданной ситуации создавать новый экземпляр "матрицы" внешней компоненты в рабочем процессе. А выход из цикла здесь по задумке должен гарантироваться другими средствами - главным образом условием
Код
Если ЗначениеЗаполнено(Счетчик) И Не КэшКомпонентыИспорчен Тогда
                ВызватьИсключение;
            КонецЕсли;
 
dignatenkovДата: Вторник, 27.05.2025, 21:44 | Сообщение # 4
Лейтенант
Группа: Пользователи
Сообщений: 77
Репутация: 56
Статус: Оффлайн
Цитата tormozit ()
Это происходит в строке
 
Да, после этого выходим в вызывающую процедуру без увеличения счетчика. 

У меня ошибка в одной из баз, и пока не могу побороть, при этом в остальных все работает. Еще поковыряюсь и буду тикет открывать.

Добавлено (27.05.2025, 21:49)
---------------------------------------------
Я сейчас переставил строку с увеличением счетчика как написал раньше, до вызова подключения. Без этого было зацикливание. Собственно, сама ошибка, которая теперь появляется:

Ошибка касается одной только базы, не думаю, что под нее нужна отдельная тема. 

При открытии Технической информации, Управление службы серверов, наверняка еще где-то:

Тип не определен (AddIn.ирОбщая0.AddIn)
{ИнструментыРазработчикаTormozit ОбщийМодуль.ирОбщий.Модуль(8916)}: ВК = Новый ("AddIn.ирОбщая" + Суффикс + ".AddIn"); // ОбработкаОбъект.ирТипКомпонентаОбщая - 1-2мс
{ИнструментыРазработчикаTormozit ОбщийМодуль.ирОбщий.Модуль(8865)}: ВК = СоздатьВКОбщая(КэшКомпонентыИспорчен, Суффикс, Счетчик);
{ИнструментыРазработчикаTormozit ОбщийМодуль.ирОбщий.Модуль(8907)}: ВК = НоваяВКОбщаяЛкс();
{ИнструментыРазработчикаTormozit ОбщийМодуль.ирОбщий.Модуль(27579)}: ВК = ВКОбщаяЛкс();
{ИнструментыРазработчикаTormozit Обработка.ирПлатформа.МодульОбъекта(12681)}: ирОбщий.ЗапуститьСкрытоеПриложениеИДождатьсяЗавершенияЛкс(СтрокаЗапуска, ФайлРезультата.Путь, ФайлРезультата.Имя, , Элевация);
{ИнструментыРазработчикаTormozit Обработка.ирПлатформа.МодульОбъекта(11245)}: ТекстРезультата = ТекстРезультатаКомандыСистемы("netstat -n -a -o");
{ИнструментыРазработчикаTormozit ОбщийМодуль.ирКэш.Модуль(2383)}: ОтладкаРазрешена = ЗначениеЗаполнено(мПлатформа.ПортДляПодключенияОтладчика());
{ИнструментыРазработчикаTormozit ОбщийМодуль.ирКлиент.Модуль(21444)}: |Клиент. Язык интерфейса системы: " + ТекущийЯзыкСистемы() + ?(ирОбщий.ЛиСовместимыйЯзыкСистемыЛкс(), "", " (не поддерживается!)") + "
{ИнструментыРазработчикаTormozit Обработка.ирПлатформа.Форма.ОПодсистеме.Форма(351)}: Текст = ирКлиент.ТехническаяИнформацияЛкс(НазваниеИнструмента);

Куда копать? Кэш очищен.

 
tormozitДата: Вторник, 27.05.2025, 21:51 | Сообщение # 5
Генералиссимус
Группа: Администраторы
Сообщений: 6913
Репутация: 181
Статус: Онлайн
Ошибку подтверждаю https://www.hostedredmine.com/issues/1005352
 
tormozitДата: Воскресенье, 01.06.2025, 19:23 | Сообщение # 6
Генералиссимус
Группа: Администраторы
Сообщений: 6913
Репутация: 181
Статус: Онлайн
Исправлено в 7.81
 
  • Страница 1 из 1
  • 1
Поиск: