Форум Кладовочки АЛьФ`а

Общие вопросы => 7.7 => Тема начата: MWW_Ruza от 26 февраля 2025, 22:30

Название: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 26 февраля 2025, 22:30
Добрый день!
От чего может происходить сабж?
В какую сторону копать?
Происходит эпизодически, по непонятным причинам, то ничего, а то зависание глухое...
Какую-то ВК нужно прибивать перед закрытием программы?
Как определить, какую именно? Их там много грузится...
Как поймать, что именно приводит к такому эффекту?
Чем посмотреть-пощупать?
При чем, именно повторить ситуацию - не получается...
Закрывается, зараза, как так и надо, и раз, и два, и десять...
А потом, в самый неудачный момент - раз, и на тебе, висим...
От системы не зависит - в основном семерки, и 32 и 64 бита...
ВК - ScanOpos, FormEx, 1CPP, ёксель, OpenFileDialogsManager...
Чем можно просмотреть, что именно висит?
Или ВК тут вообще ни при чем, и надо в другую сторону копать?
Название: Re: Зависает 7.7 при выходе?
Отправлено: trdm от 27 февраля 2025, 10:35
Профайлинг и логинг.
Название: Re: Зависает 7.7 при выходе?
Отправлено: Djelf от 27 февраля 2025, 10:47
Для начала, судя по твоему скрину из "техподдержки" не ракомендуемый порядок загрузки ВК.
Рекомендуемый 1с++, formex, затем все остальное, а тебя не так это сделано.
Можно было бы попробовать выгружать ВК через formex, возможно та что не выгрузится и есляется проблемой.
Но у тебя кроме ВК еще всякие объекты типа msxml, если они не уничтожаются корректно и вовремя, то на них может и клинить.
Рецета тебе даже GPT не даст...
Название: Re: Зависает 7.7 при выходе?
Отправлено: ЯнСмит от 27 февраля 2025, 12:46
Djelf, такой порядок из личного опыта, или где-то есть конкретные рекомендации?
Название: Re: Зависает 7.7 при выходе?
Отправлено: Харлампий Дымба от 27 февраля 2025, 14:43
trdm+
попробовать логировать по максимуму, особенно выполнение ПриЗавершенииРаботыСистемы()
может какие-то вещи типа ОткрытьФормуМодально("Обработка.ТорговоеОборудование", "Отключить") висят в ожидании ответа от оборудования, или обращения к файлам?;
тот же журналрегистрации и 1cv7evt по размерам? 1cv7.cfg опять же должен записываться при выходе, и если пользователи не каждый в своей папке - то могут быть проблемы с доступом;
ну и вообще журналрегистрации глянуть на предмет отключение-подключение + ошибки в процессе работы;
может проблема не в 1с, а зависает сеанс RDP при выходе: какой-нибудь драйвер принтера не отпускает? в зависшем сеансе 1cv7&.exe присутствует?
может какая-нибудь загрузка из excel при выполнении сбойнула и оставила висеть процесс - и не позволяет закрыть сеанс;
может какие компоненты-перехватчики работают - тут вот на неделю Log_ert от romixа включил на рабочей базе - стон, тормоза и падения, неожиданно для меня.
Название: Re: Зависает 7.7 при выходе?
Отправлено: Arbuz от 27 февраля 2025, 16:33
У меня так ScanOpos чудил, висла наглухо. Окно закрывалось, а в процессах висело и не снималось никаким образом. Даже завершение работы или перезагрузка не выполнялись, висло по операции в/в. Долго рассказывать. Перешёл на Атол.
 ЗЫ: ScanOPOS.dll   0fdb0849dcab360c5f7d836c3b23f216   424 960
Название: Re: Зависает 7.7 при выходе?
Отправлено: Злоп от 27 февраля 2025, 21:07
У меня зависоны при выходе как-то были связаны с неубитыми ОLE-объектами. То есть все отключено/завершено - но вот никак. Пока принудительно не занулял все используемые ОЛИ, типа Оля=0;
Название: Re: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 01 марта 2025, 22:26
Хм...
Это:
Цитата: Djelf от 27 февраля 2025, 10:47Рекомендуемый 1с++, formex, затем все остальное, а тебя не так это сделано.
переделал, теперь при старте программы грузятся 1с++, потом FormEx, потом curl1c (без создания глобальной переменной, естественно, как в редми написано), и все. Остальные загружаются при первом обращении к ним.
Пока - не могу ничего сказать, это возникает эпизодически, без каких-то зависимостей (по крайней мере, я их не улавливаю)... Буду наблюдать.
Название: Re: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 02 марта 2025, 13:33
Я вот думаю, а может из-за какого-то таймера в этом окошке такое быть?

(https://content.foto.my.mail.ru/mail/m_w_w/1/i-607.jpg)

Это, как я понимаю, отку-да-то из формекса прилетело? Специально я этого не делал, оно "само" :-)))
Просто зависание идет уже после появления этого вопроса и нажатия на "Да"...
Название: Re: Зависает 7.7 при выходе?
Отправлено: Злоп от 02 марта 2025, 13:47
ну поставь в настройках Спр.Пользователи "запрашивать подтверждение при выходе = 0"
но, думаю, причина не в этом.
убирай возможные проблемы методом 1/2.
запусти и сразу выйди - нормально?
нет - зануляй все инициализации модуля и полностью закооментарь ПриНачалеРаботыСистемы
запусти и сразу выйди - нормально?
если да - а думаю будет так - начинай по 1/2
для начала: отруби при начале работы системы подключение торгового оборудования...
и пошел 1/2...
.
а то я знаю вас, навпихивают всяких ОО, напоминалок, автовыгрузок в соседние базы при каждом чихе и прочую муйню..
Название: Re: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 02 марта 2025, 14:13
Цитата: Злоп от 02 марта 2025, 13:47ну поставь в настройках Спр.Пользователи "запрашивать подтверждение при выходе = 0"
Да, такая мысль уже была. Попробую.
Цитата: Злоп от 02 марта 2025, 13:47запусти и сразу выйди - нормально?
Нет. Иногда сразу зависает при выходе после открытия, а иногда нет...
Цитата: Злоп от 02 марта 2025, 13:47нет - зануляй все инициализации модуля и полностью закооментарь ПриНачалеРаботыСистемы
Совсем не могу, оно нужно...
А для пробы - не понятно сколько и как тестировать... Оно может при первой пробе вылететь, а может и 20 раз нормально отработать, а на 21, после включения ТО сработать... И не факт, что ТО бут будет "при делах"...
Цитата: Злоп от 02 марта 2025, 13:47а то я знаю вас, навпихивают всяких ОО, напоминалок, автовыгрузок в соседние базы при каждом чихе и прочую муйню..
Да нет там ничего такого особенного.

Можно попробовать ТО по одному отключать... Грешу на сканер, там ВК ScanOpos, еще принтер этикеток есть - но, он не у всех, у некоторых, у кого это наблюдается, нет никакого принтера...
А, ну, еще ТСД тоже с ВК, и есть почти у всех.
А остальное - там не должно быть. проблем, остаются только кассы, но они без всяких ВК подключаются, там просто обмен файлами XML.
Название: Re: Зависает 7.7 при выходе?
Отправлено: Djelf от 02 марта 2025, 16:55
Цитата: MWW_Ruza от 02 марта 2025, 13:33Просто зависание идет уже после появления этого вопроса и нажатия на "Да"...
Сомневаюсь что это виновато. Этот код в FormEx лет 10 вроде не менялся,  проблем не было замечено.
Название: Re: Зависает 7.7 при выходе?
Отправлено: Злоп от 03 марта 2025, 01:07
Цитата: MWW_Ruza от 02 марта 2025, 14:13Совсем не могу, оно нужно...
для работы - да, оно нужно.
для выяснения где глючит - оно не нужно.
Название: Re: Зависает 7.7 при выходе?
Отправлено: Злоп от 03 марта 2025, 01:09
#10: рецепт дан. делать надо тупо и просто, избегая неопределенностей. и будет ясно.
мониторь диски. при траблах на дисках может быть похожая ситуация. подвисает/замирает.
Название: Re: Зависает 7.7 при выходе?
Отправлено: ЯнСмит от 03 марта 2025, 10:21
Цитата: MWW_Ruza от 26 февраля 2025, 22:30От чего может происходить сабж?
В какую сторону копать?
А установлен ли для движка 1С режим совместимости WinXPsp3, если нет - настоятельно рекомендую
Название: Re: Зависает 7.7 при выходе?
Отправлено: Djelf от 03 марта 2025, 22:42
Цитата: MWW_Ruza от 01 марта 2025, 22:26отом curl1c (без создания глобальной переменной, естественно, как в редми написано)
В ридми не отмечена важная вешь, libcurl при установке параметров пишет их в коллекцию slist.
 slist дурная коллекция, она при установке параметра дописывает его в slist, а удалить элемент из коллекции slist нельзя.
Из-за этого был сделан метод Карлик.Инит() (который должен был бы чистить slist) но оказалось что он скроее вредит, чем помогает, а скорость создания объекта Карлик не требует его кеширования в глобальной переменной.
Также были переработаны методы кеширования (соединений, передачи ssl сертификатов и т.п.), они теперь не зависят от создания объектов, они глобальные для всей ВК (т.е. работают для любых созданных карликов), что позволило значительно ускорить обмены данных, даже в случае создания новых объектов.
Стресс-тесты в Карлике проходят без изъяна, Карлик - не виноват! Точно, точно ;)
Название: Re: Зависает 7.7 при выходе?
Отправлено: Djelf от 03 марта 2025, 22:52
А вот то что ВК загружаются динамически это плохо!
Так бы ты смог "Техподдержку" выложить, но если динамически...
Можно доработать для скидывания в каталог, при зависании это может помочь, если примерное время известно (скидывание в каталог будет до момента зависания).
Название: Re: Зависает 7.7 при выходе?
Отправлено: Злоп от 04 марта 2025, 00:14
А что значит "ВК загружаются динамически"..?
Название: Re: Зависает 7.7 при выходе?
Отправлено: Djelf от 04 марта 2025, 20:55
Цитата: Злоп от 04 марта 2025, 00:14А что значит "ВК загружаются динамически"..?
Это рудимент старых систем, как пример - нам не нужен вывод в современный xls, мы не подключаем йоксель.
На текущий момент нет уже таких жестких ограничений ни по памяти, ни по ресурсам, чтобы это соблюдать.
Название: Re: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 06 марта 2025, 01:56
Цитата: MWW_Ruza от 02 марта 2025, 13:33(https://content.foto.my.mail.ru/mail/m_w_w/1/i-607.jpg)

Это, как я понимаю, отку-да-то из формекса прилетело? Специально я этого не делал, оно "само" :-)))

Кстати, я заметил, что этот "счетчик" появляется не всегда...
Не уверен, что это как-то влияет на сабжевую проблему, но, когда он не появляется, то после нажатия на "Да", всегда закрытие происходит без зависания. А когда "часики тикают", то эпизодически случаются зависания.
Но возможно, что это "статистическая погрешность".
Но, все равно не понятно, откуда этот таймер берется...
Процедура "ПриЗавершенииРаботыСистемы()" абсолютно стандартная, она там и была "отродясь", я ее не трогал:
// Предопределенная процедура.
//
Процедура ПриЗавершенииРаботыСистемы()
   Если ЗавБезВопроса = 0 Тогда
       Если глЗначениеПоУмолчанию("НеЗапрашиватьПодтверждениеПриВыходе") = 0 Тогда
         Если Вопрос("Вы действительно хотите закрыть программу?","Да+Нет") = "Нет" Тогда
             СтатусВозврата(0);
            Возврат;
         КонецЕсли;       
       КонецЕсли;
      ОткрытьФормуМодально("Обработка.ТорговоеОборудование", "Отключить");
   КонецЕсли;
КонецПроцедуры // ПриЗавершенииРаботыСистемы()

В отключении торгового оборудования, тоже ничего особенного не происходит...
На всякий случай в отключение сканера добавил "Сканер = 0;", понаблюдаю.
Но, все равно, откуда счетчик секунд на "Вопросе" о завершении работы?
Название: Re: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 06 марта 2025, 02:05
Ха... Только сейчас, по картинке и тексту сообщения, заметил, что текст вопроса то разный :-)
Просто картинка и фрагмент модуля из разных конфигураций.
Вот, от той, из которой скриншот:

// Предопределенная процедура.
//
Процедура ПриЗавершенииРаботыСистемы()
   
   Если глЗначениеПоУмолчанию("НеЗапрашиватьПодтверждениеПриВыходе") = 1 Тогда
      Если Вопрос("Закончить работу с программой?", "Да+Нет", 10)="Нет" Тогда
         СтатусВозврата(0);
         Возврат;
      КонецЕсли;
   КонецЕсли;
   
   ОткрытьФормуМодально("Обработка.ТорговоеОборудование", "Отключить");
   
КонецПроцедуры // ПриЗавершенииРаботыСистемы()

И таймер на 10 секунд там есть.
А на форму вопроса его похоже ФормЕкс выводит автоматом, так, как загружен.
Название: Re: Зависает 7.7 при выходе?
Отправлено: Arbuz от 07 марта 2025, 17:20
Попробуй в призавершении обнулять (в порядке обратном созданию) глобальные переменные с объектами. Мне как-то помогло при спорадических падениях на выходе из 1С.
Название: Re: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 07 марта 2025, 23:59
Ок. Попробую.
Название: Re: Зависает 7.7 при выходе?
Отправлено: Злоп от 08 марта 2025, 03:03
Таймер на предупреждение выводит формекс, да
Название: Re: Зависает 7.7 при выходе?
Отправлено: trdm от 08 марта 2025, 11:18
Цитата: Arbuz от 07 марта 2025, 17:20Попробуй в призавершении обнулять (в порядке обратном созданию) глобальные переменные с объектами. Мне как-то помогло при спорадических падениях на выходе из 1С.
Было у меня актуально когда использовал реконекшионз найтив при перепроведении документов. Надо было сбрасывать все "курсоры" блабла = СоздатьОбъект("Спрвочнгик.*")
Название: Re: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 03 мая 2025, 17:04
Вроде победил :-)

И как ни странно, но все-таки это был FormEx...
Везде, где это наблюдалось - стояла какая-то старая, возможно "промежуточная, не релизная" версия.
После обновления до актуальной - проблема зависания при выходе исчезает.
Сказать, какая именно - не могу, всем, с кем часто работаю, заменил на новую.
Да это я думаю и не нужно уже.
Есть новая, проблемы с ней нет, чего о старой вспоминать.
Но, если очень нужно - могу если конечно вылезет у кого-то еще (скорее всего, пока не всем поменял), тогда посмотрю.
Название: Re: Зависает 7.7 при выходе?
Отправлено: Злоп от 04 мая 2025, 21:49
Ну это трындец. Формекс ставить надо гдето после 138 версии, а лучше 198 или 199
Название: Re: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 05 мая 2025, 16:40
Само собой разумеется!
Но, не всегда же эти версии были.
Ставилось 100 лет назад, какой был на тот момент, и с тех пол не менял, так, как ничего нового в конфу не добавлял, что требует обновление ФормЕкса...
Ну, 138, это ты загнул... Сейчас пробежался по всем копиям баз, какие есть - самый старый нашел 142...
Но, думаю, там еде фокусы с выходом были, релизы свежее были, что-нибудь 170+...
Помню, массово обновлял, когда в него Алексей добавил метод "НарисоватьШтрихКод". Какой это релиз был, х.з... Но, давно это было.
Название: Re: Зависает 7.7 при выходе?
Отправлено: Arbuz от 05 мая 2025, 17:31
Да, последние версии существенно стабильней, не говоря уже про функционал. У меня в проде стоит 199.

Цитата: Злоп от 15 января 2025, 21:23Или хотя бы 200 с зафиксированным перечнем известных, но непоправленных "проблем"..?
Ждём демиурга и надеемся.  ::)

Кстати, надо как-то собрать в одном месте этот перечень...