Hi again, We managed to fix the problem described below. The issue was the win32 porting code in perl. In the file perl-5.6.0/win32/win32.h commenting out the line: #define ENV_IS_CASELESS fixes the memory leak problem. -harshy > -----Original Message----- > From: Harshy Wanigasekara > Sent: Wednesday, October 25, 2000 3:11 PM > To: [EMAIL PROTECTED] > Subject: memory leak under WinNT > > > Hi All, > > I've looked through the maillist archives, > and FAQs and guides and docs, with no help. > > I've got a memory leak problem running embedded > perl under Apache on Windows NT. I've reduced > the problem set as much as I can, to the > following Apache::Registry script: > --------------- > # Filename: test.pl > print("<html> > <head> > <title>Apache test</title> > </head> > </body> > Hello world. > <script LANGUAGE=\"JavaScript\"> > function ReloadPageFunc() > { > var newloc = \"test.pl\"; > window.location.href = newloc; > } > var myTimeOut = setTimeout(\"ReloadPageFunc()\", 10000); > </script> > </body> > </html>\n"); > ---------------- > The script just generates a page which causes the > browser to reload the same page every 10 seconds. > The browser has no complaints about the page it receives. > When I leave this page running I get memory leaks in > the apache process. > > If I remove the enclosing print(""); statement so I > just have the HTML code in a test.html file > (ie: Apache::Registry handler is NOT called), there > are no memory leaks. > > In the above example, the apache process' memory usage > keeps increasing continuously until all virtual memory > is exhausted (~1 GByte). I see 32K byte jumps for > about every 100 reloads, it's worse for more complicated > scripts. Since this is Windoze, I can't limit the number > of requests a child can handle. > > My setup: > Windows NT 4.0 SP 5 > Apache 1.3.12 > Perl 5.6.0 > Modperl 1.24 > (also embperl 1.3b5, but not used in above example) > All source code compiled with VC++ 6.0 > > I ran BoundsChecker on the apache executable in the > hopes of finding a single culprit, but found a > multitude of perl core routines allocate memory using > win32_malloc() in /perl5.6.0/win32/win32.c and > don't free it. > > Anyone seen this before? > > -harshy > -- > Harshy Wanigasekara, Omneon Video Networks. >