Hi Nikola and any one else that can help,

I'm still stuck on jk2_init() error -
even though many developers out there reckon this is not an issue I still
find it concerning that Apache2 is trying to find a Child process and
reports it as an [error].

[Sat Jan 10 13:15:08 2004] [notice] mod_jk.post_config() first invocation
[Sat Jan 10 13:15:08 2004] [notice] mod_jk.post_config() second invocation
[Sat Jan 10 13:15:08 2004] [error] jk2_init() Can't find child 2089 in none
of the 256 scoreboard slots
[Sat Jan 10 13:15:08 2004] [error] jk2_init() Can't find child 2090 in none
of the 256 scoreboard slots
[Sat Jan 10 13:15:08 2004] [error] jk2_init() Can't find child 2091 in none
of the 256 scoreboard slots
[Sat Jan 10 13:15:08 2004] [error] jk2_init() Can't find child 2092 in none
of the 256 scoreboard slots
[Sat Jan 10 13:15:08 2004] [error] jk2_init() Can't find child 2093 in none
of the 256 scoreboard slots
[Sat Jan 10 13:15:08 2004] [notice] Apache/2.0.48 (Unix) mod_jk2/2.0.3-dev
configured -- resuming normal operations
[Sat Jan 10 13:15:24 2004] [error] [client 192.168.0.100] File does not
exist: /usr/local/apache2/htdocs/examples
[Sat Jan 10 13:15:24 2004] [error] jk2_init() Can't find child 2095 in none
of the 256 scoreboard slots
[Sat Jan 10 13:15:30 2004] [error] [client 192.168.0.100] File does not
exist: /usr/local/apache2/htdocs/examples
[Sat Jan 10 13:15:33 2004] [error] [client 192.168.0.100] File does not
exist: /usr/local/apache2/htdocs/examples
[Sat Jan 10 13:15:37 2004] [error] [client 192.168.0.100] File does not
exist: /usr/local/apache2/htdocs/examples
[Sat Jan 10 13:15:44 2004] [error] [client 192.168.0.100] File does not
exist: /usr/local/apache2/htdocs/examples, referer:
http://sslaptop.gsss.net/examples/
[Sat Jan 10 13:15:48 2004] [error] [client 192.168.0.100] File does not
exist: /usr/local/apache2/htdocs/examples, referer:
http://sslaptop.gsss.net/examples/
[Sat Jan 10 13:16:03 2004] [error] [client 192.168.0.100] File does not
exist: /usr/local/apache2/htdocs/jkstatus
[Sat Jan 10 13:15:08 2004] ( info ) [jk_logger_file.c (224)]  Level WARN 0
[Sat Jan 10 13:15:08 2004] ( info ) [jk_logger_file.c (224)]  Level WARN 0
[Sat Jan 10 13:15:08 2004] ( info ) [jk_logger_file.c (224)]  Level WARN 0
[Sat Jan 10 13:15:08 2004] ( info ) [jk_logger_file.c (224)]  Level WARN 0
[Sat Jan 10 13:15:08 2004] ( info ) [jk_logger_file.c (224)]  Level WARN 0
[Sat Jan 10 13:15:08 2004] ( info ) [jk_logger_file.c (224)]  Level WARN 0
[Sat Jan 10 13:22:47 2004] [notice] caught SIGTERM, shutting down
[Sat Jan 10 13:15:08 2004] ( info ) [jk_logger_file.c (224)]  Level WARN 0

Anyway I've managed to rebuild all mod_jk2.so and all relative jar files
with no issues with the org.apache.coyote.tomcat4.CoyoteConnector.
Unfortunately I still can't talk to Tomcat directly from Apache via the
standard socket method.

Following are:
snippet httpd.con
snippet server.xml
workers2.properties
jk2.properties

Any help would be greatly appreciated as I've spent far too much time on
this with no real results is very frustrating.
Apologies for any previous stupid questions as I'm now unfortunately up to
speed with using mod_jk2, Apache2 and Tomcat 4.1.29 - just an aside this is
far too hard it should be made simpler as many of us out here don't want to
become C and Web Servlet Container Gurus. Also any reference to binaries is
really bytecode that's the price you pay  when your developing across
various platforms and languages.

If I'm able to get things working I will publish a HOWTO Apache2.0.48
Tomcat4.1.29 jakarta-tomcat-connectors-4.1.29 for Linux Red Hat 9. This is
my way of saying thank you to all concerned.

********* snippet httpd.con ********
LoadModule jk2_module modules/mod_jk2.so

<IfModule mod_jk2.c>
  JkSet config:file
"/usr/local/jakarta-tomcat-4.1.29/conf/workers2.properties"
</IfModule>
<Location "/examples/*">
  JkUriSet worker ajp13:sslaptop.gsss.net:8001
</Location>
<Location "/jkstatus/*">
  JkUriSet worker ajp13:sslaptop.gsss.net:8001
</Location>
********* snippet httpd.con ********



******** snippet server.xml *********
    <!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 -->
    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
               port="8080" minProcessors="5" maxProcessors="75"
               enableLookups="true" redirectPort="8443"
               acceptCount="100" debug="0" connectionTimeout="20000"
               useURIValidationHack="false" disableUploadTimeout="true" />
    <!-- Note : To disable connection timeouts, set connectionTimeout value
     to -1 -->

    <!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
    <!--
    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
               port="8443" minProcessors="5" maxProcessors="75"
               enableLookups="true"
           acceptCount="100" debug="0" scheme="https" secure="true"
               useURIValidationHack="false" disableUploadTimeout="true">
      <Factory
className="org.apache.coyote.tomcat4.CoyoteServerSocketFactory"
               clientAuth="false" protocol="TLS" />
    </Connector>
    -->

    <!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8001 -->
    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
               port="8001" minProcessors="5" maxProcessors="75"
               enableLookups="true" redirectPort="8443"
               acceptCount="10" debug="0" connectionTimeout="20000"
               useURIValidationHack="false"

protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <!--
    <Connector className="org.apache.ajp.tomcat4.Ajp13Connector"
               port="8009" minProcessors="5" maxProcessors="75"
               acceptCount="10" debug="0"/>
    -->

    <!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
    <!-- See proxy documentation for more information about using this. -->
    <!--
    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
               port="8082" minProcessors="5" maxProcessors="75"
               enableLookups="true"
               acceptCount="100" debug="0" connectionTimeout="20000"
               proxyPort="80" useURIValidationHack="false"
               disableUploadTimeout="true" />
    -->

    <!-- Define a non-SSL legacy HTTP/1.1 Test Connector on port 8083 -->
    <!--
    <Connector className="org.apache.catalina.connector.http.HttpConnector"
               port="8083" minProcessors="5" maxProcessors="75"
               enableLookups="true" redirectPort="8443"
               acceptCount="10" debug="0" />
    -->

    <!-- Define a non-SSL HTTP/1.0 Test Connector on port 8084 -->
    <!--
    <Connector
className="org.apache.catalina.connector.http10.HttpConnector"
               port="8084" minProcessors="5" maxProcessors="75"
               enableLookups="true" redirectPort="8443"
               acceptCount="10" debug="0" />
    -->
******** snippet server.xml *********

******** workers2.properties *********
[logger]
level=WARN
#INFO

#/web_ci/
[config:]
file=/usr/local/jakarta-tomcat-4.1.29/conf/workers2.properties
debug=0
debugEnv=0

[uriMap:]
info=Maps the requests. Options: debug
debug=0

# Alternate file logger
[logger.file:0]
level=WARN
file=/usr/local/jakarta-tomcat-4.1.29/logs/jk2.log

# Cache for activity
# Must point to a writeable path
[shm:]
info=Scoreboard. Required for reconfiguration and status with multiprocess
servers
file=/usr/local/jakarta-tomcat-4.1.29/logs/jk2.shm
size=1000000
debug=0
disabled=0

[workerEnv:]
info=Global server options
timing=1
debug=99
# Default Native Logger (apache2 or win32 )
# can be overriden to a file logger, useful
# when tracing win32 related issues
logger=logger.file:0

# Communication channel to use
[channel.socket:sslaptop.gsss.net:8001]
info=Ajp13 forwarding over socket
debug=0
tomcatId=sslaptop.gsss.net:8001

# Connector as in conf/server.xml
[ajp13:sslaptop.gsss.net:8001]
channel=channel.socket:sslaptop.gsss.net:8001

# Tomcat load balancing
[lb:lb]
info=Default load balancer.
debug=0

[status:status]
info=Status worker, displays runtime informations

# Monitor for requests and config http://sslaptop.gsss.net:8057/jkstatus
[uri:/jkstatus/*]
info=Display status information and checks the config file for changes.
worker=ajp13:sslaptop.gsss.net:8001
context=/jkstatus
group=status:status
tomcatId=sslaptop.gsss.net:8001

[uri:/examples/*]
info=Display status information and checks the config file for changes.
worker=ajp13:sslaptop.gsss.net:8001
context=/examples
group=status:status
tomcatId=sslaptop.gsss.net:8001
******** workers2.properties *********


********* jk2.properties ************
# list of needed handlers.
handler.list=apr,request,channelJni

# Dynamic library needs to be defined only if Tomcat is used
# out of process
# apr.NativeSo=/usr/local/apache2/modules/libjkjni.so
# Or you can use the mod_jk2 directly
apr.jniModeSo=/usr/local/apache2/modules/mod_jk2.so

# If you wish to start the Tomcat from inside web server then
# you don't need any above directive. Here is shown the default
# value for the apr that you can ommit
# apr.jniModeSo=inprocess
********* jk2.properties ************

Kind Regards,
George Shafik


In completing one discovery we never fail to get an imperfect knowledge of
others of which we could have no idea before, so that we cannot solve one
doubt without creating several new ones.
-Joseph Priestly, 1786















----- Original Message ----- 
From: "Nikola Milutinovic" <[EMAIL PROTECTED]>
To: "Tomcat Users List" <[EMAIL PROTECTED]>
Sent: Sunday, January 04, 2004 11:01 PM
Subject: Re: jk2_init() Can't find child xxxx in none of the 1024 scoreboard
slots


> Subject: Fw: jk2_init() Can't find child xxxx in none of the 1024
scoreboard
> slots
>
>
> > Hi Peter,
> >
> > I'm using Apache 2.0.48, Tomcat 4.1.29, Jakarta-Tomcat-Connectors
4.1.29.
> > I'm hoping the problem it is not the mod_jk2.so module as I went to
great
> > trouble in order to generate it on my RH9 Linux Kernal Version 2.4.20-8
> > platform. I had to recompile apr, apr-util code and only "ant native"
> > managed to build mod_jk2.so
>
> > ### error.log file in Apache2.0.48 log
> > ###########################################
> > [Sat Jan 03 23:01:48 2004] [error] jk2_init() Can't find child 7398 in
> none
> > of the 256 scoreboard slots
> > [Sat Jan 03 23:01:48 2004] [error] jk2_init() Can't find child 7399 in
> none
> > of the 256 scoreboard slots
> > [Sat Jan 03 23:01:48 2004] [error] jk2_init() Can't find child 7400 in
> none
> > of the 256 scoreboard slots
> > [Sat Jan 03 23:01:48 2004] [error] jk2_init() Can't find child 7402 in
> none
> > of the 256 scoreboard slots
> > [Sat Jan 03 23:01:48 2004] [notice] Apache/2.0.48 (Unix)
mod_jk2/2.0.3-dev
> > configured -- resuming normal operations
>
> These are mostly harmless messages. The only way I found to avoid them was
a
> rather long one.
>
> In order for Apache + mod_jk2 to find neighbour children is to configure
> shared memory for mod_jk2. And it must be configured on both Apache and
> Tomcat side. If you drop Tomcat side, then it will complain. :-)
>
> For shared memory in Coyote-jk2 handler, you need to build jkjni.so (you
may
> screem in agony :-)). JK-JNI gives you "Java Native Interface"
> functionality, which includes UNIX SHM and UNIX file sockets.
>
> In order for jkjni.so to function correctly, it must have an environment
> variable "serverRoot" defined on the process level, or it will not be able
> to locate workers2.properties (it is in Apache's config dir). To be
honest,
> jkjni.so was designed for another purpose - running Tomcat from within
> Apache process (in-process). This environment variable is provided by
> Apache. All of us who wish to run a standalone Tomcat and still use
jkjni.so
> must emulate this. The only way I found to do that was to place
>
> export serverRoot=/etc/httpd/2.0
>
> in Tomcat's config/startup scripts. Like I said - it is long one.
>
> > [Sun Jan 04 12:08:37 2004] [notice] caught SIGTERM, shutting down
>
> Normal shutdown, I'd say.
>
> > ####################### jk2.prorperties ###########################
> > ## THIS FILE MAY BE OVERRIDEN AT RUNTIME. MAKE SURE TOMCAT IS STOPED
> > ## WHEN YOU EDIT THE FILE.
> > ## COMMENTS WILL BE _LOST_
> > ## DOCUMENTATION OF THE FORMAT IN JkMain javadoc.
> > # Set the desired handler list
> > # handler.list=apr,request,channelJni
>
> Why are you using "channelJni"?
>
> You could use "apr,request,channelSocket" and drop JNI completely. Take
look
> at Tomcats docs and JK2 section.
>
> > ########################## workers.properties ####################
> > worker.list=ajp13
> > worker.ajp13.port=8009
> > worker.ajp13.host=localhost
> > worker.ajp13.type=ajp13
> > ############################################################
>
> Why are you using "workers.properties"? It is for mod_jk. For mod_jk2 you
> must use "worker2.properties".
>
> Consult docs at http://jakarta.apache.org -> Tomcat -> Documentation.
>
> Nix.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to