Memory leak bug in plotting functions? (Sudden kernel shutdown without error message)
- To: mathgroup at smc.vnet.net
- Subject: [mg84070] Memory leak bug in plotting functions? (Sudden kernel shutdown without error message)
- From: "Kentaroh Takagaki" <kentaroh.takagaki at gmail.com>
- Date: Sat, 8 Dec 2007 06:29:08 -0500 (EST)
Hello mathgroup, I have an iterative data analysis routine that prints complex plots into the notebook, so that I can come back and audit the intermediate data analysis steps post-hoc. I have recently encountered a problem in v6.0 (Win32) where the kernel suddenly quits on me, without any error message. This happens after a relatively predictable number of iterations of my analysis routine. I have isolated the putative memory leak into the following proof-of-principle code. Do[ Print[{MemoryInUse[], MaxMemoryUsed[]}]; Print[ Plot[Sin[x]*Random[Real, {0.9, 1.1}] + Random[Real, {0, Pi/5}], {x, 0, 2 Pi},ImageSize -> 72*1] ], {50}] As this iteration runs, the MaxMemoryUsed[] value creeps up gradually. In my real code, the MaxMemoryUsed[] reaches a certain threshold, and the kernel predictably fails (silently) at that point. I have tried various methods such as ClearSystemCache[], Share[] and NotebookSave[] to no avail. It is always the kernel that quits, not the front end or java. I don't think it is the output using up too much memory in the front end, since if I restart the kernel and resume the calculation from where it quit, I can go for another while, even though the previous output is all still in the notebook frontend. It is interesting that I don't seem to get this problem when I plot a simple function, like Sin[x]. The problem segment of my actual code is a large LogListPlot of a large amount of complex data, so I guess it's not directly related to the Plot[] interpolation, etc. (In my real code, I Rasterize[] to low resolution, to save memory on the front end.) Thank you in advance for your help. Sincerely, Kenta