Страница 1 из 1

ODAC 10.0.2 TOraSession:Connect/Disconnect causes memory leak

Добавлено: Пн 01 окт 2018 15:15
EugeneLaz
Добрый день!
Мы используем 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
Но ответа, как исправить так и не нашли.

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

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

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

Добавлено: Ср 03 окт 2018 09:48
EugeneLaz
При использовании 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;

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

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

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

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

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

Добавлено: Пн 03 дек 2018 12:41
MaximG
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

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

Добавлено: Чт 10 окт 2019 09:22
Valery77
Утечка памяти происходит при многократном неуспешном подключении (и отключении) к базе данных.
утечка 1Mb - 100 попыток подключений (C#, Devart.Data v.5.0.2262.0, Devart.Data.Oracle v. 9.8.838.0)

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

Добавлено: Чт 17 окт 2019 16:16
MaximG
Согласно Вашего описания Вы используете Devart ADO.NET Provider for Oracle. Пожалуйста, задайте интересующий Вас вопрос в англоязычной ветке нашего форума по этому продукту : https://forums.devart.com/viewforum.php?f=1