IIS + Tomcat jk2 uri mapping
Hi all, We are using IIS5.0 as a web server and Tomcat 5.5.17 as application server, and jk2 to redirect request from IIS to Tomcat. Our application is hosted on www.mydomain.com which will default to www.mydomain.com/index.jsp. We also host AWStats for this domain as a virtual directory in IIS called stats, to be accessed as www.mydomain.com/stats/awstats.pl We have a problem in the mapping in jk2 workers properties uri mapping. As www.mydomain.com needs to default index.jsp, it has to be included in the mapping for Tomcat to process the request (as in [uri:www.mydomain.com/*]). However, AWStats is Perl which needs to be served by IIS. Is there a way to exclude certain mappings (in my case I need to exclude www.mydomain.com/stats/*) Thank you and regards, KL - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Web Service Request not passing through Mod_Jk
Hello, Peter Neu schrieb: Hello, I have a strange problem with mod_jk. Until now I never had trouble with mod_jk but lately I need to pass web service requests through to an Axis server running on tomcat (5.5.9). So what's the problem? There is no line in your post, telling us what the real problem is. It sounds like the forwarded requests do not reach tomcat? - What response do you get from apache? - How does the mod_jk log proceed? Your copypaste stopps, where it starts to get interesting - Can you see correspoding network traffic on the tomcat side, using a network sniffer? Regards, Rainer The strange thing is the pass-through works if the web service client resides on the same machine as apache httpd. But this is not a real use case. ;o) My first thought was this must be the firewall. But I opened all possible ports on the firewall and still got the same result. Besides this shouldn't be of any concern since axis uses the same http ports and it should be no difference if the request comes from a browser or a web service client using common http client. Error message I get are the usual java.net.SocketTimeout Exceptions. In the access.log of apache httpd I can see all requests coming either from localhost or the external client so no firewall problem possible. I set mod_jk log level to debug and see it's passing everything through even the request from the external client. I already asked at axis httpd mailings list. Nobody knew how to solve this. Cheers, Pete Attempting to map URI '/axis2/services/binarytest' [jk_uri_worker_map.c (524)]: jk_uri_worker_map_t::map_uri_to_worker, Found a context match worker2 - /axis2/ [mod_jk.c (1717)]: Into handler r-proxyreq=0 r-handler=jakarta-servlet r-notes=136973856 worker=worker2 jk_worker.c (132)]: Into wc_get_worker_for_name worker2 [jk_worker.c (136)]: wc_get_worker_for_name, done found a worker [mod_jk.c (505)]: agsp=8080 agsn=192.168.200.194 hostn=192.168.200.194 shostn=my.proxy.de cbsport=0 sport=0 [jk_ajp_common.c (1693)]: Into jk_worker_t::get_endpoint [jk_ajp_common.c (1737)]: In jk_endpoint_t::ajp_get_endpoint, time elapsed since last request = 10 seconds [jk_ajp_common.c (1326)]: Into jk_endpoint_t::service [jk_ajp_common.c (298)]: Into ajp_marshal_into_msgb - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: IIS + Tomcat jk2 uri mapping
mod_jk2 is not supported any more. Actually this decision was done quite some time ago. Most of the features of mod_jk2 have been ported to mod_jk, which is still fully supported. I don't know enough about mod_jk2, but in mod_jk you would prefix your map with an exclamation mark ! to make an exclusion rule out of it. In the mod_jk uriworkermap.properties syntax you would write: www.mydomain.com/*=MY_WORKER !www.mydomain.com/stats/*=MY_WORKER where MY_WORKER is your worker. Regards, Rainer Low Kwok Leong schrieb: Hi all, We are using IIS5.0 as a web server and Tomcat 5.5.17 as application server, and jk2 to redirect request from IIS to Tomcat. Our application is hosted on www.mydomain.com which will default to www.mydomain.com/index.jsp. We also host AWStats for this domain as a virtual directory in IIS called stats, to be accessed as www.mydomain.com/stats/awstats.pl We have a problem in the mapping in jk2 workers properties uri mapping. As www.mydomain.com needs to default index.jsp, it has to be included in the mapping for Tomcat to process the request (as in [uri:www.mydomain.com/*]). However, AWStats is Perl which needs to be served by IIS. Is there a way to exclude certain mappings (in my case I need to exclude www.mydomain.com/stats/*) Thank you and regards, KL - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
AW: Web Service Request not passing through Mod_Jk
Hi, the problem is that a web service request coming from external client fails with a timeout exception while the same client on the proxy host works. I only see the java.net.SocketTimeout exception in my java stack trace. My assumption is that the tomcat server does receive nothing at all because I write some log messages to the Catalina.out when the axis service gets called. Please tell what kind of network sniffer you would propose. OS running below the tomcat server is SUSE ES 9. Below you find the full log information. Cheers, Pete [jk_uri_worker_map.c (486)]: Into jk_uri_worker_map_t::map_uri_to_worker [jk_uri_worker_map.c (500)]: Attempting to map URI '/axis2/services/binarytest' [jk_uri_worker_map.c (524)]: jk_uri_worker_map_t::map_uri_to_worker, Found a context match worker2 - /axis2/ [mod_jk.c (1717)]: Into handler r-proxyreq=0 r-handler=jakarta-servlet r-notes=137092600 worker=worker2 [jk_worker.c (132)]: Into wc_get_worker_for_name worker2 [jk_worker.c (136)]: wc_get_worker_for_name, done found a worker [mod_jk.c (505)]: agsp=8080 agsn=192.168.200.194 hostn=192.168.200.194 shostn=daten.ktbl.de cbsport=0 sport=0 [jk_ajp_common.c (1693)]: Into jk_worker_t::get_endpoint [jk_ajp_common.c (1737)]: In jk_endpoint_t::ajp_get_endpoint, time elapsed since last request = 93 seconds [jk_ajp_common.c (1326)]: Into jk_endpoint_t::service [jk_ajp_common.c (298)]: Into ajp_marshal_into_msgb [jk_ajp_common.c (466)]: ajp_marshal_into_msgb - Done [jk_ajp_common.c (777)]: sending to ajp13 #446 [jk_ajp_common.c (1071)]: ajp_send_request 2: request body to send 0 - request body to resend 0 [jk_ajp_common.c (888)]: received from ajp13 #3 [jk_uri_worker_map.c (486)]: Into jk_uri_worker_map_t::map_uri_to_worker // end here -- already the next request [jk_uri_worker_map.c (500)]: Attempting to map URI '/energy/style/styleguide.css' -Ursprüngliche Nachricht- Von: Rainer Jung [mailto:[EMAIL PROTECTED] Gesendet: Freitag, 8. Dezember 2006 09:47 An: Tomcat Users List Betreff: Re: Web Service Request not passing through Mod_Jk Hello, Peter Neu schrieb: Hello, I have a strange problem with mod_jk. Until now I never had trouble with mod_jk but lately I need to pass web service requests through to an Axis server running on tomcat (5.5.9). So what's the problem? There is no line in your post, telling us what the real problem is. It sounds like the forwarded requests do not reach tomcat? - What response do you get from apache? - How does the mod_jk log proceed? Your copypaste stopps, where it starts to get interesting - Can you see correspoding network traffic on the tomcat side, using a network sniffer? Regards, Rainer The strange thing is the pass-through works if the web service client resides on the same machine as apache httpd. But this is not a real use case. ;o) My first thought was this must be the firewall. But I opened all possible ports on the firewall and still got the same result. Besides this shouldn't be of any concern since axis uses the same http ports and it should be no difference if the request comes from a browser or a web service client using common http client. Error message I get are the usual java.net.SocketTimeout Exceptions. In the access.log of apache httpd I can see all requests coming either from localhost or the external client so no firewall problem possible. I set mod_jk log level to debug and see it's passing everything through even the request from the external client. I already asked at axis httpd mailings list. Nobody knew how to solve this. Cheers, Pete Attempting to map URI '/axis2/services/binarytest' [jk_uri_worker_map.c (524)]: jk_uri_worker_map_t::map_uri_to_worker, Found a context match worker2 - /axis2/ [mod_jk.c (1717)]: Into handler r-proxyreq=0 r-handler=jakarta-servlet r-notes=136973856 worker=worker2 jk_worker.c (132)]: Into wc_get_worker_for_name worker2 [jk_worker.c (136)]: wc_get_worker_for_name, done found a worker [mod_jk.c (505)]: agsp=8080 agsn=192.168.200.194 hostn=192.168.200.194 shostn=my.proxy.de cbsport=0 sport=0 [jk_ajp_common.c (1693)]: Into jk_worker_t::get_endpoint [jk_ajp_common.c (1737)]: In jk_endpoint_t::ajp_get_endpoint, time elapsed since last request = 10 seconds [jk_ajp_common.c (1326)]: Into jk_endpoint_t::service [jk_ajp_common.c (298)]: Into ajp_marshal_into_msgb - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic,
Re: AW: Web Service Request not passing through Mod_Jk
Under Linux you can use tcpdump to sniff network packets. It looks like your mod_jk is pretty old? The log messages don't fit to newer versions. We improved logging and overall maintainability in the meantime. Please switch to 1.2.19 to make debugging easier. Regards, Rainer Peter Neu schrieb: Hi, the problem is that a web service request coming from external client fails with a timeout exception while the same client on the proxy host works. I only see the java.net.SocketTimeout exception in my java stack trace. My assumption is that the tomcat server does receive nothing at all because I write some log messages to the Catalina.out when the axis service gets called. Please tell what kind of network sniffer you would propose. OS running below the tomcat server is SUSE ES 9. Below you find the full log information. Cheers, Pete [jk_uri_worker_map.c (486)]: Into jk_uri_worker_map_t::map_uri_to_worker [jk_uri_worker_map.c (500)]: Attempting to map URI '/axis2/services/binarytest' [jk_uri_worker_map.c (524)]: jk_uri_worker_map_t::map_uri_to_worker, Found a context match worker2 - /axis2/ [mod_jk.c (1717)]: Into handler r-proxyreq=0 r-handler=jakarta-servlet r-notes=137092600 worker=worker2 [jk_worker.c (132)]: Into wc_get_worker_for_name worker2 [jk_worker.c (136)]: wc_get_worker_for_name, done found a worker [mod_jk.c (505)]: agsp=8080 agsn=192.168.200.194 hostn=192.168.200.194 shostn=daten.ktbl.de cbsport=0 sport=0 [jk_ajp_common.c (1693)]: Into jk_worker_t::get_endpoint [jk_ajp_common.c (1737)]: In jk_endpoint_t::ajp_get_endpoint, time elapsed since last request = 93 seconds [jk_ajp_common.c (1326)]: Into jk_endpoint_t::service [jk_ajp_common.c (298)]: Into ajp_marshal_into_msgb [jk_ajp_common.c (466)]: ajp_marshal_into_msgb - Done [jk_ajp_common.c (777)]: sending to ajp13 #446 [jk_ajp_common.c (1071)]: ajp_send_request 2: request body to send 0 - request body to resend 0 [jk_ajp_common.c (888)]: received from ajp13 #3 [jk_uri_worker_map.c (486)]: Into jk_uri_worker_map_t::map_uri_to_worker // end here -- already the next request [jk_uri_worker_map.c (500)]: Attempting to map URI '/energy/style/styleguide.css' -Ursprüngliche Nachricht- Von: Rainer Jung [mailto:[EMAIL PROTECTED] Gesendet: Freitag, 8. Dezember 2006 09:47 An: Tomcat Users List Betreff: Re: Web Service Request not passing through Mod_Jk Hello, Peter Neu schrieb: Hello, I have a strange problem with mod_jk. Until now I never had trouble with mod_jk but lately I need to pass web service requests through to an Axis server running on tomcat (5.5.9). So what's the problem? There is no line in your post, telling us what the real problem is. It sounds like the forwarded requests do not reach tomcat? - What response do you get from apache? - How does the mod_jk log proceed? Your copypaste stopps, where it starts to get interesting - Can you see correspoding network traffic on the tomcat side, using a network sniffer? Regards, Rainer The strange thing is the pass-through works if the web service client resides on the same machine as apache httpd. But this is not a real use case. ;o) My first thought was this must be the firewall. But I opened all possible ports on the firewall and still got the same result. Besides this shouldn't be of any concern since axis uses the same http ports and it should be no difference if the request comes from a browser or a web service client using common http client. Error message I get are the usual java.net.SocketTimeout Exceptions. In the access.log of apache httpd I can see all requests coming either from localhost or the external client so no firewall problem possible. I set mod_jk log level to debug and see it's passing everything through even the request from the external client. I already asked at axis httpd mailings list. Nobody knew how to solve this. Cheers, Pete Attempting to map URI '/axis2/services/binarytest' [jk_uri_worker_map.c (524)]: jk_uri_worker_map_t::map_uri_to_worker, Found a context match worker2 - /axis2/ [mod_jk.c (1717)]: Into handler r-proxyreq=0 r-handler=jakarta-servlet r-notes=136973856 worker=worker2 jk_worker.c (132)]: Into wc_get_worker_for_name worker2 [jk_worker.c (136)]: wc_get_worker_for_name, done found a worker [mod_jk.c (505)]: agsp=8080 agsn=192.168.200.194 hostn=192.168.200.194 shostn=my.proxy.de cbsport=0 sport=0 [jk_ajp_common.c (1693)]: Into jk_worker_t::get_endpoint [jk_ajp_common.c (1737)]: In jk_endpoint_t::ajp_get_endpoint, time elapsed since last request = 10 seconds [jk_ajp_common.c (1326)]: Into jk_endpoint_t::service [jk_ajp_common.c (298)]: Into ajp_marshal_into_msgb - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
AW: AW: Web Service Request not passing through Mod_Jk
Wow, I was lucky there was a binary version of mod_jk for my httpd version. Here is the new log output. I can send it to you directly as attachment if you like. I think it would improve readability. In the meantime I'll see what I can do with tcpdump. Cheers, Pete map_uri_to_worker::jk_uri_worker_map.c (513): Attempting to map URI '/axis2/services/binarytest' from 23 maps map_uri_to_worker::jk_uri_worker_map.c (525): Attempting to map context URI '/probe/*' map_uri_to_worker::jk_uri_worker_map.c (525): Attempting to map context URI '/axis2/*' map_uri_to_worker::jk_uri_worker_map.c (539): Found a wildchar match worker2 - /axis2/* jk_handler::mod_jk.c (1920): Into handler jakarta-servlet worker=worker2 r-proxyreq=0 wc_get_worker_for_name::jk_worker.c (111): found a worker worker2 wc_maintain::jk_worker.c (318): Maintaining worker worker1 ajp_maintain::jk_ajp_common.c (2324): reached pool min size 0 from 10 cache slots ajp_maintain::jk_ajp_common.c (2332): recycled 0 sockets in 0 seconds from 10 pool slots wc_maintain::jk_worker.c (318): Maintaining worker worker2 wc_get_name_for_type::jk_worker.c (287): Found worker type 'ajp13' init_ws_service::mod_jk.c (568): Service protocol=HTTP/1.1 method=POST host=(null) addr=192.168.200.188 name=192.168.200.194 port=8080 auth=(null) user=(null) laddr=213.157.4.28 raddr=192.168.200.188 ajp_get_endpoint::jk_ajp_common.c (2251): acquired connection pool slot=0 ajp_marshal_into_msgb::jk_ajp_common.c (547): ajp marshaling done ajp_service::jk_ajp_common.c (1734): processing worker2 with 5 retries jk_open_socket::jk_connect.c (334): socket TCP_NODELAY set to On jk_open_socket::jk_connect.c (347): socket SO_KEEPALIVE set to On jk_open_socket::jk_connect.c (432): trying to connect socket 12 to 192.168.200.194:8009 jk_open_socket::jk_connect.c (458): socket 12 connected to 192.168.200.194:8009 ajp_connect_to_endpoint::jk_ajp_common.c (846): Connected socket 12 to (192.168.200.194:8009) ajp_connection_tcp_send_message::jk_ajp_common.c (892): sending to ajp13 pos=4 len=446 max=8192 ajp_connection_tcp_send_message::jk_ajp_common.c (892): 12 34 01 BA 02 04 00 08 48 54 54 50 2F 31 2E 31 - .4..HTTP/1.1 ajp_connection_tcp_send_message::jk_ajp_common.c (892): 001000 00 1A 2F 61 78 69 73 32 2F 73 65 72 76 69 63 - .../axis2/servic ajp_connection_tcp_send_message::jk_ajp_common.c (892): 002065 73 2F 62 69 6E 61 72 79 74 65 73 74 00 00 0F - es/binarytest... ajp_connection_tcp_send_message::jk_ajp_common.c (892): 003031 39 32 2E 31 36 38 2E 32 30 30 2E 31 38 38 00 - 192.168.200.188. ajp_connection_tcp_send_message::jk_ajp_common.c (892): 0040FF FF 00 0F 31 39 32 2E 31 36 38 2E 32 30 30 2E - 192.168.200. ajp_connection_tcp_send_message::jk_ajp_common.c (892): 005031 39 34 00 1F 90 00 00 06 00 0A 53 4F 41 50 41 - 194SOAPA ajp_connection_tcp_send_message::jk_ajp_common.c (892): 006063 74 69 6F 6E 00 00 19 22 75 72 6E 3A 61 78 77 - ction...urn:axw ajp_connection_tcp_send_message::jk_ajp_common.c (892): 007073 2E 62 69 6E 61 72 79 2F 67 65 74 46 69 6C 65 - s.binary/getFile ajp_connection_tcp_send_message::jk_ajp_common.c (892): 008022 00 A0 0E 00 05 41 78 69 73 32 00 A0 0B 00 14 - .Axis2. ajp_connection_tcp_send_message::jk_ajp_common.c (892): 009031 39 32 2E 31 36 38 2E 32 30 30 2E 31 39 34 3A - 192.168.200.194: ajp_connection_tcp_send_message::jk_ajp_common.c (892): 00a038 30 38 30 00 00 10 50 72 6F 78 79 2D 43 6F 6E - 8080...Proxy-Con ajp_connection_tcp_send_message::jk_ajp_common.c (892): 00b06E 65 63 74 69 6F 6E 00 00 0A 4B 65 65 70 2D 41 - nection...Keep-A ajp_connection_tcp_send_message::jk_ajp_common.c (892): 00c06C 69 76 65 00 00 11 54 72 61 6E 73 66 65 72 2D - live...Transfer- ajp_connection_tcp_send_message::jk_ajp_common.c (892): 00d045 6E 63 6F 64 69 6E 67 00 00 07 63 68 75 6E 6B - Encoding...chunk ajp_connection_tcp_send_message::jk_ajp_common.c (892): 00e065 64 00 A0 07 00 D5 6D 75 6C 74 69 70 61 72 74 - ed.multipart ajp_connection_tcp_send_message::jk_ajp_common.c (892): 00f02F 72 65 6C 61 74 65 64 3B 20 62 6F 75 6E 64 61 - /related;.bounda ajp_connection_tcp_send_message::jk_ajp_common.c (892): 010072 79 3D 4D 49 4D 45 42 6F 75 6E 64 61 72 79 75 - ry=MIMEBoundaryu ajp_connection_tcp_send_message::jk_ajp_common.c (892): 011072 6E 5F 75 75 69 64 5F 41 45 37 38 33 39 35 38 - rn_uuid_AE783958 ajp_connection_tcp_send_message::jk_ajp_common.c (892): 012035 38 43 32 41 41 35 43 42 46 31 31 36 35 35 37 - 58C2AA5CBF116557 ajp_connection_tcp_send_message::jk_ajp_common.c (892): 013030 31 38 32 39 38 34 31 3B 20 74 79 70 65 3D 22 - 01829841;.type= ajp_connection_tcp_send_message::jk_ajp_common.c (892): 014061 70 70 6C 69 63 61 74 69 6F 6E 2F 78 6F 70 2B - application/xop+ ajp_connection_tcp_send_message::jk_ajp_common.c (892): 015078 6D 6C 22 3B 20 73 74 61 72 74 3D 22 3C 30 2E - xml;.start=0. ajp_connection_tcp_send_message::jk_ajp_common.c
AW: AW: Web Service Request not passing through Mod_Jk
Tcpdump gives me a lot of output. I redirected the output to a file. But I can't find any valuable information in it. Do you know what to look for? Cheers, Pete -Ursprüngliche Nachricht- Von: Peter Neu [mailto:[EMAIL PROTECTED] Gesendet: Freitag, 8. Dezember 2006 10:39 An: 'Tomcat Users List' Betreff: AW: AW: Web Service Request not passing through Mod_Jk Wow, I was lucky there was a binary version of mod_jk for my httpd version. Here is the new log output. I can send it to you directly as attachment if you like. I think it would improve readability. In the meantime I'll see what I can do with tcpdump. Cheers, Pete map_uri_to_worker::jk_uri_worker_map.c (513): Attempting to map URI '/axis2/services/binarytest' from 23 maps map_uri_to_worker::jk_uri_worker_map.c (525): Attempting to map context URI '/probe/*' map_uri_to_worker::jk_uri_worker_map.c (525): Attempting to map context URI '/axis2/*' map_uri_to_worker::jk_uri_worker_map.c (539): Found a wildchar match worker2 - /axis2/* jk_handler::mod_jk.c (1920): Into handler jakarta-servlet worker=worker2 r-proxyreq=0 wc_get_worker_for_name::jk_worker.c (111): found a worker worker2 wc_maintain::jk_worker.c (318): Maintaining worker worker1 ajp_maintain::jk_ajp_common.c (2324): reached pool min size 0 from 10 cache slots ajp_maintain::jk_ajp_common.c (2332): recycled 0 sockets in 0 seconds from 10 pool slots wc_maintain::jk_worker.c (318): Maintaining worker worker2 wc_get_name_for_type::jk_worker.c (287): Found worker type 'ajp13' init_ws_service::mod_jk.c (568): Service protocol=HTTP/1.1 method=POST host=(null) addr=192.168.200.188 name=192.168.200.194 port=8080 auth=(null) user=(null) laddr=213.157.4.28 raddr=192.168.200.188 ajp_get_endpoint::jk_ajp_common.c (2251): acquired connection pool slot=0 ajp_marshal_into_msgb::jk_ajp_common.c (547): ajp marshaling done ajp_service::jk_ajp_common.c (1734): processing worker2 with 5 retries jk_open_socket::jk_connect.c (334): socket TCP_NODELAY set to On jk_open_socket::jk_connect.c (347): socket SO_KEEPALIVE set to On jk_open_socket::jk_connect.c (432): trying to connect socket 12 to 192.168.200.194:8009 jk_open_socket::jk_connect.c (458): socket 12 connected to 192.168.200.194:8009 ajp_connect_to_endpoint::jk_ajp_common.c (846): Connected socket 12 to (192.168.200.194:8009) ajp_connection_tcp_send_message::jk_ajp_common.c (892): sending to ajp13 pos=4 len=446 max=8192 ajp_connection_tcp_send_message::jk_ajp_common.c (892): 12 34 01 BA 02 04 00 08 48 54 54 50 2F 31 2E 31 - .4..HTTP/1.1 ajp_connection_tcp_send_message::jk_ajp_common.c (892): 001000 00 1A 2F 61 78 69 73 32 2F 73 65 72 76 69 63 - .../axis2/servic ajp_connection_tcp_send_message::jk_ajp_common.c (892): 002065 73 2F 62 69 6E 61 72 79 74 65 73 74 00 00 0F - es/binarytest... ajp_connection_tcp_send_message::jk_ajp_common.c (892): 003031 39 32 2E 31 36 38 2E 32 30 30 2E 31 38 38 00 - 192.168.200.188. ajp_connection_tcp_send_message::jk_ajp_common.c (892): 0040FF FF 00 0F 31 39 32 2E 31 36 38 2E 32 30 30 2E - 192.168.200. ajp_connection_tcp_send_message::jk_ajp_common.c (892): 005031 39 34 00 1F 90 00 00 06 00 0A 53 4F 41 50 41 - 194SOAPA ajp_connection_tcp_send_message::jk_ajp_common.c (892): 006063 74 69 6F 6E 00 00 19 22 75 72 6E 3A 61 78 77 - ction...urn:axw ajp_connection_tcp_send_message::jk_ajp_common.c (892): 007073 2E 62 69 6E 61 72 79 2F 67 65 74 46 69 6C 65 - s.binary/getFile ajp_connection_tcp_send_message::jk_ajp_common.c (892): 008022 00 A0 0E 00 05 41 78 69 73 32 00 A0 0B 00 14 - .Axis2. ajp_connection_tcp_send_message::jk_ajp_common.c (892): 009031 39 32 2E 31 36 38 2E 32 30 30 2E 31 39 34 3A - 192.168.200.194: ajp_connection_tcp_send_message::jk_ajp_common.c (892): 00a038 30 38 30 00 00 10 50 72 6F 78 79 2D 43 6F 6E - 8080...Proxy-Con ajp_connection_tcp_send_message::jk_ajp_common.c (892): 00b06E 65 63 74 69 6F 6E 00 00 0A 4B 65 65 70 2D 41 - nection...Keep-A ajp_connection_tcp_send_message::jk_ajp_common.c (892): 00c06C 69 76 65 00 00 11 54 72 61 6E 73 66 65 72 2D - live...Transfer- ajp_connection_tcp_send_message::jk_ajp_common.c (892): 00d045 6E 63 6F 64 69 6E 67 00 00 07 63 68 75 6E 6B - Encoding...chunk ajp_connection_tcp_send_message::jk_ajp_common.c (892): 00e065 64 00 A0 07 00 D5 6D 75 6C 74 69 70 61 72 74 - ed.multipart ajp_connection_tcp_send_message::jk_ajp_common.c (892): 00f02F 72 65 6C 61 74 65 64 3B 20 62 6F 75 6E 64 61 - /related;.bounda ajp_connection_tcp_send_message::jk_ajp_common.c (892): 010072 79 3D 4D 49 4D 45 42 6F 75 6E 64 61 72 79 75 - ry=MIMEBoundaryu ajp_connection_tcp_send_message::jk_ajp_common.c (892): 011072 6E 5F 75 75 69 64 5F 41 45 37 38 33 39 35 38 - rn_uuid_AE783958 ajp_connection_tcp_send_message::jk_ajp_common.c (892): 012035 38 43 32 41 41 35 43 42 46
How to restrict number of active logins/sessions to one per user
Hi, Can someone please suggest an effective way to restrict number of sessions/logins allowed per user. This is a security requirement imposed by the client I currently deal witt. I would like for some Tomcat specialists to suggest some intelligent solution for this. Thanks in advance! Thank you, Edmon
Re: How to restrict number of active logins/sessions to one per user
Edmon Begoli wrote: Can someone please suggest an effective way to restrict number of sessions/logins allowed per user. Java Web Parts and a filter similiar to http://javawebparts.sourceforge.net/javadocs/javawebparts/filter/SessionLimiterFilter.html -- Mikolaj Rydzewski [EMAIL PROTECTED] smime.p7s Description: S/MIME Cryptographic Signature
Re: How to restrict number of active logins/sessions to one per user
If your intention is Brute Force Attach use Apache Web server, you might try mod_evasive to protect your login forms If you want to keep track, if the user is allready using another session, you might save the information in the database and check for each login if there is an entry in the db and then if the entry is still a valid session. Best Regards Sebastian Edmon Begoli schrieb: Hi, Can someone please suggest an effective way to restrict number of sessions/logins allowed per user. This is a security requirement imposed by the client I currently deal witt. I would like for some Tomcat specialists to suggest some intelligent solution for this. Thanks in advance! Thank you, Edmon - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat Log4j
Hi Pierre, I recently ran into the same error. After debugging the application in Eclipse, I saw which package in the classpath led to the error and could savely delete it from CP. Badabing, error gone. Check if it brings you further. Cheers, Dirk Pierre Goupil wrote: Hi ! No, still no way. After a complete re-install I've put a log4j.propertiesalternatively in all the places you all told me to, but it does nothing : still the same exception... Here's the file : * * * * * * * * #définition du niveau et des Appender du rootLogger log4j.rootLogger=WARN,anAppender #configuration de monAppender #nous allons envoyer les messages dans la console de Tomcat log4j.appender.anAppender=org.apache.log4j.ConsoleAppender #définition du Layout pour monAppender log4j.appender.anAppender.layout=org.apache.log4j.PatternLayout #définition du pattern d'affichage pour monAppender #voici un exemple de sortie que l'on va obtenir : 2005-06-18 14:53:37 DEBUG [Main] Hello World log4j.appender.anAppender.layout.ConversionPattern=%d{MM-dd HH:mm:ss} %-5p [%c{1}] %m%n * * * * * * * * I've found it in a tuto, so I guess it's corrct. At this point I'm starting to think to a com.sun.org.apache.commons.loggingbug... Regards, Pierre 2006/11/23, David Smith [EMAIL PROTECTED]: I've read the entire thread and decided to go back to the original post for a re-read. Have you considered the possibility that your tomcat (or wtp) install has suffered some corruption during the HD crash? You might want to try backing up the current setup, then re-install and add back in your webapp and other customizations. Test at various places along the way until it all works or breaks. If a fresh install works and then breaks after adding something back in, you've found the issue. As to the location of log4j.properties, the ideal is to place one for the server in server/classes for tomcat's internal classloader and one in each webapp's WEB-INF/classes folder for each webapp's logging. If you place log4j.properties in common/lib, it becomes the log4j config for all of tomcat -- the server's internal working and your webapps. I would recommend you don't mess with trying to set classpath for tomcat unless you absolutely have to. --David Pierre Goupil wrote: Hi all ! I once had a Tomcat 5.5 and an Eclipse 3.2 that where running just fine and then... the HDD crashed... I suffered no data lost but since then, I can't start Tomcat anymore. The server view of Eclipse gives me the following trace : Exception in thread main java.lang.ExceptionInInitializerError Caused by: com.sun.org.apache.commons.logging.LogConfigurationException: com.sun.org.apache.commons.logging.LogConfigurationException : java.lang.NullPointerException (Caused by java.lang.NullPointerException ) (Caused by com.sun.org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.NullPointerException )) at com.sun.org.apache.commons.logging.impl.LogFactoryImpl.newInstance ( LogFactoryImpl.java:543) at com.sun.org.apache.commons.logging.impl.LogFactoryImpl.getInstance ( LogFactoryImpl.java:235) at com.sun.org.apache.commons.logging.impl.LogFactoryImpl.getInstance ( LogFactoryImpl.java:209) at com.sun.org.apache.commons.logging.LogFactory.getLog(LogFactory.java :351) at org.apache.catalina.startup.Bootstrap.clinit(Bootstrap.java:73) Caused by: com.sun.org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.NullPointerException ) at com.sun.org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor ( LogFactoryImpl.java:397) at com.sun.org.apache.commons.logging.impl.LogFactoryImpl.newInstance ( LogFactoryImpl.java:529) ... 4 more Caused by: java.lang.NullPointerException at com.sun.org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor ( LogFactoryImpl.java:374) ... 5 more I eventually felt into Commons-logging / Log4j neighborhood jam ! The log system of my servlet (Log4j) doesn't work anymore, but I don't bother because it doesn't start anyway. But, regarding Tomcat's log system re-launching, it's an usual concern : lots of people talk about that. But neither them nor me can find a solution. Of course I've found a lot of tutorials, but they can't help... I have re-installed my workstation, indeed. I've tried to launch Tomcat via another plugin, too. I gave Sysdeo a try : Tomcat runs, loads the servlet, but doesn't run it and keeps quiet. No servlet log, no exception, no result (resource unavailable). If someone could help me find a definitive answer
ISAPI_redirect, IIS6.0 vs TomCat 5.0.28 - multiple websites!
Hi everybody, we're successfully running IIS6.0 connected to a TomCat 5.0.28 with an ISAPI_redirect - but just on the default website. Now we want to create some more websites, but it does not seem to work. I deleted the ISAPI filter from the default website and put it to the main webfolder (where all websites are in) and created for every website a virtual directory, leading to the isapi_redirect.dll - read and execute permissions. If I'm trying one website the IIS just shows a 404 error message - seems that he does not forward (or whatever) the request. Does anyone know what to do or a good how to? Many thanks in advance! Regards, Florian Nahnsen - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: AW: Web Service Request not passing through Mod_Jk
Peter please ask on axis-users Martin --- This e-mail message (including attachments, if any) is intended for the use of the individual or entity to which it is addressed and may contain information that is privileged, proprietary , confidential and exempt from disclosure. If you are not the intended recipient, you are notified that any dissemination, distribution or copying of this communication is strictly prohibited. --- Le présent message électronique (y compris les pièces qui y sont annexées, le cas échéant) s'adresse au destinataire indiqué et peut contenir des renseignements de caractère privé ou confidentiel. Si vous n'êtes pas le destinataire de ce document, nous vous signalons qu'il est strictement interdit de le diffuser, de le distribuer ou de le reproduire. - Original Message - From: Peter Neu [EMAIL PROTECTED] To: 'Tomcat Users List' users@tomcat.apache.org Sent: Friday, December 08, 2006 4:38 AM Subject: AW: AW: Web Service Request not passing through Mod_Jk Wow, I was lucky there was a binary version of mod_jk for my httpd version. Here is the new log output. I can send it to you directly as attachment if you like. I think it would improve readability. In the meantime I'll see what I can do with tcpdump. Cheers, Pete map_uri_to_worker::jk_uri_worker_map.c (513): Attempting to map URI '/axis2/services/binarytest' from 23 maps map_uri_to_worker::jk_uri_worker_map.c (525): Attempting to map context URI '/probe/*' map_uri_to_worker::jk_uri_worker_map.c (525): Attempting to map context URI '/axis2/*' map_uri_to_worker::jk_uri_worker_map.c (539): Found a wildchar match worker2 - /axis2/* jk_handler::mod_jk.c (1920): Into handler jakarta-servlet worker=worker2 r-proxyreq=0 wc_get_worker_for_name::jk_worker.c (111): found a worker worker2 wc_maintain::jk_worker.c (318): Maintaining worker worker1 ajp_maintain::jk_ajp_common.c (2324): reached pool min size 0 from 10 cache slots ajp_maintain::jk_ajp_common.c (2332): recycled 0 sockets in 0 seconds from 10 pool slots wc_maintain::jk_worker.c (318): Maintaining worker worker2 wc_get_name_for_type::jk_worker.c (287): Found worker type 'ajp13' init_ws_service::mod_jk.c (568): Service protocol=HTTP/1.1 method=POST host=(null) addr=192.168.200.188 name=192.168.200.194 port=8080 auth=(null) user=(null) laddr=213.157.4.28 raddr=192.168.200.188 ajp_get_endpoint::jk_ajp_common.c (2251): acquired connection pool slot=0 ajp_marshal_into_msgb::jk_ajp_common.c (547): ajp marshaling done ajp_service::jk_ajp_common.c (1734): processing worker2 with 5 retries jk_open_socket::jk_connect.c (334): socket TCP_NODELAY set to On jk_open_socket::jk_connect.c (347): socket SO_KEEPALIVE set to On jk_open_socket::jk_connect.c (432): trying to connect socket 12 to 192.168.200.194:8009 jk_open_socket::jk_connect.c (458): socket 12 connected to 192.168.200.194:8009 ajp_connect_to_endpoint::jk_ajp_common.c (846): Connected socket 12 to (192.168.200.194:8009) ajp_connection_tcp_send_message::jk_ajp_common.c (892): sending to ajp13 pos=4 len=446 max=8192 ajp_connection_tcp_send_message::jk_ajp_common.c (892): 12 34 01 BA 02 04 00 08 48 54 54 50 2F 31 2E 31 - .4..HTTP/1.1 ajp_connection_tcp_send_message::jk_ajp_common.c (892): 001000 00 1A 2F 61 78 69 73 32 2F 73 65 72 76 69 63 - .../axis2/servic ajp_connection_tcp_send_message::jk_ajp_common.c (892): 002065 73 2F 62 69 6E 61 72 79 74 65 73 74 00 00 0F - es/binarytest... ajp_connection_tcp_send_message::jk_ajp_common.c (892): 003031 39 32 2E 31 36 38 2E 32 30 30 2E 31 38 38 00 - 192.168.200.188. ajp_connection_tcp_send_message::jk_ajp_common.c (892): 0040FF FF 00 0F 31 39 32 2E 31 36 38 2E 32 30 30 2E - 192.168.200. ajp_connection_tcp_send_message::jk_ajp_common.c (892): 005031 39 34 00 1F 90 00 00 06 00 0A 53 4F 41 50 41 - 194SOAPA ajp_connection_tcp_send_message::jk_ajp_common.c (892): 006063 74 69 6F 6E 00 00 19 22 75 72 6E 3A 61 78 77 - ction...urn:axw ajp_connection_tcp_send_message::jk_ajp_common.c (892): 007073 2E 62 69 6E 61 72 79 2F 67 65 74 46 69 6C 65 - s.binary/getFile ajp_connection_tcp_send_message::jk_ajp_common.c (892): 008022 00 A0 0E 00 05 41 78 69 73 32 00 A0 0B 00 14 - .Axis2. ajp_connection_tcp_send_message::jk_ajp_common.c (892): 009031 39 32 2E 31 36 38 2E 32 30 30 2E 31 39 34 3A - 192.168.200.194: ajp_connection_tcp_send_message::jk_ajp_common.c (892): 00a038 30 38 30 00 00 10 50 72 6F 78 79 2D 43 6F 6E - 8080...Proxy-Con ajp_connection_tcp_send_message::jk_ajp_common.c (892): 00b06E 65 63 74 69 6F 6E 00 00 0A 4B 65 65 70 2D 41 - nection...Keep-A ajp_connection_tcp_send_message::jk_ajp_common.c (892): 00c06C 69 76 65 00 00 11 54 72 61 6E 73 66 65 72 2D - live...Transfer- ajp_connection_tcp_send_message::jk_ajp_common.c (892): 00d045 6E 63 6F 64
Re: Is this possibe? mod_jk ==SSL== AJP/1.3
Hi, although I have not tested this personally, but I was told that mod_proxy (_ajp) does not have the Auto Flush option that you can set with mod_jk and thus creates problem for streaming applications. I wonder if others came accross this problem ? Rgds - Fred Hassan Schroeder-2 wrote: On 12/7/06, dfelicia [EMAIL PROTECTED] wrote: mod_proxy is ... It also doesn't offer load-balancing, Not true; see http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html I've used this recently (with mod_proxy_ajp) and it worked fine. :-) FWIW, -- Hassan Schroeder [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/Is-this-possibe---mod_jk-%3C%3D%3DSSL%3D%3D%3E-AJP-1.3-tf2776640.html#a7758513 Sent from the Tomcat - User mailing list archive at Nabble.com. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Is this possibe? mod_jk ==SSL== AJP/1.3
On 12/8/06, fredk2 [EMAIL PROTECTED] wrote: although I have not tested this personally, but I was told that mod_proxy (_ajp) does not have the Auto Flush option that you can set with mod_jk and thus creates problem for streaming applications. You might want to look at the flushpackets parameter to the ProxyPass directive http://httpd.apache.org/docs/2.2/mod/mod_proxy.html :-) FWIW, -- Hassan Schroeder [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Multi processor issue
From: Marziou, Gael [mailto:[EMAIL PROTECTED] So, I don't believe it's a Tomcat, I would rather think to an H/W, or JRE or OS issue. Fascinating - partly because I may hit the same issue soon and partly to log it on the list for the future, could you tell me 32-bit or 64-bit OS, service pack levels, and what the hardware is? I don't want to trip over the same problem, but nor do I want to give the hardware too wide a berth! - Peter - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Client request times out
I have a problem with a servlet running longer than 5 minutes. The client's browser is delivered an error response from somewhere on the server in an Apache/JBoss/Tomcat stack at the 5 minute mark. Does anyone know what properties/attributes in what configuration files might allow the servlet to run for longer than 5 minutes? I have tried: TimeOut (in apache config) disableUploadTimeout (in Connector attribute settings, server.xml for Tomcat 5.5) socket_timeout (in workers.properties) None seem to have the desired effect. Any help would be appreciated. Thanks. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Multi processor issue
From: Marziou, Gael [mailto:[EMAIL PROTECTED] Subject: Multi processor issue We have recently switched a stable web application from JRun 4 to Tomcat 5.5.20 on Windows 2003 + Sun's JRE 1.5.0_08, running some testing for months, but when we moved to production environment we immediately experienced errors IllegalStateException: No modifications are allowed to a locked ParameterMap. We made code reviews of our application code and Tomcat's code and did not find any thread safety issues. Look again. So, I don't believe it's a Tomcat, I would rather think to an H/W, or JRE or OS issue. Welcome to the world of multi-processors (which I've been working with since the 1960s.) The problem is almost undoubtedly in your application - we run Tomcat on 16x and 32x systems without any such issues. Within Tomcat, request objects are normally processed by a single thread at a time, yet you note that two threads are accessing this particular request - where did the second one come from? Is your app starting extra threads? (Perhaps unknowingly, by using some third-party package.) Since requests are typically handled by a single thread, there is little or no synchronization done during manipulation of references associated with them, such as the parameter map. If your app is using multiple threads to handle a request, it needs to provide its own synchronization when calling methods of the request that manipulate data associated with the request - even when just reading, since the other thread may be changing it concurrently. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Client request times out
I think the bigger question is why does it take that long to run? I can't think of too many people that are willing to wait that long for information. Personally I'd give you 30 seconds and then I'll never use something that slow again. If you are accessing data, try adding indexes or a data redesign to speed things up. A simple index based on key data can speed up searches exponentially. Just a thought. Most of my problems have been my problems not something Tomcat was doing wrong. Robert S. Harper Information Access Technology, Inc. -Original Message- From: Richard Doust [mailto:[EMAIL PROTECTED] Sent: Friday, December 08, 2006 8:23 AM To: Tomcat Users List Subject: Client request times out I have a problem with a servlet running longer than 5 minutes. The client's browser is delivered an error response from somewhere on the server in an Apache/JBoss/Tomcat stack at the 5 minute mark. Does anyone know what properties/attributes in what configuration files might allow the servlet to run for longer than 5 minutes? I have tried: TimeOut (in apache config) disableUploadTimeout (in Connector attribute settings, server.xml for Tomcat 5.5) socket_timeout (in workers.properties) None seem to have the desired effect. Any help would be appreciated. Thanks. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Multi processor issue
Good Morning Gael- which VM are you using for this test? Thanks, Martin -- --- This e-mail message (including attachments, if any) is intended for the use of the individual or entity to which it is addressed and may contain information that is privileged, proprietary , confidential and exempt from disclosure. If you are not the intended recipient, you are notified that any dissemination, distribution or copying of this communication is strictly prohibited. - Original Message - From: Marziou, Gael [EMAIL PROTECTED] To: Tomcat Users List users@tomcat.apache.org Sent: Friday, December 08, 2006 9:22 AM Subject: Multi processor issue Hi, As a preamble, let me say that I am not complaining about Tomcat (as the problem root cause is uncertain) and I don't expect much assistance as we are happy with our workaround. However, our experience could help others or someone may have other ideas. We have recently switched a stable web application from JRun 4 to Tomcat 5.5.20 on Windows 2003 + Sun's JRE 1.5.0_08, running some testing for months, but when we moved to production environment we immediately experienced errors IllegalStateException: No modifications are allowed to a locked ParameterMap. Stack trace analysis concluded to RequestFacade objects shared between 2 threads. We made code reviews of our application code and Tomcat's code and did not find any thread safety issues. So, we checked all differences between staging and production, we thought that the major difference was that the staging server was a single CPU machine while the production servers had 2 physical processors and 4 logical ones. So, we constrained the Tomcat service to run on only one processor by setting its processor affinity mask to 1 (run on CPU 0) and after several weeks of monitoring we concluded that it fixed the problem. So, we used a small utility (search for setaffinity.zip) to patch the affinity mask in the Tomcat service executable (tomcat5.exe). Later on, we set up a second production environment also on bi-processor servers but we did not experience the same issue. The hardware is not exactly the same as first production setup and the OS is also different (Windows 2000 on 2nd env, Windows 2003 on 1st env having the issue). So, I don't believe it's a Tomcat, I would rather think to an H/W, or JRE or OS issue. In any case, it's a rather complex issue to investigate and we haven't enough time for this as we are happy with performances running on one single CPU. Thanks, Gael Marziou Hewlett Packard - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Multi processor issue
From: Martin Gainty [mailto:[EMAIL PROTECTED] Subject: Re: Multi processor issue which VM are you using for this test? Try actually reading the message: We have recently switched a stable web application from JRun 4 to Tomcat 5.5.20 on Windows 2003 + Sun's JRE 1.5.0_08 - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Client request times out
Well, it's a complicated report used by a purchaser to generate a purchase order based on need for a product dependent on customer demand. It's accessing a LOT of data. That's not to say that I can't speed it up with indexes, or break it up into a request that's passed off to a server process that generates data that it then writes to the database for later retrieval by the client. But it wasn't designed that way and such a change would be substantial. It has worked for a few years, and what I'm looking to do right now is get around the 5 min. barrier before spending more time looking at the underlying problem and ways to solve it. Thanks for your suggestion. On Dec 8, 2006, at 10:42 AM, Robert Harper wrote: I think the bigger question is why does it take that long to run? I can't think of too many people that are willing to wait that long for information. Personally I'd give you 30 seconds and then I'll never use something that slow again. If you are accessing data, try adding indexes or a data redesign to speed things up. A simple index based on key data can speed up searches exponentially. Just a thought. Most of my problems have been my problems not something Tomcat was doing wrong. Robert S. Harper Information Access Technology, Inc. -Original Message- From: Richard Doust [mailto:[EMAIL PROTECTED] Sent: Friday, December 08, 2006 8:23 AM To: Tomcat Users List Subject: Client request times out I have a problem with a servlet running longer than 5 minutes. The client's browser is delivered an error response from somewhere on the server in an Apache/JBoss/Tomcat stack at the 5 minute mark. Does anyone know what properties/attributes in what configuration files might allow the servlet to run for longer than 5 minutes? I have tried: TimeOut (in apache config) disableUploadTimeout (in Connector attribute settings, server.xml for Tomcat 5.5) socket_timeout (in workers.properties) None seem to have the desired effect. Any help would be appreciated. Thanks. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Multi processor issue
Thanks Chuck for your reply, I only cited part of your message where I could follow up. Within Tomcat, request objects are normally processed by a single thread at a time, yet you note that two threads are accessing this particular request - where did the second one come from? Both were web threads and error did occur at the very beginning of request processing when analyzing the request or when logging it in a filter. Is your app starting extra threads? (Perhaps unknowingly, by using some third-party package.) No. We checked this under profiler and all our threads are built by our thread factories and do not manipulate any request objects only our own business objects. Since requests are typically handled by a single thread, there is little or no synchronization done during manipulation of references associated with them, such as the parameter map. That's also our understanding. Gael - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Multi processor issue
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Gael, Within Tomcat, request objects are normally processed by a single thread at a time, yet you note that two threads are accessing this particular request - where did the second one come from? Both were web threads and error did occur at the very beginning of request processing when analyzing the request or when logging it in a filter. Can you post the stack trace for that IllegalStateException? - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFFeZcR9CaO5/Lv0PARAvnrAKC34v6kL7obecqyXY/nZoujVI63SACfRo7t bOxjE3GJithcAiczrsIjWH4= =TG0h -END PGP SIGNATURE- - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Is this possibe? mod_jk ==SSL== AJP/1.3
ooops - I need to spend more time reading the fine manual :-) tx for the reminder :) Hassan Schroeder-2 wrote: On 12/8/06, fredk2 [EMAIL PROTECTED] wrote: although I have not tested this personally, but I was told that mod_proxy (_ajp) does not have the Auto Flush option that you can set with mod_jk and thus creates problem for streaming applications. You might want to look at the flushpackets parameter to the ProxyPass directive http://httpd.apache.org/docs/2.2/mod/mod_proxy.html :-) FWIW, -- Hassan Schroeder [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/Is-this-possibe---mod_jk-%3C%3D%3DSSL%3D%3D%3E-AJP-1.3-tf2776640.html#a7760968 Sent from the Tomcat - User mailing list archive at Nabble.com. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Multi processor issue
This is our code and there's no threading here. -Original Message- From: Caldarale, Charles R [mailto:[EMAIL PROTECTED] Sent: Friday, December 08, 2006 6:31 PM To: Tomcat Users List Subject: RE: Multi processor issue From: Marziou, Gael [mailto:[EMAIL PROTECTED] Subject: RE: Multi processor issue com.hp.swift.portal.state.HttpEventContextObject.getParameter( HttpEventContextObject.java:64) This looks suspicious - perhaps this portal code is the source of the second thread. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Multi processor issue
ApplicationHttpRequest.parseParameters isn't synchronized... thats probably the source of your evil. leon On 12/8/06, Leon Rosenberg [EMAIL PROTECTED] wrote: looks like Request.getParameterMap() is called twice. The first call locks the request, the second fails. what exactly does your com.hp.swift.portal.state.HttpEventContextObject.getParameter(HttpEventC ontextObject.java:64) ? Could it be that two threads passes through this codepiece concurrently and both calls comes through to the Request object? That would be a clear synchronization issue and pretty typical for tomcat :-) regards Leon On 12/8/06, Caldarale, Charles R [EMAIL PROTECTED] wrote: From: Marziou, Gael [mailto:[EMAIL PROTECTED] Subject: RE: Multi processor issue com.hp.swift.portal.state.HttpEventContextObject.getParameter( HttpEventContextObject.java:64) This looks suspicious - perhaps this portal code is the source of the second thread. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Relam
HI I have just deployed my web application to a Web host. When ever i try to access the protected page I seem to get the message: HTTP Status 403 - Access to the requested resource has been denied It all worked fine in the development environment-netbeans. I constructed the form based realm by defining the role, username and password in the tomcat-users.xml file. Then defining the file that is to be protected in the web.XML file. Have I missed anything out? Please help. - Now you can scan emails quickly with a reading pane. Get the new Yahoo! Mail.
RE: Multi processor issue
First, to clarify in my message, I did put 2 stack traces of 2 independent errors. Tomcat does not synchronize before locking the map but that should not be an issue because the request is guaranteed to be processed by only one thread. HttpEventContextObject.getParameter() does just extract the parameters of the request to store them in what we cal an event, I suppose it could be compared to a Struts action. So, we only read the Request parameters, nothing fancy. Gael -Original Message- From: Leon Rosenberg [mailto:[EMAIL PROTECTED] Sent: Friday, December 08, 2006 6:38 PM To: Tomcat Users List Subject: Re: Multi processor issue looks like Request.getParameterMap() is called twice. The first call locks the request, the second fails. what exactly does your com.hp.swift.portal.state.HttpEventContextObject.getParameter(HttpEventC ontextObject.java:64) ? Could it be that two threads passes through this codepiece concurrently and both calls comes through to the Request object? That would be a clear synchronization issue and pretty typical for tomcat :-) regards Leon - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Multi processor issue
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Leon, Leon Rosenberg wrote: ApplicationHttpRequest.parseParameters isn't synchronized... thats probably the source of your evil. That should not really be an issue... the real problem is that it appears that he has two threads accessing this code at the same time when he is only expecting one. Sure, synchronization might fix the problem, but it doesn't really get to the root of why it's happening in the first place. Gael, It probably won't end up showing anything, but could you catch the IllegalStateException and add a full thread dump in the exception handler? Then you might see what other threads are using that particular request object. I say it probably won't help because by the time the thread dump is done, your threads are probably out of that code anyway. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFFeajl9CaO5/Lv0PARAtpQAJ4jwfiHJRw4InJIaHAPqzARZ3qvAQCeLI4C V6u7ZA4iDNRdga+XWnnZDNk= =ny0B -END PGP SIGNATURE- - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Multi processor issue
From: Marziou, Gael [mailto:[EMAIL PROTECTED] Subject: RE: Multi processor issue This is our code and there's no threading here. Does the full stack trace show where the threads originated? You appear to have given us only a partial of each error. Is the request object stored in any session or global structure? Could another thread have found it there and picked it up erroneously? Do you have any listeners configured that might be getting in the game? - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Multi processor issue
From: Marziou, Gael [mailto:[EMAIL PROTECTED] Subject: RE: Multi processor issue Tomcat does not synchronize before locking the map but that should not be an issue because the request is guaranteed to be processed by only one thread. But the evidence seems to show two threads are manipulating the same request, otherwise you wouldn't get the error on the ParameterMap. Does a full thread dump show any threads that aren't part of the set started by Tomcat? - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Multi processor issue
On 12/8/06, Caldarale, Charles R [EMAIL PROTECTED] wrote: From: Marziou, Gael [mailto:[EMAIL PROTECTED] Subject: RE: Multi processor issue Tomcat does not synchronize before locking the map but that should not be an issue because the request is guaranteed to be processed by only one thread. But the evidence seems to show two threads are manipulating the same request, otherwise you wouldn't get the error on the ParameterMap. Does a full thread dump show any threads that aren't part of the set started by Tomcat? either that, or a Request is reused before recycle() has been executed completely. I fear we have to know what your software on top does exactly :-) Alas, you could do a test and check whether the method getParameter is actually ever called by two threads during one lifecycle (patching the ParameterMap class, storing last accessing thread, and checking whether another thread is already stored on access) Theoretically Cael is right with the above, but only theoretically, since we don't know how thread safe Gael's ontop application is, and even than, it wouldn't be the first synchronization issue we found in tomcat. And Gael, the CPU is the most valuable resource in the production environment, are you really ready to give up your scaleability but simply not investigating further? Leon - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Multi processor issue
Does the full stack trace show where the threads originated? You appear to have given us only a partial of each error. OK, see below. Is the request object stored in any session or global structure? No. Could another thread have found it there and picked it up erroneously? No. Do you have any listeners configured that might be getting in the game? No. java.lang.IllegalStateException: No modifications are allowed to a locked ParameterMap at org.apache.catalina.util.ParameterMap.put(ParameterMap.java:165) at org.apache.catalina.connector.Request.getParameterMap(Request.java:1024) at org.apache.catalina.connector.RequestFacade.getParameterMap(RequestFacad e.java:411) at org.apache.catalina.core.ApplicationHttpRequest.parseParameters(Applicat ionHttpRequest.java:727) at org.apache.catalina.core.ApplicationHttpRequest.getParameter(Application HttpRequest.java:352) at com.hp.swift.portal.state.HttpEventContextObject.getParameter(HttpEventC ontextObject.java:64) at com.hp.cii.radix.user.web.home.Home2Context.doUpdateSolutionSummary(Home 2Context.java:833) at com.hp.cii.radix.user.web.home.Home2Context.doDisplaySolutionSummary(Hom e2Context.java:919) at sun.reflect.GeneratedMethodAccessor593.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.hp.swift.util.MethodInvoker.invoke(MethodInvoker.java:52) at com.hp.swift.state.core.StateContextAction.execute(StateContextAction.ja va:51) at com.hp.swift.state.core.Transition.executeAction(Transition.java:124) at com.hp.swift.state.core.StateMachineController.fireTransition(StateMachi neController.java:1013) at com.hp.swift.state.core.StateMachineController.doHandle(StateMachineCont roller.java:788) at com.hp.swift.state.core.StateMachineController.handle(StateMachineContro ller.java:520) at com.hp.swift.portal.servlet.SmvController.doHandleRequest(SmvController. java:393) at com.hp.swift.portal.servlet.SmvController.doGet(SmvController.java:235) at com.hp.swift.portal.servlet.SmvController.doPost(SmvController.java:215) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica tionFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:173) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatc her.java:672) at org.apache.catalina.core.ApplicationDispatcher.processRequest(Applicatio nDispatcher.java:463) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDisp atcher.java:359) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispat cher.java:301) at com.hp.swift.proxy.ProxySessionController.forwardRequest(ProxySessionCon troller.java:57) at com.hp.swift.portal.servlet.SessionController$1.run(SessionController.ja va:159) at com.hp.swift.security.manager.LightSecurityManager.doAsPrivileged(LightS ecurityManager.java:272) at com.hp.swift.security.manager.SecurityChecker.doAsPrivileged(SecurityChe cker.java:187) at com.hp.swift.portal.servlet.SessionController.forwardRequestAs(SessionCo ntroller.java:155) at com.hp.swift.portal.servlet.SessionController.doHttp(SessionController.j ava:132) at com.hp.swift.portal.servlet.SessionController.doPost(SessionController.j ava:102) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at com.hp.swift.portal.init.FirstLevelInitableServlet.service(FirstLevelIni tableServlet.java:154) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica tionFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:173) at com.hp.swift.portal.servlet.HttpTracingFilter.doFilter(HttpTracingFilter .java:89) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica tionFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:173) at com.hp.swift.portal.servlet.SecurityFilter.doFilter(SecurityFilter.java: 61) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica tionFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv e.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv e.java:178) at
RE: Multi processor issue
But the evidence seems to show two threads are manipulating the same request, otherwise you wouldn't get the error on the ParameterMap. Does a full thread dump show any threads that aren't part of the set started by Tomcat? either that, or a Request is reused before recycle() has been executed completely. We assumed this as well but after instrumenting more our code, we concluded it was not possible because the corruption seemed to occur before the end of the 2 requests processing and so before recycle() was called. I got some logs which sort of showed this but I can't find them right now, I have stopped working on this issue 3 weeks ago. Alas, you could do a test and check whether the method getParameter is actually ever called by two threads during one lifecycle (patching the ParameterMap class, storing last accessing thread, and checking whether another thread is already stored on access) We did it but for some reason the log statements did not get logged in our usual log file. Then after we tried the affinity trick which made the symptom to disappear and got no chance to try again. And Gael, the CPU is the most valuable resource in the production environment, are you really ready to give up your scaleability but simply not investigating further? Well, this application is load balanced on 4 servers and the load is currently pretty low on each of them even when running on a single CPU. We did add more logs to our application and we did also instrument Tomcat but with no luck and as we were unable to reproduce it in a dev environment, it's difficult to ask for short downtimes to restart a server in production. On top of that, my team is being moved to another project... Gael - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Tomcat and OCSP
Now that I see Tomcat 6.0 is on it's way, I was wondering if OCSP is going to be included? This is being required by more and more people these days (like the US government). If there are no plans to include it yet, how can this issue be escalated? I see that OCSP support is bundled into the new JDKs, does this mean that it would not be too difficult for an enterprising (and desperate) developer to tackle? Mark -Original Message- From: Velpi [mailto:[EMAIL PROTECTED] Sent: Monday, July 31, 2006 4:33 AM To: Tomcat Users List Subject: Re: Tomcat and OCSP Does the new support for OCSP in Java 5.0 have any impact on how certificates are handled in Tomcat? http://java.sun.com/j2se/1.5.0/docs/guide/security/pki-tiger.html It looks like it might just work if it is set up right in the java property files. I checked the mailing list archives and found a few old references to OCSP, but nothing definitive. Any guidance would be greatly appreciated. I'm trying to set this up too. Did you get it up and running properly yet? (any hints?) -- Velpi - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Multi processor issue
the affinity 'trick' is a replacement dll for the 80 runtime stock libraries The individual most familiar with interfacing to the runtime is mladen turk I would make all attempts to ping him on the solution As a comparison between the 2 dlls Here are the binary characteristics of the stock msvcr80.dll that ships with retail windows packages Section contains the following exports for MSVCR80.dll 0 characteristics 40ECD724 time date stamp Thu Jul 08 01:09:56 2004 0.00 version 1 ordinal base 1367 number of functions 1367 number of names ordinal hint RVA name /*and the replacement msvcr80.dll provided in setaffinity*/ Section contains the following exports for MSVCR80.dll 0 characteristics 4333A455 time date stamp Fri Sep 23 02:44:37 2005 0.00 version 1 ordinal base 1459 number of functions 1459 number of names ordinal hint RVA name so the new msvcr80.dll from setaffinity has 92 new functions which allow it to work reliably with MP calls HTH, Martin-- --- This e-mail message (including attachments, if any) is intended for the use of the individual or entity to which it is addressed and may contain information that is privileged, proprietary , confidential and exempt from disclosure. If you are not the intended recipient, you are notified that any dissemination, distribution or copying of this communication is strictly prohibited. --- Le présent message électronique (y compris les pièces qui y sont annexées, le cas échéant) s'adresse au destinataire indiqué et peut contenir des renseignements de caractère privé ou confidentiel. Si vous n'êtes pas le destinataire de ce document, nous vous signalons qu'il est strictement interdit de le diffuser, de le distribuer ou de le reproduire. But the evidence seems to show two threads are manipulating the same request, otherwise you wouldn't get the error on the ParameterMap. Does a full thread dump show any threads that aren't part of the set started by Tomcat? either that, or a Request is reused before recycle() has been executed completely. We assumed this as well but after instrumenting more our code, we concluded it was not possible because the corruption seemed to occur before the end of the 2 requests processing and so before recycle() was called. I got some logs which sort of showed this but I can't find them right now, I have stopped working on this issue 3 weeks ago. Alas, you could do a test and check whether the method getParameter is actually ever called by two threads during one lifecycle (patching the ParameterMap class, storing last accessing thread, and checking whether another thread is already stored on access) We did it but for some reason the log statements did not get logged in our usual log file. Then after we tried the affinity trick which made the symptom to disappear and got no chance to try again. And Gael, the CPU is the most valuable resource in the production environment, are you really ready to give up your scaleability but simply not investigating further? Well, this application is load balanced on 4 servers and the load is currently pretty low on each of them even when running on a single CPU. We did add more logs to our application and we did also instrument Tomcat but with no luck and as we were unable to reproduce it in a dev environment, it's difficult to ask for short downtimes to restart a server in production. On top of that, my team is being moved to another project... Gael - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Is this possibe? mod_jk ==SSL== AJP/1.3
Not true; see http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html Interesting. I'll need to look into mod_proxy, further. But what about performance? I've not tested it in a long while, but last I tried it was slower that mod_jk. BTW, does Apache 2.2's new mod_proxy_ajp support encryption? Is that the answer for me? (Yes, I know I have to RTFM... going there now.) -- View this message in context: http://www.nabble.com/Is-this-possibe---mod_jk-%3C%3D%3DSSL%3D%3D%3E-AJP-1.3-tf2776640.html#a7763820 Sent from the Tomcat - User mailing list archive at Nabble.com. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: tomcat5.5 service not find jre1.5.0, but startup.bat does
From: news [mailto:[EMAIL PROTECTED] On Behalf Of sb4 Subject: Re: tomcat5.5 service not find jre1.5.0, but startup.bat does I'm curious about how Tomcat finds the default jvm in the first place. Tomcat proper doesn't know, but I believe the service installer looks in the registry: HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment and sub-keys. There are also keys for the JDK in close proximity to the above. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
AJP Logging
I apologize for asking such a basic question here, but how is logging configured for Tomcat's AJP connector? My Tomcat Status page shows an error count of one for jk-8009, and I hope turning logging will show the problem. -Mitch - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: AJP Logging
Fisher, Mitchell L wrote: I apologize for asking such a basic question here, but how is logging configured for Tomcat's AJP connector? My Tomcat Status page shows an error count of one for jk-8009, and I hope turning logging will show the problem. When starting a new thread (ie sending a message to the list about a new topic) please do not reply to an existing message and change the subject line. To many of the list archiving services and mail clients used by list subscribers this makes your new message appear as part of the old thread. This makes it harder for other users to find relevant information when searching the lists. This is known as thread hijacking and is behaviour that is frowned upon on this list. Frequent offenders will be removed from the list. It should also be noted that many list subscribers automatically ignore any messages that hijack another thread. The correct procedure is to create a new message with a new subject. This will start a new thread. Mark tomcat-user-owner - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Multi processor issue
From the description of the symptom - months' testing experience, we could pretty much confirm that it is a MP issue, not a MT issue. Chasing the stack dump of Java may not get to any significant point. If you try to fix the MP specific issue like this at the high level like Tomcat/JAVA app code, you will get to a situation like: fix one issue, another issue will come up eventually. The producer of MSVCR80.dll may be interested in knowing this. This may be Win32 OS or JVM specific. Appreciate your findings and solution! Dong -Original Message- From: Martin Gainty [mailto:[EMAIL PROTECTED] Sent: Saturday, 9 December 2006 6:18 AM To: Tomcat Users List Subject: Re: Multi processor issue the affinity 'trick' is a replacement dll for the 80 runtime stock libraries The individual most familiar with interfacing to the runtime is mladen turk I would make all attempts to ping him on the solution As a comparison between the 2 dlls Here are the binary characteristics of the stock msvcr80.dll that ships with retail windows packages Section contains the following exports for MSVCR80.dll 0 characteristics 40ECD724 time date stamp Thu Jul 08 01:09:56 2004 0.00 version 1 ordinal base 1367 number of functions 1367 number of names ordinal hint RVA name /*and the replacement msvcr80.dll provided in setaffinity*/ Section contains the following exports for MSVCR80.dll 0 characteristics 4333A455 time date stamp Fri Sep 23 02:44:37 2005 0.00 version 1 ordinal base 1459 number of functions 1459 number of names ordinal hint RVA name so the new msvcr80.dll from setaffinity has 92 new functions which allow it to work reliably with MP calls HTH, Martin-- --- This e-mail message (including attachments, if any) is intended for the use of the individual or entity to which it is addressed and may contain information that is privileged, proprietary , confidential and exempt from disclosure. If you are not the intended recipient, you are notified that any dissemination, distribution or copying of this communication is strictly prohibited. --- Le présent message électronique (y compris les pièces qui y sont annexées, le cas échéant) s'adresse au destinataire indiqué et peut contenir des renseignements de caractère privé ou confidentiel. Si vous n'êtes pas le destinataire de ce document, nous vous signalons qu'il est strictement interdit de le diffuser, de le distribuer ou de le reproduire. But the evidence seems to show two threads are manipulating the same request, otherwise you wouldn't get the error on the ParameterMap. Does a full thread dump show any threads that aren't part of the set started by Tomcat? either that, or a Request is reused before recycle() has been executed completely. We assumed this as well but after instrumenting more our code, we concluded it was not possible because the corruption seemed to occur before the end of the 2 requests processing and so before recycle() was called. I got some logs which sort of showed this but I can't find them right now, I have stopped working on this issue 3 weeks ago. Alas, you could do a test and check whether the method getParameter is actually ever called by two threads during one lifecycle (patching the ParameterMap class, storing last accessing thread, and checking whether another thread is already stored on access) We did it but for some reason the log statements did not get logged in our usual log file. Then after we tried the affinity trick which made the symptom to disappear and got no chance to try again. And Gael, the CPU is the most valuable resource in the production environment, are you really ready to give up your scaleability but simply not investigating further? Well, this application is load balanced on 4 servers and the load is currently pretty low on each of them even when running on a single CPU. We did add more logs to our application and we did also instrument Tomcat but with no luck and as we were unable to reproduce it in a dev environment, it's difficult to ask for short downtimes to restart a server in production. On top of that, my team is being moved to another project... Gael - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Multi processor issue
After the request parameters are parsed, Tomcat makes it's parameter map read-only (i.e. locked). I suspect that this is the source of your problems. Having said that, if you really do have two threads accessing a Request instance, then you really really need to re-design your application ;-). Marziou, Gael [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] Hi, As a preamble, let me say that I am not complaining about Tomcat (as the problem root cause is uncertain) and I don't expect much assistance as we are happy with our workaround. However, our experience could help others or someone may have other ideas. We have recently switched a stable web application from JRun 4 to Tomcat 5.5.20 on Windows 2003 + Sun's JRE 1.5.0_08, running some testing for months, but when we moved to production environment we immediately experienced errors IllegalStateException: No modifications are allowed to a locked ParameterMap. Stack trace analysis concluded to RequestFacade objects shared between 2 threads. We made code reviews of our application code and Tomcat's code and did not find any thread safety issues. So, we checked all differences between staging and production, we thought that the major difference was that the staging server was a single CPU machine while the production servers had 2 physical processors and 4 logical ones. So, we constrained the Tomcat service to run on only one processor by setting its processor affinity mask to 1 (run on CPU 0) and after several weeks of monitoring we concluded that it fixed the problem. So, we used a small utility (search for setaffinity.zip) to patch the affinity mask in the Tomcat service executable (tomcat5.exe). Later on, we set up a second production environment also on bi-processor servers but we did not experience the same issue. The hardware is not exactly the same as first production setup and the OS is also different (Windows 2000 on 2nd env, Windows 2003 on 1st env having the issue). So, I don't believe it's a Tomcat, I would rather think to an H/W, or JRE or OS issue. In any case, it's a rather complex issue to investigate and we haven't enough time for this as we are happy with performances running on one single CPU. Thanks, Gael Marziou Hewlett Packard - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Is this possibe? mod_jk ==SSL== AJP/1.3
Tomcat currently does not support encryption. Huh? Sure it does. I think you mean AJP doesn't support encryption. -- View this message in context: http://www.nabble.com/Is-this-possibe---mod_jk-%3C%3D%3DSSL%3D%3D%3E-AJP-1.3-tf2776640.html#a7769280 Sent from the Tomcat - User mailing list archive at Nabble.com. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
How to configure multiple context path for a webapps
Hi all: I have one webapps named webapp1, with context path /webapp1. This webapps has one servlet with name TestServlet. I want to be able to access this servlet through the following urls: http://host/webapp1/TestServlet, and http://host/r/TestServlet Is it possible to configure webapp1 to have multiple context path? I.e. /webapp1 and r? I want to be able to do this without relying on server side forwarding (i.e. implementing a webapps called r that forwards to webapp1). Thanks, Stanley
RE: Multi processor issue
From: news [mailto:[EMAIL PROTECTED] On Behalf Of Bill Barker Subject: Re: Multi processor issue After the request parameters are parsed, Tomcat makes it's parameter map read-only (i.e. locked). This is true, but it's not a simple case of someone calling put() after locking the ParameterMap. Here's the code of interest (org.apache.catalina.connector.Request): 1015public Map getParameterMap() { 1017if (parameterMap.isLocked()) 1018return parameterMap; 1020Enumeration enumeration = getParameterNames(); 1021while (enumeration.hasMoreElements()) { 1022String name = enumeration.nextElement().toString(); 1023String[] values = getParameterValues(name); 1024parameterMap.put(name, values); 1025} 1027parameterMap.setLocked(true); 1029return parameterMap; 1031} The stack trace shows the failed call to put() being made from line 1024. In order to get this far, the test for isLocked() at line 1017 must have returned false. In other words, the locked state of the ParameterMap associated with this request changed between lines 1017 and 1024. Since locked isn't set until line 1027 (and that appears to be the only place in Tomcat that does so), some thread other than the one in the stack trace must have changed the state by coming through this code simultaneously. Restricting Tomcat to a single CPU almost completely precludes that from ever happening. (But if left running long enough - possibly years - the situation could still occur with a single CPU, when one thread's time slice expired between lines 1020 and 1025, and whatever second thread is also erroneously processing the same Request object starts running. Contrary to what another poster stated, this is definitely a multi-thread issue, not a multi-processor one.) If hardware or OS infrastructure were the cause, I would expect that to manifest itself in more ways than just this one particular situation in Tomcat. If it were my system, I'd be adding some trap code to mark a Request object as taken when a thread starts processing it, and verify that a request isn't already taken when a thread starts processing it. Unfortunate that the OP's company seems to have lost interest in fixing what appears to be a bona fide problem in their application. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]