Утечка памяти в XControl

Обсуждение, связанное с разработкой ПО верхнего уровня
Ответить
ujin1
adviser
adviser
Сообщения: 231
Зарегистрирован: 06 ноя 2020, 15:37
Версия LabVIEW: 19
Благодарил (а): 18 раз
Поблагодарили: 37 раз
Контактная информация:

Утечка памяти в XControl

Сообщение ujin1 »

Создал приложение с XControl. Через несколько дней программа останавливается по нехватке памяти в компьютере.
Выявил, что при чтении двоичного свойства XControl возникает небольшая утечка памяти.
Создал тестовый XControl с двумя переменными в State.
При чтении свойства boolean утечка сразу видна. При чтении numeric нет.
Утечка есть в среде разработки LV19 под win10 и в скомпилированном *.exe под win 7 embedded.
Xcontrol.zip
(72.87 КБ) 59 скачиваний
Xcontol15.zip
(65.34 КБ) 62 скачивания
Если не использовать чтение свойств утечки нет.
Можно конечно не использовать XControl, но хотелось бы разобраться. Вроде тот же класс.
По форумам поискал. Менял boolean из панелей classic, system.
Прошу помочь разобраться.
Изображение
Artem.spb

Activity Автор
professor
professor
Сообщения: 3394
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Утечка памяти в XControl

Сообщение Artem.spb »

В LV15 утечки не вижу.
В оригинале логика именно такая, или всё же есть какие-то операции? В вашем тесте вообще ничего не происходит при чтении/записи параметров, но обычно же они для чего-то нужны. Может, в этих действиях утечка и прячется?
Аватара пользователя
jane_wild
master
master
Сообщения: 459
Зарегистрирован: 30 июн 2016, 02:11
Версия LabVIEW: 2020
Благодарил (а): 83 раза
Поблагодарили: 15 раз
Контактная информация:

Re: Утечка памяти в XControl

Сообщение jane_wild »

Windows 10, LabVIEW 2020 Запустила test.vi, открыла Task Manager. Наблюдаю утечку памяти при чтении свойств как Boolean, так и Numeric
ujin1
adviser
adviser
Сообщения: 231
Зарегистрирован: 06 ноя 2020, 15:37
Версия LabVIEW: 19
Благодарил (а): 18 раз
Поблагодарили: 37 раз
Контактная информация:

Re: Утечка памяти в XControl

Сообщение ujin1 »

Artem.spb писал(а): 17 июн 2021, 15:16 В LV15 утечки не вижу.
В оригинале логика именно такая, или всё же есть какие-то операции? В вашем тесте вообще ничего не происходит при чтении/записи параметров, но обычно же они для чего-то нужны. Может, в этих действиях утечка и прячется?
В оригинале есть другие операции. Я их все убрал. Оставил только те элементы, которые не могут глючить.
Утечка не определяется в Labview. В менджере задач Windows видно если повысить скорость и увеличить количество элементов.
При опросе 3х элементов 10 раз в секунду память переполняется примерно через неделю или меньше.
Работаю с 19 версией.
Изображение
Artem.spb

Activity Автор
professor
professor
Сообщения: 3394
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Утечка памяти в XControl

Сообщение Artem.spb »

Запусти 18, пока утечки тоже не наблюдаю, есть скачки +/-, пусть поработает.
Но если утечка идёт именно в таком виде, без всяких действий, то это совсем печально.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3394
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Утечка памяти в XControl

Сообщение Artem.spb »

5 часов, я уже и забыл про неё, никаких утечек...
тестирую на 18й, win10.
Выглядит это подозрительно.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3394
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Утечка памяти в XControl

Сообщение Artem.spb »

Заинтриговали, пошёл гуглить..
Вот что нашёл
И там у меня память не уползает.
Включил "advanced>synchronous display" и всё быстро упало. Так что это один из рецептов (судя по посту не 100%ый)
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Утечка памяти в XControl

Сообщение Borjomy_1 »

Тестовый пример под LV2017 показывает загрузку процессора 25%-30% (у меня нагруженная видеообработка столько потребляет)
ujin1
adviser
adviser
Сообщения: 231
Зарегистрирован: 06 ноя 2020, 15:37
Версия LabVIEW: 19
Благодарил (а): 18 раз
Поблагодарили: 37 раз
Контактная информация:

Re: Утечка памяти в XControl

Сообщение ujin1 »

Artem.spb писал(а): 17 июн 2021, 22:58 Заинтриговали, пошёл гуглить..
Вот что нашёл
И там у меня память не уползает.
Включил "advanced>synchronous display" и всё быстро упало. Так что это один из рецептов (судя по посту не 100%ый)
Включил "advanced>synchronous display" утечка прекратилась.
Поскольку непонятно как работает XControl перенес нужное свойство из State.ctl в Data.ctl. Тип элемента стал cluster и утечки прекратились.
Пока информации по работе этого элемента недостаточно и времени на эксперименты нет.
Изображение
Ответить

Вернуться в «Лицевая панель»