[Lazarus] LHelp memory leak
Juha Manninen
juha.manninen62 at gmail.com
Mon Feb 15 12:36:11 CET 2021
I finally configured LHelp as a CHM help viewer in my development Lazarus.
I downloaded Marco's CHM snapshots linked here:
https://forum.lazarus.freepascal.org/index.php/topic,52437.0.html
There are 2 updates from Andrey Sobol. I downloaded them, too.
LHelp opens correctly, although slowly for the first time.
There is a strange flicker. First an empty window shows up, then it
disappears. A little later the actual help window with contents shows.
Anyway, then it works well and the documentation itself has improved, too.
Nice!
When I close LHelp, it asks if I really want to do it. Yes, I want it.
Then LHelp leaks memory. See below.
IIRC it does not leak when I start it standalone. It is caused by the IDE
integration.
Andrey Sobol and everybody who develops LHelp, please use the Debug
buildmode I added there some time ago. All debug flags should be on when
developing code.
I tested with Linux 64-bit. IDE is built with LCL-QT5, I guess the same is
used for LHelp.
Juha
---
Heap dump by heaptrc unit of
/home/juha/SW/lazarus_trunk/components/chmhelp/lhelp/lhelp
2104258 memory blocks allocated : 408948350/417932920
2104238 memory blocks freed : 408947390/417931960
20 unfreed memory blocks : 960
True heap size : 2686976
True free heap : 2681536
Should be : 2682176
Call trace for block $00007FE448ECC900 size 96
$000000000051AEEA PROCESSASYNCCALLQUEUE, line 1066 of
include/application.inc
$0000000000518ABB PROCESSMESSAGES, line 419 of include/application.inc
$000000000089ED50 DOLOADURI, line 458 of chmcontentprovider.pas
$00000000008A28FC LOADURL, line 1299 of chmcontentprovider.pas
$000000000052C828 OPENURL, line 1110 of lhelpcore.pas
$000000000052AE5D SERVERMESSAGE, line 813 of lhelpcore.pas
$00000000006F26AE DOONTIMER, line 179 of customtimer.pas
$00000000006F2519 TIMER, line 151 of customtimer.pas
$00000000007513D1 SIGNALTIMEOUT, line 4706 of qt5/qtobjects.pas
$00007FE4713AFE10
$00007FE4713B3E4B
$00007FE4713B3E4B
$00007FE4713B3E4B
Call trace for block $00007FE448ECBF00 size 96
$000000000051AEEA PROCESSASYNCCALLQUEUE, line 1066 of
include/application.inc
$0000000000518ABB PROCESSMESSAGES, line 419 of include/application.inc
$000000000089F6D9 QUEUEFILLTOC, line 602 of chmcontentprovider.pas
$000000000089F290 NEWCHMOPENED, line 539 of chmcontentprovider.pas
$00000000008DB878
$00000000008A27E7 LOADURL, line 1278 of chmcontentprovider.pas
$000000000052CA58 OPENURL, line 1137 of lhelpcore.pas
$000000000052AE5D SERVERMESSAGE, line 813 of lhelpcore.pas
$00000000006F26AE DOONTIMER, line 179 of customtimer.pas
$00000000006F2519 TIMER, line 151 of customtimer.pas
$00000000007513D1 SIGNALTIMEOUT, line 4706 of qt5/qtobjects.pas
$00007FE4713AFE10
$00007FE4713B3E4B
$00007FE4713B3E4B
Call trace for block $00007FE4484FC600 size 32
$000000000051AEEA PROCESSASYNCCALLQUEUE, line 1066 of
include/application.inc
$0000000000518ABB PROCESSMESSAGES, line 419 of include/application.inc
$000000000089ED50 DOLOADURI, line 458 of chmcontentprovider.pas
$00000000008A28FC LOADURL, line 1299 of chmcontentprovider.pas
$000000000052CA58 OPENURL, line 1137 of lhelpcore.pas
$000000000052AE5D SERVERMESSAGE, line 813 of lhelpcore.pas
$00000000006F26AE DOONTIMER, line 179 of customtimer.pas
$00000000006F2519 TIMER, line 151 of customtimer.pas
$00000000007513D1 SIGNALTIMEOUT, line 4706 of qt5/qtobjects.pas
$00007FE4713AFE10
$00007FE4713B3E4B
$00007FE4713AFE10
$00007FE4713B3E4B
Call trace for block $00007FE4484FD600 size 24
$000000000051AEEA PROCESSASYNCCALLQUEUE, line 1066 of
include/application.inc
$0000000000518ABB PROCESSMESSAGES, line 419 of include/application.inc
$000000000089ED50 DOLOADURI, line 458 of chmcontentprovider.pas
$00000000008A28FC LOADURL, line 1299 of chmcontentprovider.pas
$000000000052CA58 OPENURL, line 1137 of lhelpcore.pas
$000000000052AE5D SERVERMESSAGE, line 813 of lhelpcore.pas
$00000000006F26AE DOONTIMER, line 179 of customtimer.pas
$00000000006F2519 TIMER, line 151 of customtimer.pas
$00000000007513D1 SIGNALTIMEOUT, line 4706 of qt5/qtobjects.pas
$00007FE4713AFE10
$00007FE4713B3E4B
$00007FE4713B3E4B
$00007FE4713AFE10
$00007FE4713B3E4B
Call trace for block $00007FE4484FDB00 size 40
$000000000051AEEA PROCESSASYNCCALLQUEUE, line 1066 of
include/application.inc
$0000000000518ABB PROCESSMESSAGES, line 419 of include/application.inc
$000000000089ED50 DOLOADURI, line 458 of chmcontentprovider.pas
$00000000008A28FC LOADURL, line 1299 of chmcontentprovider.pas
$000000000052CA58 OPENURL, line 1137 of lhelpcore.pas
$000000000052AE5D SERVERMESSAGE, line 813 of lhelpcore.pas
$00000000006F26AE DOONTIMER, line 179 of customtimer.pas
$00000000006F2519 TIMER, line 151 of customtimer.pas
$00000000007513D1 SIGNALTIMEOUT, line 4706 of qt5/qtobjects.pas
$00007FE4713AFE10
$00007FE4713B3E4B
$00007FE4713B3E4B
$00007FE4713AFE10
$00007FE4713B3E4B
Call trace for block $00007FE450058A00 size 96
$000000000051AEEA PROCESSASYNCCALLQUEUE, line 1066 of
include/application.inc
$0000000000518ABB PROCESSMESSAGES, line 419 of include/application.inc
$000000000089F6D9 QUEUEFILLTOC, line 602 of chmcontentprovider.pas
$000000000089F290 NEWCHMOPENED, line 539 of chmcontentprovider.pas
$00000000008DB878
$00000000008A27E7 LOADURL, line 1278 of chmcontentprovider.pas
$000000000052CA58 OPENURL, line 1137 of lhelpcore.pas
$000000000052AE5D SERVERMESSAGE, line 813 of lhelpcore.pas
$00000000006F26AE DOONTIMER, line 179 of customtimer.pas
$00000000006F2519 TIMER, line 151 of customtimer.pas
$00000000007513D1 SIGNALTIMEOUT, line 4706 of qt5/qtobjects.pas
$00007FE4713AFE10
$00007FE4713B3E4B
$00007FE4713B3E4B
Call trace for block $00007FE4500D8780 size 96
$000000000051AEEA PROCESSASYNCCALLQUEUE, line 1066 of
include/application.inc
$0000000000518ABB PROCESSMESSAGES, line 419 of include/application.inc
$000000000089F6D9 QUEUEFILLTOC, line 602 of chmcontentprovider.pas
$000000000089F290 NEWCHMOPENED, line 539 of chmcontentprovider.pas
$00000000008DB878
$00000000008A27E7 LOADURL, line 1278 of chmcontentprovider.pas
$000000000052CA58 OPENURL, line 1137 of lhelpcore.pas
$000000000052AE5D SERVERMESSAGE, line 813 of lhelpcore.pas
$00000000006F26AE DOONTIMER, line 179 of customtimer.pas
$00000000006F2519 TIMER, line 151 of customtimer.pas
$00000000007513D1 SIGNALTIMEOUT, line 4706 of qt5/qtobjects.pas
$00007FE4713AFE10
$00007FE4713B3E4B
$00007FE4713B3E4B
Call trace for block $00007FE413581100 size 32
$000000000051AEEA PROCESSASYNCCALLQUEUE, line 1066 of
include/application.inc
$0000000000518ABB PROCESSMESSAGES, line 419 of include/application.inc
$000000000089ED50 DOLOADURI, line 458 of chmcontentprovider.pas
$00000000008A28FC LOADURL, line 1299 of chmcontentprovider.pas
$000000000052CA58 OPENURL, line 1137 of lhelpcore.pas
$000000000052AE5D SERVERMESSAGE, line 813 of lhelpcore.pas
$00000000006F26AE DOONTIMER, line 179 of customtimer.pas
$00000000006F2519 TIMER, line 151 of customtimer.pas
$00000000007513D1 SIGNALTIMEOUT, line 4706 of qt5/qtobjects.pas
$00007FE4713AFE10
$00007FE4713B3E4B
$00007FE4713B3E4B
$00007FE4713AFE10
$00007FE4713B3E4B
--- and so on ---
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20210215/a0e66b43/attachment.html>
More information about the lazarus
mailing list