Boggle. FontInstall leaks like a sieve
nemo (145) 2546 posts |
I cannot believe I’ve never noticed this before. Every FontInstall creates a new font list… and adds it to the existing font list. <facepalm> So every *FontInstall uses up extra RMA (and in millions of titchy allocations too). See this screenshot for the embarrassing evidence. That features three copies of every font name. Do a *FontInstall and there’s then four copies. This bug is in RO4 and RO5 (just checked 5.19) and probably RO3 too. How come I’ve never noticed? I have thousands of fonts. >:-[ |
Rick Murray (539) 13840 posts |
Ouch! That RMA examiner looks pretty useful – where would I find a copy of that? |
nemo (145) 2546 posts |
Where the rest of my useful stuff is – on my hard disc (and floating about in Google’s cloud somewhere). ;-p |
Bernard Boase (169) 208 posts |
On the subject of *FontInstall, why does it appear to do nowt on my RPi 5.19 RC6 system? It does not appear to scan !Fonts, rewrite Messages1 or anything. Same if called by !Fonts . !Run or via Configure→Fonts→Install fonts… |
Jon Abbott (1421) 2651 posts |
Every FontInstall creates a new font list… and adds it to the existing font list. I second that, it might help me prove the RMA heap manager itself is leaking memory under certain conditions. |
Martin Avison (27) 1494 posts |
Reporter also has a Heap validating, monitoring and dumping facility, and is freely available. |
Jon Abbott (1421) 2651 posts |
That RMA examiner looks pretty useful – where would I find a copy of that? I believe the one we’re after is called !rmaMap by Matthew Astley, but I’ve been unable to find a copy. I was using Reporter to find the memory leaks (which are being caused when RMA is freed under an IRQ/FIQ), but it’s not the most user friendly interfaces. |
Rick Murray (539) 13840 posts |
Looks like Matthew’s is called RMAutil and may or may not work on a RiscPC, never mind in a 32 bit world… |
Jon Abbott (1421) 2651 posts |
Looks like Matthew’s is called RMAutil That’s the BASIC version, which is text only (the Text file accompanying it is where I found out about !rmaMap) |
Martin Avison (27) 1494 posts |
Did you try the supplied example program HeapCheck? |
Jon Abbott (1421) 2651 posts |
Did you try the supplied example program HeapCheck? The only supplied example in the version of Reporter I have (reporter266d) is one called !Demo. |
Martin Avison (27) 1494 posts |
HeapCheck is in the latest Reporter v2.67 |
Jon Abbott (1421) 2651 posts |
HeapCheck is in the latest Reporter v2.67 You’ll have to spell it out for me! I downloaded the latest from your website (http://www.avisoft.f9.co.uk/Reporter.htm), but can’t see HeapCheck in it. It would be so much easier if nemo just helped us out here! |
David Pitt (102) 743 posts |
The latest Reporter is 2.67a and HeapCheck is in !Reporter.Examples |
Jon Abbott (1421) 2651 posts |
Ah! I was looking in the !Demo folder. HeapCheck just issues a *ReportHeap every now and then, it doesn’t show the kind of detail required to analyse what blocks are allocated to whom. I’ll keep searching for the one nemo was using and report back when I find it. |
WPB (1391) 352 posts |
I could be wrong, but I suspect nemo’s is written by nemo himself. So I wouldn’t waste too much time searching for it! Hopefully he’ll pop along and confirm or deny that before long. ;) |
Steve Pampling (1551) 8170 posts |
So,you’ll be needing free tickets to the local derby match (for life) and part ownership of a local brewery. |
Martin Avison (27) 1494 posts |
‘every now and then’ can be any time from a second upwards. The ReportHeap command will always validate all the links for the Heap, so can help with block overruns. It can also optionally list the blocks and their sizes, and can dump any number of data bytes from the start of the block. It is intended as an exaample program, as investigations are usually different! But no, it does not make any attempt to identify the owner of the blocks – that is almost impossible unless the blocks are somehow tracked when they are allocated, as there is no owner information. Any identification is by mk1 eyeball, I am afraid. However, I have used it to identify memory leaks before now! Nemo’s monitor may be better, but unfortunately it is not available! |
nemo (145) 2546 posts |
Well, by a 1993 version of nemo, certainly.
I don’t follow football. I don’t drink. We’ll have to come to some other arrangement.
Seriously, I’ll have to release some stuff. I have a lot of stuff. Can anyone suggest a good host? |
Steve Pampling (1551) 8170 posts |
1. Understandable – standing in the cold and wet doesn’t fill me with joy. 2. Unusual, and with my recreation time associates majorly unnatural (I can show you tee-total CAMRA1 members but they are rare for obvious reasons) |
Michael Drake (88) 336 posts |
I’ve never used it myself, but maybe Google Sites ? It looks to be working well enough for Jeff Doggett’s stuff anyway. |
Rick Murray (539) 13840 posts |
[Like] (^_^) |
Martin Avison (27) 1494 posts |
@nemo: Check that your ISP does dot provide any web space: most used to, but that is reducing although long-standing customers can still use it (eg PlusNet). Your domain seems to point nowhere at the moment? |
nemo (145) 2546 posts |
Ah, oh. It turns out I already have one. Oops. So I have no excuse. |