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

Author Message
uzza 01/29/2011 06:17 pm
Обнаруживается утечка памяти. Симптомы похожи на этот пост http://www.metaproducts.com/forum/Post.aspx?id=1651

Offline Explorer Enterprise вылетает после обработки порядка 30000 файлов.

Текст ошибки:
---------------------------
Application Error
---------------------------
Exception EAccessViolation in module OE.exe at 00008303.
Access violation at address 00408303 in module 'OE.exe'. Write of address 00000004.


Проект

[Object]
OEVersion=Enterprise 5.8.0.3196
Type=0
IID=7011
Caption=http://gelbooru.com/index.php?page=post&s=list&tags=pani_poni_dash&pid={:0..1175|25}
URL=LogFile=c:\download\oe.loghttp://gelbooru.com/index.php?page=post&s=list&tags=pani_poni_dash&pid={:0..1175|25}
Lev=2
Weekday=257
LimTSize=10000
LimNumber=5000
LimTime=100
EnableForms=True
FMGroup=2
LTMethod=1
pswMethod=1
FTText.Exts=htmlhtmaspaspxjspstmstmlidcshtmlhtxtxttextxspxmlrxmlcfmwmlphpphp3
FTImages.Exts=gifjpgjpegtiftiffxbmfifbmppngipxjp2j2cj2kwbmplwf
FTVideo.Exts=mpgavianimpegmovflvfliflcvivrmramrvasfasxwmvm1vm2vvobsmil
FTAudio.Exts=wavriffmp3midmp2m3uravocwmaape
FTArchive.Exts=ziparcgzzarjlhalayleirarcabtarpakacejarpdftgz
FTUDef.Exts=jscssssivbsdtdxslswfclassent
FTText.B=xoxooo
FTImages.B=ooxooo
FTVideo.B=xoxooo
FTAudio.B=xoxooo
FTArchive.B=xoxooo
FTUDef.B=xoxooo
FTOther.B=xoxooo
FTSizes=0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0
NotIgnoreLogout=False
RSrvsBx=1
RProt=255
LastStart=68:54:85:53:161:207:227:64:
LastEnd=80:30:239:51:161:207:227:64:
LastStarted=30.01.2011 0:54:22
LastEnded=30.01.2011 0:54:07
S200=6260
S304=1355
S400=21
SAbr=7
SPar=15568
SSav=16
SLast=200
SSiz=201334
SMdf=16
LFiles=7771
LSize=530424351
Flags=1
CFKeywords="pani poni dash" "pani poni" "paniponi"
ImgDim=-151,-1000,-151,-1000
PrevURL=http://gelbooru.com/index.php?page=post&s=list&tags=pani_poni_dash&pid=0
ExploreSSMaps=True
ParseComplexScripts=True
LIndexed=True
IndexFiles=False

(выкачивание картинок по тэгу)

При работе выделенный виртуальный обем процесса растет непрерывно, доходя до 2гб. Соответственно выходим за рамки 32бит адресации и вылетаем. Физический обьем сохраняется на уровне ~150мб.

В очереди остается ~200000 файлов. В папке Queue остается порядка 200 файлов общим размером на 100 метров.
После перезапуска проект можно продолжить, все сохраняется.

Воспроизводится на версиях enterprise 5.3, 5.8 sr1 и sr2, portable 5.8 и 5.9.

OS Win7 x64, 4gb ram

Oleg Chernavin 02/01/2011 02:34 pm
Попробуйте запустить программу из командной строки:

oe.exe /NoMap /NoDB

Будет ли повторяться такая утечка памяти?

Спасибо!

Best regards,
Oleg Chernavin
MP Staff
uzza 02/02/2011 02:18 pm
oe.exe /NoMap /NoDB

Утечка воспроизводится без изменений, и заканчивается вылетом примерно за то же время.

Также, проверено на версии Offline Explorer Enterprise 5.9 sr2 и WinXP, 512мб - аналогичное поведение.
uzza 02/03/2011 01:59 pm
При отключении опции "Обработка - Вычислять выражения в скриптах" утекать вроде перестает. Виртуальный объем растет, но не так быстро, до 2гб будет расти намного дольше, если будет. При обработанных 150 000+ файлах виртуальный объем около 700 мб.
Oleg Chernavin 02/03/2011 02:08 pm
Да, я как раз тоже обнаружил такое поведение. Работаю над этим. Надеюсь, на этой неделе исправлю обработку скриптов.

Олег.
Oleg Chernavin 02/03/2011 03:47 pm
Исправил утечку. Вот новая версия:

http://www.metaproducts.com/download/betas/OEE3316.ZIP

Олег.