Hi all,
Please CC any replies to [EMAIL PROTECTED] as I am not sure
that I have successfully signed up to the mailing list.
I have been trying to run Apache 1.3 with Tomcat 4 on HP-UX 11, but
consistently get a socket error, resulting in a '500 internal server error'
at the browser.
As far as I can see the problem is in the function 'jk_open_socket' in the
file jk_connect.c
The code enters a do/while loop at line 114. It attempts to open a socket;
ret = connect(sock,
(struct sockaddr *)addr,
sizeof(struct sockaddr_in));
but the variable 'ret' comes back as -1.
the while condition checks that ret == -1 and that EINTR (which is equal to
4) == errno BUT;
errno appears only to be set inside an #ifdef WIN32 macro. errno is
actually returned as 239 consistently, but I think this might be just a red
herring, as it only seems to appear inside #ifdef WIN32 macros, throughout
the code. The result is though that loop always drops out. This function
is called three times for each request in a loop outside jk_open_socket, but
fails each time. ret is always -1.
I am not a C programmer, or a Unix programmer, so I got a bit lost at this
point. I am searching the web for possible answers, but any help would be
appreciated. Is seems unlikely that this bug exists for all non-win32
systems, but perhaps it only fails to connect on HP-UX? Is there some other
environmental problem? I've added a few more details below.
Thanks in advance,
Apache version 1.3.20
Tomcat version 4.0.2
HP-UX B.11.00 U 9000/800 167991567 unlimited-user license
mod_jk.so
- built on HP-UX B.11.00 A 9000/785 2014322848 two-user
license
- from Tomcat 3.3a
- using gcc 3.0
I set JkLogLevel to 'debug' in my httpd.conf and got the following out put
in the JkLogFile;
##########################################################################
[Thu Mar 21 12:04:09 2002] [jk_uri_worker_map.c (159)]: Into
jk_uri_worker_map_t::uri_worker_map_alloc
[Thu Mar 21 12:04:09 2002] [jk_uri_worker_map.c (199)]: Into
jk_uri_worker_map_t::uri_worker_map_open
[Thu Mar 21 12:04:09 2002] [jk_uri_worker_map.c (217)]:
jk_uri_worker_map_t::uri_worker_map_open, rule map size is 0
[Thu Mar 21 12:04:09 2002] [jk_uri_worker_map.c (324)]:
jk_uri_worker_map_t::uri_worker_map_open, done
[Thu Mar 21 12:04:09 2002] [jk_worker.c (82)]: Into wc_open
[Thu Mar 21 12:04:09 2002] [jk_worker.c (207)]: Into build_worker_map,
creating 2 workers
[Thu Mar 21 12:04:09 2002] [jk_worker.c (213)]: build_worker_map, creating
worker admin
[Thu Mar 21 12:04:09 2002] [jk_worker.c (138)]: Into wc_create_worker
[Thu Mar 21 12:04:09 2002] [jk_worker.c (152)]: wc_create_worker, about to
create instance admin of ajp13
[Thu Mar 21 12:04:09 2002] [jk_ajp13_worker.c (922)]: Into
ajp13_worker_factory
[Thu Mar 21 12:04:09 2002] [jk_worker.c (161)]: wc_create_worker, about to
validate and init admin
[Thu Mar 21 12:04:09 2002] [jk_ajp13_worker.c (443)]: Into
jk_worker_t::validate
[Thu Mar 21 12:04:09 2002] [jk_ajp13_worker.c (456)]: In
jk_worker_t::validate for worker admin contact is wclopweb:8009
[Thu Mar 21 12:04:09 2002] [jk_ajp13_worker.c (482)]: Into
jk_worker_t::init
[Thu Mar 21 12:04:09 2002] [jk_worker.c (177)]: wc_create_worker, done
[Thu Mar 21 12:04:09 2002] [jk_worker.c (223)]: build_worker_map, removing
old admin worker
[Thu Mar 21 12:04:09 2002] [jk_worker.c (213)]: build_worker_map, creating
worker web
[Thu Mar 21 12:04:09 2002] [jk_worker.c (138)]: Into wc_create_worker
[Thu Mar 21 12:04:09 2002] [jk_worker.c (152)]: wc_create_worker, about to
create instance web of ajp13
[Thu Mar 21 12:04:09 2002] [jk_ajp13_worker.c (922)]: Into
ajp13_worker_factory
[Thu Mar 21 12:04:09 2002] [jk_worker.c (161)]: wc_create_worker, about to
validate and init web
[Thu Mar 21 12:04:09 2002] [jk_ajp13_worker.c (443)]: Into
jk_worker_t::validate
[Thu Mar 21 12:04:09 2002] [jk_ajp13_worker.c (456)]: In
jk_worker_t::validate for worker web contact is wclopweb:8008
[Thu Mar 21 12:04:09 2002] [jk_ajp13_worker.c (482)]: Into
jk_worker_t::init
[Thu Mar 21 12:04:09 2002] [jk_worker.c (177)]: wc_create_worker, done
[Thu Mar 21 12:04:09 2002] [jk_worker.c (223)]: build_worker_map, removing
old web worker
[Thu Mar 21 12:04:09 2002] [jk_worker.c (235)]: build_worker_map, done
[Thu Mar 21 12:04:09 2002] [jk_worker.c (102)]: wc_open, done
[Thu Mar 21 12:04:14 2002] [jk_uri_worker_map.c (159)]: Into
jk_uri_worker_map_t::uri_worker_map_alloc
[Thu Mar 21 12:04:14 2002] [jk_uri_worker_map.c (199)]: Into
jk_uri_worker_map_t::uri_worker_map_open
[Thu Mar 21 12:04:14 2002] [jk_uri_worker_map.c (217)]:
jk_uri_worker_map_t::uri_worker_map_open, rule map size is 0
[Thu Mar 21 12:04:14 2002] [jk_uri_worker_map.c (324)]:
jk_uri_worker_map_t::uri_worker_map_open, done
[Thu Mar 21 12:04:14 2002] [jk_worker.c (82)]: Into wc_open
[Thu Mar 21 12:04:14 2002] [jk_worker.c (207)]: Into build_worker_map,
creating 2 workers
[Thu Mar 21 12:04:14 2002] [jk_worker.c (213)]: build_worker_map, creating
worker admin
[Thu Mar 21 12:04:14 2002] [jk_worker.c (138)]: Into wc_create_worker
[Thu Mar 21 12:04:14 2002] [jk_worker.c (152)]: wc_create_worker, about to
create instance admin of ajp13
[Thu Mar 21 12:04:14 2002] [jk_ajp13_worker.c (922)]: Into
ajp13_worker_factory
[Thu Mar 21 12:04:14 2002] [jk_worker.c (161)]: wc_create_worker, about to
validate and init admin
[Thu Mar 21 12:04:14 2002] [jk_ajp13_worker.c (443)]: Into
jk_worker_t::validate
[Thu Mar 21 12:04:14 2002] [jk_ajp13_worker.c (456)]: In
jk_worker_t::validate for worker admin contact is wclopweb:8009
[Thu Mar 21 12:04:14 2002] [jk_ajp13_worker.c (482)]: Into
jk_worker_t::init
[Thu Mar 21 12:04:14 2002] [jk_worker.c (177)]: wc_create_worker, done
[Thu Mar 21 12:04:14 2002] [jk_worker.c (223)]: build_worker_map, removing
old admin worker
[Thu Mar 21 12:04:14 2002] [jk_worker.c (213)]: build_worker_map, creating
worker web
[Thu Mar 21 12:04:14 2002] [jk_worker.c (138)]: Into wc_create_worker
[Thu Mar 21 12:04:14 2002] [jk_worker.c (152)]: wc_create_worker, about to
create instance web of ajp13
[Thu Mar 21 12:04:14 2002] [jk_ajp13_worker.c (922)]: Into
ajp13_worker_factory
[Thu Mar 21 12:04:14 2002] [jk_worker.c (161)]: wc_create_worker, about to
validate and init web
[Thu Mar 21 12:04:14 2002] [jk_ajp13_worker.c (443)]: Into
jk_worker_t::validate
[Thu Mar 21 12:04:14 2002] [jk_ajp13_worker.c (456)]: In
jk_worker_t::validate for worker web contact is wclopweb:8008
[Thu Mar 21 12:04:14 2002] [jk_ajp13_worker.c (482)]: Into
jk_worker_t::init
[Thu Mar 21 12:04:14 2002] [jk_worker.c (177)]: wc_create_worker, done
[Thu Mar 21 12:04:14 2002] [jk_worker.c (223)]: build_worker_map, removing
old web worker
[Thu Mar 21 12:04:14 2002] [jk_worker.c (235)]: build_worker_map, done
[Thu Mar 21 12:04:14 2002] [jk_worker.c (102)]: wc_open, done
[Thu Mar 21 12:05:12 2002] [jk_uri_worker_map.c (351)]: Into
jk_uri_worker_map_t::map_uri_to_worker
[Thu Mar 21 12:05:12 2002] [jk_uri_worker_map.c (368)]: Attempting to map
URI '/'
[Thu Mar 21 12:05:12 2002] [jk_uri_worker_map.c (456)]:
jk_uri_worker_map_t::map_uri_to_worker, done without a match
[Thu Mar 21 12:05:12 2002] [jk_uri_worker_map.c (351)]: Into
jk_uri_worker_map_t::map_uri_to_worker
[Thu Mar 21 12:05:12 2002] [jk_uri_worker_map.c (368)]: Attempting to map
URI '/index.html'
[Thu Mar 21 12:05:12 2002] [jk_uri_worker_map.c (456)]:
jk_uri_worker_map_t::map_uri_to_worker, done without a match
[Thu Mar 21 12:05:12 2002] [jk_uri_worker_map.c (351)]: Into
jk_uri_worker_map_t::map_uri_to_worker
[Thu Mar 21 12:05:12 2002] [jk_uri_worker_map.c (368)]: Attempting to map
URI '/index.jsp'
[Thu Mar 21 12:05:12 2002] [jk_uri_worker_map.c (416)]:
jk_uri_worker_map_t::map_uri_to_worker, Found a suffix match web -> *.jsp
[Thu Mar 21 12:05:12 2002] [jk_uri_worker_map.c (351)]: Into
jk_uri_worker_map_t::map_uri_to_worker
[Thu Mar 21 12:05:12 2002] [jk_uri_worker_map.c (368)]: Attempting to map
URI '/index.jsp'
[Thu Mar 21 12:05:12 2002] [jk_uri_worker_map.c (416)]:
jk_uri_worker_map_t::map_uri_to_worker, Found a suffix match web -> *.jsp
[Thu Mar 21 12:05:12 2002] [jk_worker.c (123)]: Into wc_get_worker_for_name
web
[Thu Mar 21 12:05:12 2002] [jk_worker.c (127)]: wc_get_worker_for_name,
done found a worker
[Thu Mar 21 12:05:12 2002] [jk_ajp13_worker.c (865)]: Into
jk_worker_t::get_endpoint
[Thu Mar 21 12:05:12 2002] [jk_ajp13_worker.c (775)]: Into
jk_endpoint_t::service
[Thu Mar 21 12:05:12 2002] [jk_ajp13.c (403)]: Into ajp13_marshal_into_msgb
[Thu Mar 21 12:05:12 2002] [jk_ajp13.c (537)]: ajp13_marshal_into_msgb -
Done
[Thu Mar 21 12:05:12 2002] [jk_connect.c (108)]: Into jk_open_socket
[Thu Mar 21 12:05:12 2002] [jk_connect.c (115)]: jk_open_socket, try to
connect socket = 7
[Thu Mar 21 12:05:12 2002] [jk_connect.c (124)]: jk_open_socket, after
connect ret = -1
[Thu Mar 21 12:05:12 2002] [jk_connect.c (143)]: jk_open_socket, connect()
failed errno = 239
[Thu Mar 21 12:05:12 2002] [jk_ajp13_worker.c (196)]: In
jk_endpoint_t::connect_to_tomcat, failed errno = 239
[Thu Mar 21 12:05:12 2002] [jk_ajp13_worker.c (635)]: Error connecting to
the Tomcat process.
[Thu Mar 21 12:05:12 2002] [jk_ajp13_worker.c (848)]: In
jk_endpoint_t::service, send_request failed in send loop 0
[Thu Mar 21 12:05:12 2002] [jk_connect.c (108)]: Into jk_open_socket
[Thu Mar 21 12:05:12 2002] [jk_connect.c (115)]: jk_open_socket, try to
connect socket = 7
[Thu Mar 21 12:05:12 2002] [jk_connect.c (124)]: jk_open_socket, after
connect ret = -1
[Thu Mar 21 12:05:12 2002] [jk_connect.c (143)]: jk_open_socket, connect()
failed errno = 239
[Thu Mar 21 12:05:12 2002] [jk_ajp13_worker.c (196)]: In
jk_endpoint_t::connect_to_tomcat, failed errno = 239
[Thu Mar 21 12:05:12 2002] [jk_ajp13_worker.c (635)]: Error connecting to
the Tomcat process.
[Thu Mar 21 12:05:12 2002] [jk_ajp13_worker.c (848)]: In
jk_endpoint_t::service, send_request failed in send loop 1
[Thu Mar 21 12:05:12 2002] [jk_connect.c (108)]: Into jk_open_socket
[Thu Mar 21 12:05:12 2002] [jk_connect.c (115)]: jk_open_socket, try to
connect socket = 7
[Thu Mar 21 12:05:12 2002] [jk_connect.c (124)]: jk_open_socket, after
connect ret = -1
[Thu Mar 21 12:05:12 2002] [jk_connect.c (143)]: jk_open_socket, connect()
failed errno = 239
[Thu Mar 21 12:05:12 2002] [jk_ajp13_worker.c (196)]: In
jk_endpoint_t::connect_to_tomcat, failed errno = 239
[Thu Mar 21 12:05:12 2002] [jk_ajp13_worker.c (635)]: Error connecting to
the Tomcat process.
[Thu Mar 21 12:05:12 2002] [jk_ajp13_worker.c (848)]: In
jk_endpoint_t::service, send_request failed in send loop 2
[Thu Mar 21 12:05:12 2002] [jk_ajp13_worker.c (549)]: Into
jk_endpoint_t::done
##########################################################################
Here are the relevant parts of httpd.conf;
LoadModule jk_module libexec/mod_jk.so
# mod_jk configuration.
JkWorkersFile "/etc/opt/apache/workers.properties"
JkLogFile "/var/opt/apache/logs/mod_jk.log"
JkLogLevel debug
<VirtualHost _default_:80>
DocumentRoot /home/httpd/webhtdocs
ServerName wclopweb
JkMount /*.jsp web
JkMount /*.do web
JkMount /servlet/* web
JkMount /j_security_check web
ErrorLog /var/opt/apache/logs/error_log
CustomLog /var/opt/apache/logs/access_log common
LogLevel warn
<Location "/WEB-INF/">
AllowOverride None
deny from all
</Location>
</VirtualHost>
##########################################################################
The relevant parts of workers.properties;
workers.tomcat_home=/opt/tomcat4/dist
workers.java_home=/opt/java1.2
ps=/
worker.list=admin, web
worker.admin.port=8009
worker.admin.host=wclopweb
worker.admin.type=ajp13
worker.web.port=8008
worker.web.host=wclopweb
worker.web.type=ajp13
worker.web.lbfactor=1
##########################################################################
The server.xml file;
<Server port="8005" shutdown="SHUTDOWN" debug="0">
<!-- Define an Apache-Connector Service -->
<Service name="Tomcat-Apache">
<Connector className="org.apache.ajp.tomcat4.Ajp13Connector"
port="8008" minProcessors="5" maxProcessors="75"
enableLookups="true" appBase="webapps"
acceptCount="10" debug="0"/>
<!-- Replace "localhost" with what your Apache "ServerName" is set to
-->
<Engine
name="Apache" defaultHost="wclopweb" debug="0">
<!-- Global logger unless overridden at lower levels -->
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="apache_log." suffix=".txt"
timestamp="true"/>
<Host name="wclopweb" debug="0"
appBase="/home/httpd/tomcatweb/webapps" unpackWARs="false">
<Context path="" docBase="webroot.war" debug="0" reloadable="false">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="tomcatweb." suffix=".log" timestamp="true"/>
</Context>
</Host>
</Engine>
</Service>
</Server>
##########################################################################
Bruce Ashton
Java Developer
Product Development Branch
Commercial Division
ext. 4560
--
To unsubscribe: <mailto:[EMAIL PROTECTED]>
For additional commands: <mailto:[EMAIL PROTECTED]>
Troubles with the list: <mailto:[EMAIL PROTECTED]>