ODAC 10.0.2 TOraSession:Connect/Disconnect causes memory leak

Обсуждение возникших проблем, предложений и ошибок ODAC компонентов

Ответить
EugeneLaz
Сообщения: 3
Зарегистрирован: Пн 01 окт 2018 14:31

ODAC 10.0.2 TOraSession:Connect/Disconnect causes memory leak

Сообщение EugeneLaz » Пн 01 окт 2018 15:15

Добрый день!
Мы используем Lazarus v1.6 (fpc 3.0.0), ODAC 10.0.2, Oracle Client 11.2
У нас в программе по таймеру (5 минут) происходит обработка данных, при этом осуществляется orasession.connect, выполняются запросы, формирование файлов и затем orasession.disconnect. Опытным путем выяснили, что происходит утечка памяти при множественных connect/disconnect.
Чтобы сузить круг поисков написали тестовое приложение, в котором по таймеру делается только Connect/disconnect. И утечки продолжаются. Подскажите, пожалуйста, с чем это может быть связано?
На форуме нашли сходные темы, но о более старых версиях. Например: https://forums.devart.com/viewtopic.php?t=13319
Но ответа, как исправить так и не нашли.

MaximG
Devart Team
Сообщения: 91
Зарегистрирован: Пн 06 июл 2015 12:51

Re: ODAC 10.0.2 TOraSession:Connect/Disconnect causes memory leak

Сообщение MaximG » Вт 02 окт 2018 16:08

Мы проверили работу ODAC согласно Вашего описания и не обнаружили проблем. Пожалуйста поясните, имеется ли Вас возможность проверить аналогичное поведение при использовании последней версии ODAC 10.2.7 на Lazarus 1.8.4 ? Наблюдаются ли утечки памяти при использовании Direct Mode ?

EugeneLaz
Сообщения: 3
Зарегистрирован: Пн 01 окт 2018 14:31

Re: ODAC 10.0.2 TOraSession:Connect/Disconnect causes memory leak

Сообщение EugeneLaz » Ср 03 окт 2018 09:48

При использовании Direct Mode утечек памяти не наблюдается. К сожалению, проверить аналогичное поведение при использовании ODAC 10.2.7 на Lazarus 1.8.4 в данный момент не представляется возможным.
На всякий случай напишу, с какими параметрами мы создаем сессию (не в Direct Mode режиме):
в конструкторе:
OraSession := TOraSession.Create(nil);
OraSession.Server := 'TESTSERVER';
OraSession.Username := 'MY_USER';
OraSession.Password := 'MY_PASSWORD';
OraSession.ThreadSafety := true;
в цикле:
OraSession.Connect;
OraSession.Disconnect;
в деструкторе:
OraSession.Free;

MaximG
Devart Team
Сообщения: 91
Зарегистрирован: Пн 06 июл 2015 12:51

Re: ODAC 10.0.2 TOraSession:Connect/Disconnect causes memory leak

Сообщение MaximG » Чт 04 окт 2018 15:15

Мы не смогли воспроизвести описываемую Вами проблему в своем тестовом окружении. Пожалуйста, проверьте наличие утечек памяти с использованием ODAC 10.2.7 Trial Edition когда у Вас появится такая возможность

EugeneLaz
Сообщения: 3
Зарегистрирован: Пн 01 окт 2018 14:31

Re: ODAC 10.0.2 TOraSession:Connect/Disconnect causes memory leak

Сообщение EugeneLaz » Вт 16 окт 2018 07:29

Добрый день. Мы поставили Trial version 10.2.7 на lazarus 1.6.4. Ситуация с утечками та же, что и с более ранней версией ODAC. К сожалению сейчас нет возможности поставить более позднюю версию lazarus (1.8.4) и проверить на ней. Очень жаль, что вы ничем не можете помочь.

MaximG
Devart Team
Сообщения: 91
Зарегистрирован: Пн 06 июл 2015 12:51

Re: ODAC 10.0.2 TOraSession:Connect/Disconnect causes memory leak

Сообщение MaximG » Пн 03 дек 2018 12:41

26 ноября вышла новая версия нашего продукта ODAC 10.3.8 с полным списком изменений в которой можно ознакомиться по ссылке : https://www.devart.com/odac/whatsnew.html
Мы стараемся помочь каждому нашему клиенту и решить любой вопрос, касающийся работы наших компонентов. Если у Вас есть такая возможность, проверьте воспроизведение описываемой Вами проблемы с использованием ODAC 10.3.8. Если проблема по прежнему будет иметь место, пришлите нам используемый Вами полный тестовый пример, с помощью которого Вы обнаруживаете утечки памяти. Прислать исходный код такого примера удобно посредством формы e-support https://www.devart.com/company/contactform.html

Ответить