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]
