SASGIS - SAS.Планета
View Issue Details
0003450SAS.Планета[All Projects] Багpublic03-06-2019 18:4018-03-2020 17:04
zed 
zed 
normalminorhave not tried
resolvedfixed 
190707 
191221191221 
0003450: Утечка памяти в TB2Toolbar
Заметил непонятно откуда взявшуюся утечку памяти (не удаляется хук?) в TB2Toolbar.

Есть идеи из-за чего она появилась и как победить?
No tags attached.
has duplicate 0003634closed zed Ошибка утечки памяти при закрытии программы 
related to 0003466resolved zed Закрытие программы происходит с ошибкой: FastMM has detected a GetMem call after FastMM was uninstalled 
? SASPlanet.Debug.elf (1,761) 03-06-2019 18:40
https://bugtracker.sasgis.org/file_download.php?file_id=2300&type=bug
Issue History
03-06-2019 18:40zedNew Issue
03-06-2019 18:40zedFile Added: SASPlanet.Debug.elf
03-06-2019 20:34zedNote Added: 0018723
03-06-2019 20:38zedNote Edited: 0018723bug_revision_view_page.php?bugnote_id=18723#r7414
04-06-2019 06:18vdemidovNote Added: 0018724
04-06-2019 07:10zedNote Added: 0018725
04-06-2019 07:13zedNote Edited: 0018725bug_revision_view_page.php?bugnote_id=18725#r7416
04-06-2019 07:34vdemidovNote Added: 0018728
04-06-2019 07:45zedNote Added: 0018729
08-07-2019 09:37vdemidovProduct Version.Nightly => 190707
10-07-2019 10:08zedRelationship addedrelated to 0003466
01-12-2019 15:48zedNote Added: 0019525
01-12-2019 15:48zedStatusnew => resolved
01-12-2019 15:48zedFixed in Version => 191221
01-12-2019 15:48zedResolutionopen => fixed
01-12-2019 15:48zedAssigned To => zed
01-12-2019 15:49zedTarget Version => 191221
18-03-2020 17:04zedRelationship addedhas duplicate 0003634

Notes
(0018723)
zed   
03-06-2019 20:34   
(edited on: 03-06-2019 20:38)
В билде 190524.9946 утечки нету, а в следующем (190528.9953) уже есть.

Единственное, что приходит в голову - в этом промежутке обновлялась библиотека gnugettext.

(0018724)
vdemidov   
04-06-2019 06:18   
Идей нет, разве что попробовать бисектом пройтись и точно выяснить коммит, в котором утечка появилась.
(0018725)
zed   
04-06-2019 07:10   
(edited on: 04-06-2019 07:13)
Выяснил точно - появляется вот тут:
Changeset: 9949 (7f4d29cf3035) Обновление gettext из svn


(0018728)
vdemidov   
04-06-2019 07:34   
Ясно. А во всех версиях Delphi проявляется?
(0018729)
zed   
04-06-2019 07:45   
За все не скажу, но в D2007 и в 10.3 - есть.
(0019525)
zed   
01-12-2019 15:48   
Исправил. Оказалось, что из-за неправильной декларации хука (class function вместо метода класса), внутри Vcl.Forms не срабатывала проверка наличия переданного хука в списке зарегистрированных:

procedure TApplication.UnhookMainWindow(Hook: TWindowHook);
...
if (TMethod(WindowHook^).Code = TMethod(Hook).Code) and
   (TMethod(WindowHook^).Data = TMethod(Hook).Data) then

и он, соответственно, не удалялся.