Имя: Пароль:
1C
1С v8
Утечка памяти
0 Armando
 
15.11.13
19:27
Всем пятницы!

Уважаемые, имею проблему. При выполнении некой операции наблюдаю как rphost жрет память гигабайтами и очень быстро. А когда жрать больше нечего он умирает. А 1С говорит, что соединение с сервером разорвано.
Ну я тех. журнал настроил, а там в LEAKS вот что пишет:

EnumManager.СпособыРаспределенияДопРасходов:
ОбщийМодуль.инжОбменДаннымиРКССервер.Модуль : 11 : DT_UploadDogResponse = ПолучитьДанныеДоговоров(ТаблицаДоговоров, БезСумм, Прокси);
    ОбщийМодуль.инжОбменДаннымиРКССервер.Модуль : 497 : ДобавитьСделкиРеализацииТоваровУслуг(МенеджерВременныхТаблиц, ТаблицаСделок, ПоВсемСделкам);
        ОбщийМодуль.инжОбменДаннымиРКССервер.Модуль : 990 : ОбработатьКонтролируемуюСделку(ТаблицаСделок, КонтролируемыеСделкиВыборка, СделкиДокумента);
            ОбщийМодуль.инжОбменДаннымиРКССервер.Модуль : 5171 : ТипыПредметовКонтролируемыхСделокТовар = Перечисления.ТипыПредметовКонтролируемыхСделок.Товар;

И это повторяется 100500 раз. Меняется только "EnumManager.СпособыРаспределенияДопРасходов". Судя по всему это повторяется на каждый вид перечисления. Это нормально?
Есть там еще пара моментов, но пока меня вышеозвученное больше волнует.

Я так понял проблема в этом "ТипыПредметовКонтролируемыхСделокТовар = Перечисления.ТипыПредметовКонтролируемыхСделок.Товар". Да?
Конкретно эта строка выполняется в цикле 100500 раз. Потом эта переменная в цикле обхода ТЗ сравнивается со значением в строке этой ТЗ.
Неужели проблема в этом? И что с этим делать?
1 vii88
 
15.11.13
19:37
это в какой конфе?
2 vii88
 
15.11.13
19:39
это не утечка памяти, а кто-то слишком много ест
3 Armando
 
15.11.13
19:40
(1) Бух КОРП, но конкретно эти модули свои. Ну как свои. Я их создал, но код там из подсистемы контролируемых сделок со своими костылями.
4 Armando
 
15.11.13
19:41
(2) Ну там таблица значений еще собирается. хз сколько строк, надо посчитать. А почему тогда leaks?
5 etc
 
15.11.13
20:00
(2) поясни
6 shuhard
 
15.11.13
20:14
(3)  а каким боком контролируемые сделки могли попасть в обмен ?
7 Armando
 
15.11.13
20:15
Короче, я у себя ошибку нашел. В запросе строки множились... потом это выгружалось в ТЗ и дальше крутилось.
Проблема ушла с памятью все ОК.

Но эти записи в ТЖ меня напрягли. Только сейчас изменился уровень события в стеке текущего потока. Был 5 стал 1. ХЗ что это значит.
8 Fragster
 
модератор
15.11.13
20:16
разве это не просто кэш?
9 Armando
 
15.11.13
20:17
(6) У нас данные по сделкам грузятся в другую систему. Там анализируются и оттуда уже уведомления в налоговую формируют. Вот я чтоб далеко не ходить взял алгоритм из типовой подсистемы.
10 Armando
 
15.11.13
20:18
(8) В смысле?
11 shuhard
 
15.11.13
20:22
(9) алгоритмы заполнения контролируемых сделок и обмен как связаны ?
12 Armando
 
15.11.13
20:30
(11) По этому алгоритму собираются данные для передачи в другую систему
2 + 2 = 3.9999999999999999999999999999999...