-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 > Sam wrote: > > Hi, > > > > I found many references to the 'memory leak' in the archived > > messages at http://www.mail-archive.com/perl-win32- > > [EMAIL PROTECTED]/. > > > I believe there isn't a memory leak at all, it appears that the > > memory usage reported by windows task manager includes a > > portion of a windows cache allocated to the program, and that it's > > the cache usage that changes, not the amount of memory that the > > perl interpreter has allocated. > > oh well, I'm really confused now :-) > > > This is based on these observations: > > 1) As the memory usage reported by the task manager increases > > the total memory usage does not increase. If you run a compiler or > > something that will allocate memory a bit at a time for a long period > > of time you'll notice that as the compiler's memory usage goes up, > > and so does the total memory usage. > > yes, this is true. > > > 2) If you minimize the perl-win32-gui app's window the reported > > memory usage goes down to a base value (120K with my perl), and > > every time you minimize the window it goes down to the same > > value. This is _not_ indicative of a memory leak. > > this is true too. > > > 3) If you play with other applications in a similar way you > > can make them exhibit similar behaviour. The reported memory usage > > on other applications (my test was EditPlus) doesn't increase to > > the same extent, but it does increase (more on this difference later). > > and this is true, but there are other applications (for example, > the NT Task Manager) which does not exhibit this behaviour, even > if they're left running for a large amount of time. and the Task > Manager updates its contect each second, so is doing something. > but its cache memory never grows up. damn :-( > > > During the above I looked over the code involved, and attempted > > to isolate a memory leak. So far as I can tell the code is rock > > solid. > > way cool ;-) > > > I believe that the difference between a perl-win32-gui application, > > and other pure win32 applications is in the DefWindowProc > > handling. The perl-win32-gui module does call DefWindowProc > > when either you don't have a handler installed, or you return 1, > > however through BoundsChecker I believe that this may not always > > be the case. > > I'm really interested in this: can you elaborate more on this > point? do I call DefWindowProc too much, or it is not called > when it should be? I saw a few messages come in that weren't DefWindowProc'd, but I think that may have been my fault (ie returned 0 from handler). Looking at your code it looks like DefWindowProc is called when it should be, but there's obviously a problem somewhere. This was a bit of a stab in the dark (much like the assumption about the cache allocation, but what other answer is there?). My next move will be to attempt to recreate this bug in a pure win32 app.
> > I would be interested if someone finds anything else out about > > this problem. Unfortunately I can't spend any more time on this, > > as it appears to me that this isn't a serious bug, at least not > > something that will stop a program from working correctly. > > well, a 4k increment for each mouse movement is quite too much, > so something should be corrected (if it's not totally wrong, it's > surely at least poorly coded :-) I agree, now. There was a posting recently that reported that a perl gui app would crash after all available memory was consumed, so I will devote some of my time to fixing this problem. I'll report when I know more. > cheers, > Aldo > > __END__ > $_=q,just perl,,s, , another ,,s,$, hacker,,print; > > > > _______________________________________________ > Perl-Win32-GUI-Users mailing list > Perl-Win32-GUI-Users@lists.sourceforge.net > http://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users > -----BEGIN PGP SIGNATURE----- Version: N/A iQA/AwUBOlruq5sRND2Z+TaWEQKsowCg8YtbBZKJN7ZbK2kfuPN1ayTqKKQAoIfp 3dsqAbirf2z5dM0oe0iY+MLv =cIST -----END PGP SIGNATURE----- Sam Jacobson R & D Manager / Software Engineer Selective Communications Ph +64 9 302 1142 www.selective.co.nz