Mailing List Archive

Re: Catalyst-dev Digest, Vol 63, Issue 6
Thank you, T0m. Actually it is 5.8.7.

I have done more testing while having windows Tast Manager open. I find out
that these issues only happen when I already have about 35-38 Perl processes
running. Mainly two types of errors:

1. [Wed Sep 29 15:06:11 2010] [error] [client 127.0.0.1] (OS 109)The pipe
has been ended. : FastCGI: comm with server "C:.....fcgi" aborted:
GetOverlappedResult() failed, referer ......

## I searched and know that "(OS 109)The pipe has been ended" is SQL server
error message.

2. [Wed Sep 29 15:10:52 2010] [error] [client 127.0.0.1] FastCGI: server
"C:......fcgi" stderr: install_driver(ODBC) failed: Can't load
'C:/Perl/site/lib/auto/DBD/ODBC/ODBC.dll' for module DBD::ODBC: load_file:A
dynamic link library (DLL) initialization routine failed at
C:/Perl/lib/DynaLoader.pm line 230., referer: ....

So basically, when more than 35 Perl processes are launched, failure can
happen to any of my new scripts.

I tried to start some scripts as static server, say 20 scripts, then I will
meet the same problem when the processes number reach to 35ish or more. If I
try to initiate more than 40 as static server, in the initiation log, it
will show some warn message like "[Wed Sep 29 16:02:44 2010] [warn] FastCGI:
server "C:.....fcgi" (pid 6860) terminated with exit with status
'-1073741502'
[Wed Sep 29 16:02:44 2010] [warn] FastCGI: server "C:.....fcgi" terminated
with exit with status '-1073741502'.

It seems to me the total number of processes that can be run on windows
depends on CPU, Memory, etc. FastCGI can eat up system resources quickly. I
don't know whether this is a normal issue for fastCGI/Apache/Windows or
maybe this can be optimized by some configuration.

FYI: my PC is with 4G ram and Intel Core 2 T5600 @1.83G.

Really really appreciate some help!

Joe

-------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> http://lists.scsys.co.uk/pipermail/catalyst-dev/attachments/20100928/6=
> 11a2e96/attachment.html<http://lists.scsys.co.uk/pipermail/catalyst-dev/attachments/20100928/6=%0A11a2e96/attachment.html>
>
> ------------------------------
>
> Message: 2
> Date: Wed, 29 Sep 2010 02:12:01 +0100
> From: Tomas Doran <bobtfish@bobtfish.net>
> Subject: Re: [Catalyst-dev] random .dll loading error when running
> fastCGI
> To: Development of the elegant MVC web framework
> <catalyst-dev@lists.scsys.co.uk>
> Message-ID: <77CFF2F0-79EF-4563-9B78-B68C839D45CF@bobtfish.net>
> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
>
>
> On 28 Sep 2010, at 15:07, Joseph He wrote:
> > [Tue Sep 28 08:35:46 2010] [error] [client 127.0.0.1] FastCGI:
> > server "C:..../test001.fcgi" stderr: install_driver(ODBC) failed:
> > Can't load 'C:/Perl/site/lib/auto/DBD/ODBC/ODBC.dll' for module
> > DBD::ODBC: load_file:A dynamic link library (DLL) initialization
> > routine failed at C:/Perl/lib/DynaLoader.pm 230
> >
> > The environment is Windows XP Pro, Apache 2.2.10, SQL Server 2005,
> > FastCGI and Perl 5.5.8.
>
> You mean 5.8.8, right?
>
> >
> > When this error appears, refreshing the page or whatever cannot
> > solve this problem while other pages are still fine. When
> > refreshing, I can see the server generates the same log again but
> > seems the server can never load this particular script successfully.
> > After restarting server, it might happen to other scripts once in a
> > while, which makes debugging is impossible to me.
> >
> > Very appreciate if anyone can share some experience or point me to
> > some direction.
>
> Try upgrading stuff like the DBD driver, and/or perl? (Sorry, not very
> helpful)
>
> Or run your .fcgis as external servers rather than having apache
> dynamically start them?
>
> Cheers
> t0m
>
>
Re: Re: Catalyst-dev Digest, Vol 63, Issue 6 [ In reply to ]
On 29 September 2010 22:15, Joseph He <joseph.he.2008@gmail.com> wrote:

> Thank you, T0m. Actually it is 5.8.7.
>
> I have done more testing while having windows Tast Manager open. I find out
> that these issues only happen when I already have about 35-38 Perl processes
> running. Mainly two types of errors:
>
> 1. [Wed Sep 29 15:06:11 2010] [error] [client 127.0.0.1] (OS 109)The pipe
> has been ended. : FastCGI: comm with server "C:.....fcgi" aborted:
> GetOverlappedResult() failed, referer ......
>
> ## I searched and know that "(OS 109)The pipe has been ended" is SQL server
> error message.
>
> 2. [Wed Sep 29 15:10:52 2010] [error] [client 127.0.0.1] FastCGI: server
> "C:......fcgi" stderr: install_driver(ODBC) failed: Can't load
> 'C:/Perl/site/lib/auto/DBD/ODBC/ODBC.dll' for module DBD::ODBC: load_file:A
> dynamic link library (DLL) initialization routine failed at
> C:/Perl/lib/DynaLoader.pm line 230., referer: ....
> #


Sounds like an out of memory condition triggering a problem. What does the
Windows monitor show with respect to memory usage?
I have seen random errors from FastCGI on Linux, too, which aren't all that
easy to track down.
How about trying it through an Apache server on Windows and see if that
works or gives more information.
Or running your app on Linux if that's an option.

Regards, Peter
http://perl.dragonstaff.co.uk