You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Pier Fumagalli <pi...@betaversion.org> on 2002/02/11 12:20:25 UTC

FYI: worker not running on Solaris 8

Not even starting up... Once I launch it, the first child dies, and no
workers are left to process requests... Now trying with "threaded"...

    Pier


Re: FYI: worker not running on Solaris 8

Posted by Aaron Bannert <aa...@clove.org>.
On Mon, Feb 11, 2002 at 04:12:30PM +0000, Pier Fumagalli wrote:
 
> Yep, that's exactly what I'm testing out right now, as the perchild doesn't
> want to compile under Solaris 8... Thanks a lot :)

This is a known problem -- perchild is going to need an additional
portability layer to be able to pass requests between processes
(or groups of processes representing a single vhost); I'm already
working on this part. AIUI perchild also needs some work done on
the filters to work with some new filter semantics, but I don't
know the details.

-aaron

Re: FYI: worker not running on Solaris 8

Posted by Pier Fumagalli <pi...@betaversion.org>.
Jeff Trawick <tr...@attglobal.net> wrote:

> If you're willing to keep the number of threads constant, you can run
> worker with a fixed number of processes.  Yeah, it is twisting the
> design a bit but so what...
> 
> <IfModule worker.c>
> ThreadLimit      500
> ServerLimit      1
> StartServers         1
> MaxClients         500
> MinSpareThreads     1
> MaxSpareThreads     500
> ThreadsPerChild     500
> MaxRequestsPerChild  0
> </IfModule>
> 
> Replace 500 with whatever floats your boat.  You'll always have one
> server process with that many threads.

Yep, that's exactly what I'm testing out right now, as the perchild doesn't
want to compile under Solaris 8... Thanks a lot :)

    Pier


Re: FYI: worker not running on Solaris 8

Posted by Jeff Trawick <tr...@attglobal.net>.
Pier Fumagalli <pi...@betaversion.org> writes:

> Jeff Trawick <tr...@attglobal.net> wrote:
> 
> > Pier Fumagalli <pi...@betaversion.org> writes:
> > 
> >> Not even starting up... Once I launch it, the first child dies, and no
> >> workers are left to process requests... Now trying with "threaded"...
> > 
> > Anything in error_log?
> 
> Yes, complaining about not being able to set the group ID (and after reading
> in the default HTTPD.CONF, I figured out that that was the thing killing the
> parent process)...

yeah, I read your followup after I responded... sorry :(

> > "threaded" is no more
> 
> Noticed after pulling down the live CVS :) :) And it wasn't the thing I was
> looking for anyway... I need perchild (fixed number of processes), since my
> processes are becoming pretty big (200/300 megs)... Nothing like putting a
> JVM in there, and I can't allow to have it fork()...

If you're willing to keep the number of threads constant, you can run
worker with a fixed number of processes.  Yeah, it is twisting the
design a bit but so what...

<IfModule worker.c>
ThreadLimit      500
ServerLimit      1
StartServers         1
MaxClients         500
MinSpareThreads     1
MaxSpareThreads     500
ThreadsPerChild     500
MaxRequestsPerChild  0
</IfModule>

Replace 500 with whatever floats your boat.  You'll always have one
server process with that many threads.

-- 
Jeff Trawick | trawick@attglobal.net | PGP public key at web site:
       http://www.geocities.com/SiliconValley/Park/9289/
             Born in Roswell... married an alien...

Re: FYI: worker not running on Solaris 8

Posted by Pier Fumagalli <pi...@betaversion.org>.
Jeff Trawick <tr...@attglobal.net> wrote:

> Pier Fumagalli <pi...@betaversion.org> writes:
> 
>> Not even starting up... Once I launch it, the first child dies, and no
>> workers are left to process requests... Now trying with "threaded"...
> 
> Anything in error_log?

Yes, complaining about not being able to set the group ID (and after reading
in the default HTTPD.CONF, I figured out that that was the thing killing the
parent process)...

> "threaded" is no more

Noticed after pulling down the live CVS :) :) And it wasn't the thing I was
looking for anyway... I need perchild (fixed number of processes), since my
processes are becoming pretty big (200/300 megs)... Nothing like putting a
JVM in there, and I can't allow to have it fork()...

    Pier


Re: FYI: worker not running on Solaris 8

Posted by Jeff Trawick <tr...@attglobal.net>.
Pier Fumagalli <pi...@betaversion.org> writes:

> Not even starting up... Once I launch it, the first child dies, and no
> workers are left to process requests... Now trying with "threaded"...

Anything in error_log?

"threaded" is no more

-- 
Jeff Trawick | trawick@attglobal.net | PGP public key at web site:
       http://www.geocities.com/SiliconValley/Park/9289/
             Born in Roswell... married an alien...

Re: FYI: worker not running on Solaris 8

Posted by jean-frederic clere <jf...@fujitsu-siemens.com>.
Jeff Trawick wrote:
> 
> jean-frederic clere <jf...@fujitsu-siemens.com> writes:
> 
> > Pier Fumagalli wrote:
> > >
> > > Pier Fumagalli <pi...@betaversion.org> wrote:
> > >
> > > > Not even starting up... Once I launch it, the first child dies, and no
> > > > workers are left to process requests... Now trying with "threaded"...
> > >
> > > Great... Should RTFM before complaining :) Setting the group to "nobody"
> > > made the trick! :)
> >
> > You are lucky - My httpd-2.0 hangs in getaddrinfo from apr_sockaddr_info_get,
> > the getaddrinfo does 'strange' things with threads -
> 
> Hey, look at the description of this patch:
> 
> http://sunsolve.sun.com/pub-cgi/findPatch.pl?patchId=109326&rev=05
> 
> One of the fixes is:
> 
> 4500573 Multithreaded applications block in DNS Name Service switch backend.

I have ended installing the "Solaris recommended patch cluster" now httpd-2.0
seems to work correctly.

> 
> --
> Jeff Trawick | trawick@attglobal.net | PGP public key at web site:
>        http://www.geocities.com/SiliconValley/Park/9289/
>              Born in Roswell... married an alien...

Re: FYI: worker not running on Solaris 8

Posted by Jeff Trawick <tr...@attglobal.net>.
jean-frederic clere <jf...@fujitsu-siemens.com> writes:

> Pier Fumagalli wrote:
> > 
> > Pier Fumagalli <pi...@betaversion.org> wrote:
> > 
> > > Not even starting up... Once I launch it, the first child dies, and no
> > > workers are left to process requests... Now trying with "threaded"...
> > 
> > Great... Should RTFM before complaining :) Setting the group to "nobody"
> > made the trick! :)
> 
> You are lucky - My httpd-2.0 hangs in getaddrinfo from apr_sockaddr_info_get,
> the getaddrinfo does 'strange' things with threads -

Hey, look at the description of this patch:

http://sunsolve.sun.com/pub-cgi/findPatch.pl?patchId=109326&rev=05

One of the fixes is:

4500573 Multithreaded applications block in DNS Name Service switch backend.

-- 
Jeff Trawick | trawick@attglobal.net | PGP public key at web site:
       http://www.geocities.com/SiliconValley/Park/9289/
             Born in Roswell... married an alien...

Re: FYI: worker not running on Solaris 8

Posted by Aaron Bannert <aa...@clove.org>.
On Mon, Feb 11, 2002 at 03:32:15PM +0100, jean-frederic clere wrote:

> You are lucky - My httpd-2.0 hangs in getaddrinfo from apr_sockaddr_info_get,
> the getaddrinfo does 'strange' things with threads -

Are you sure that you have all the lastest recommended patches from
Sun? I may have missed something in this thread, but I don't see
this problem.

-aaron

Re: FYI: worker not running on Solaris 8

Posted by Jeff Trawick <tr...@attglobal.net>.
jean-frederic clere <jf...@fujitsu-siemens.com> writes:

> Pier Fumagalli wrote:
> > 
> > Pier Fumagalli <pi...@betaversion.org> wrote:
> > 
> > > Not even starting up... Once I launch it, the first child dies, and no
> > > workers are left to process requests... Now trying with "threaded"...
> > 
> > Great... Should RTFM before complaining :) Setting the group to "nobody"
> > made the trick! :)
> 
> You are lucky - My httpd-2.0 hangs in getaddrinfo from apr_sockaddr_info_get,
> the getaddrinfo does 'strange' things with threads -

The only thing I can think of is some sort of --broken-getaddrinfo
parameter for APR to tell it that getaddrinfo() is broken even though
the ./configure sanity checks say that getaddrinfo() is good.  (And
no, I don't want to see if I can make getaddrinfo() hang during
./configure :) ).



-- 
Jeff Trawick | trawick@attglobal.net | PGP public key at web site:
       http://www.geocities.com/SiliconValley/Park/9289/
             Born in Roswell... married an alien...

Re: FYI: worker not running on Solaris 8

Posted by Pier Fumagalli <pi...@betaversion.org>.
jean-frederic clere <jf...@fujitsu-siemens.com> wrote:

> Pier Fumagalli wrote:
>> 
>> Pier Fumagalli <pi...@betaversion.org> wrote:
>> 
>>> Not even starting up... Once I launch it, the first child dies, and no
>>> workers are left to process requests... Now trying with "threaded"...
>> 
>> Great... Should RTFM before complaining :) Setting the group to "nobody"
>> made the trick! :)
> 
> You are lucky - My httpd-2.0 hangs in getaddrinfo from apr_sockaddr_info_get,
> the getaddrinfo does 'strange' things with threads -

AFAIK (reading from the OpenLDAP source code), a whole bunch of network-info
functions behave strangely when threaded... At least right now it seems to
build and run nicely on Solaris 8, we need to be in production soon with a
2.0, otherwise we're _screwed_... We need badly threading, we can't handle
an average load of 4000 httpd processes running (and don't ask me why we
can't scale on hardware, that's such a loooong story! :)

    Pier


Re: FYI: worker not running on Solaris 8

Posted by jean-frederic clere <jf...@fujitsu-siemens.com>.
Pier Fumagalli wrote:
> 
> Pier Fumagalli <pi...@betaversion.org> wrote:
> 
> > Not even starting up... Once I launch it, the first child dies, and no
> > workers are left to process requests... Now trying with "threaded"...
> 
> Great... Should RTFM before complaining :) Setting the group to "nobody"
> made the trick! :)

You are lucky - My httpd-2.0 hangs in getaddrinfo from apr_sockaddr_info_get,
the getaddrinfo does 'strange' things with threads -

> 
>     Pier

Re: FYI: worker not running on Solaris 8

Posted by Pier Fumagalli <pi...@betaversion.org>.
Pier Fumagalli <pi...@betaversion.org> wrote:

> Not even starting up... Once I launch it, the first child dies, and no
> workers are left to process requests... Now trying with "threaded"...

Great... Should RTFM before complaining :) Setting the group to "nobody"
made the trick! :)

    Pier