Утечки памяти
|
|
vovakorova1976 | Дата: Среда, 25.01.2023, 05:19 | Сообщение # 1 |
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 12
Статус: Оффлайн
| При открытии Динамического списка (в частности регистра сведений) с огромным количеством записей, 1С выбирает всю доступную оперативную память и прекращает работу.

Платформа: 8.3.10.2466 Режим БД: клиент-серверный Конфигурация. Название: Нетиповая Конфигурация. Основной режим запуска: Обычное приложение Конфигурация. Вариант встроенного языка: Русский Конфигурация. Режим управления блокировкой данных: Управляемый Конфигурация. Режим совместимости: Версия8_3_9 Конфигурация. Режим использования синхронных вызовов: Использовать Инструменты разработчика. Версия: Портативный 6.61.1p Инструменты разработчика. Инструмент: Прочее Инструменты разработчика. Перехват клавиатурного ввода: Да Инструменты разработчика. Объекты на сервере: Нет Инструменты разработчика. Серверный модуль: Нет Клиент. Приложение: Обычное приложение 64б Клиент. Проверка модальных вызовов: Нет Клиент. Язык интерфейса конфигурации: ru Клиент. Язык интерфейса системы: ru_RU Клиент. Отладка разрешена: Да Клиент. Постоянный кэш метаданных: Да Клиент. ОС: Майкрософт Windows 10 Pro 64-разрядная Русский Клиент. ОС от имени администратора: Нет Клиент. ОС Текущая кодовая страница: 866 Клиент. ОС выполнение BAT: Да Клиент. ОС пинг сервера: 0мс
|
|
| |
tormozit | Дата: Среда, 25.01.2023, 06:53 | Сообщение # 2 |
Генералиссимус
Группа: Администраторы
Сообщений: 6914
Репутация: 181
Статус: Оффлайн
| Запусти отладку и включи замер производительности. Открой в динамическом списке ИР регистр сведений, в котором большое количество строк (желательно 1-5 млн). Передай мне замер производительности, если длительность операции будет значительной.
Если же на таком регистре список откроется быстро, тогда покажи все поля первого (огромного) регистра с типами. Если там есть тип ХранилищеЗначения или Строка(0), то еще нужен размер хранения таблицы в БД. Его можно смотри в "Структура хранения БД".
|
|
| |
vovakorova1976 | Дата: Пятница, 27.01.2023, 05:08 | Сообщение # 3 |
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 12
Статус: Оффлайн
| Цитата tormozit (  ) в котором большое количество строк (желательно 1-5 млн). Передай мне замер производительности, если длительность операции будет значительной. Внезапно, оказалось, другой регистр даже 21млн строк открылся моментально. Значит проблема именно с конкретным регистром.
В проблемном 4 249 316 записей, описание полей регистра во вложении. Кроме "строка(100)" всё остальное ссылки на справочники/документы, даты, булево. Размер таблицы БД получить немного сложно, если до сих пор надо, запрошу у сисадминов учетные данные к серверу SQL.
ps: Не знаю это баг или только у меня так - если поставить галочку "Показывать размеры", после в диалоге ввода логина/пароля нажать отмена - 1с зависает, в строке состояния пишет "Сбор статистики таблиц". (мимоходом, к делу не относится)
Сообщение отредактировал vovakorova1976 - Пятница, 27.01.2023, 05:16 |
|
| |
tormozit | Дата: Пятница, 27.01.2023, 07:49 | Сообщение # 4 |
Генералиссимус
Группа: Администраторы
Сообщений: 6914
Репутация: 181
Статус: Оффлайн
| В твоем регистре есть поле типа "ДокументСсылка" (имя=ДокОснование), которое порождает неявное соединение со всеми таблицами документов. Думаю что проблема как то связана с ним. 1. Попробуй проверить под пользователем у которого нет права на чтение этого поля. 2. Попробуй выбрать запросом Представление(Регистр.ДокОснование) из всех строк регистра. В стандартной форме списка этого регистра все поля отображаются? По зависанию структуры хранения БД нужно создать отдельную заявку.
|
|
| |
vovakorova1976 | Дата: Пятница, 27.01.2023, 09:12 | Сообщение # 5 |
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 12
Статус: Оффлайн
| >> В твоем регистре есть поле типа "ДокументСсылка" (имя=ДокОснование), которое порождает неявное соединение со всеми таблицами документов. Думаю что проблема как то связана с ним.1. Попробуй проверить под пользователем у которого нет права на чтение этого поля
после ограничения доступа к полю, регистр под пользователем открылся мгновенно (в ИР)!
>>стандартной форме списка этого регистра все поля отображаются?
да, там управляемая форма, но в обычном приложении.
>> Попробуй выбрать запросом Представление(Регистр.ДокОснование) из всех строк регистра.
относительно шустро.
Сообщение отредактировал vovakorova1976 - Пятница, 27.01.2023, 09:28 |
|
| |
vovakorova1976 | Дата: Пятница, 27.01.2023, 09:41 | Сообщение # 6 |
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 12
Статус: Оффлайн
| Фактически такой запрос приводит к зависанию (где ДокОснование = ДокументСсылка любого вида). Хотя странно, тут же нет переполнения памяти все равно.
Сообщение отредактировал vovakorova1976 - Пятница, 27.01.2023, 09:43 |
|
| |
tormozit | Дата: Пятница, 27.01.2023, 13:31 | Сообщение # 7 |
Генералиссимус
Группа: Администраторы
Сообщений: 6914
Репутация: 181
Статус: Оффлайн
| Цитата vovakorova1976 (  ) после ограничения доступа к полю, регистр под пользователем открылся мгновенно Очень похоже на ошибку платформы. Проверь еще с включенным доступом к полю в режиме файловой базы, если конечно размер БД позволяет. Если воспроизведется, то проверь еще на более свежих версиях платформы. Если же в файловую базу загрузить выгрузку базы не получится, то при наличии тестового сервера приложений можо на нем установить более свежую версию платформы и проверить на ней. Еще есть вероятность что включив техножурнал на сбор запросов длительностью более 2-х секунд, ты сможешь глубже понять причину.
|
|
| |