Re: tomcat-native libraries
On 17/03/2014 04:52, Randeep wrote: Hi, I have a httpd-2.2.3-82.el5.centos.x86_64+mod_jk+apache-tomcat-6.0.37 stack Whenever I restart the server it shows the following warning. INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib That isn't a warning. Warnings start WARN: It is an informational message. It informs you that that the native library is not installed and that the native library typically has better performance? Then I tried to install tomcat-native-1.1.27-src Why? To get rid of the log message or to solve a performance problem? Mark But I'm getting the following error. #./configure --with-apr=/usr/bin/apr-1-config --with-java-home=/usr/java/jdk1.7.0_25 then #make make[1]: Entering directory `/usr/share/apache-tomcat-6.0.37/bin/tomcat-native-1.1.27-src/jni/native' /bin/sh /usr/lib64/apr-1/build/libtool --silent --mode=compile gcc -pthread -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -DHAVE_CONFIG_H -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -g -O2 -DHAVE_OPENSSL -I/usr/share/apache-tomcat-6.0.37/bin/tomcat-native-1.1.27-src/jni/native/include -I/usr/java/jdk1.7.0_25/include -I/usr/java/jdk1.7.0_25/include/linux -I/usr/include/apr-1 -o src/poll.lo -c src/poll.c touch src/poll.lo src/poll.c: In function 'Java_org_apache_tomcat_jni_Poll_create': src/poll.c:112: error: 'APR_POLLSET_NOCOPY' undeclared (first use in this function) src/poll.c:112: error: (Each undeclared identifier is reported only once src/poll.c:112: error: for each function it appears in.) src/poll.c: In function 'Java_org_apache_tomcat_jni_Poll_poll': src/poll.c:306: warning: implicit declaration of function 'APR_RING_FOREACH' src/poll.c:306: error: expected expression before 'tcn_pfde_t' src/poll.c:307: error: expected ';' before '{' token src/poll.c: In function 'Java_org_apache_tomcat_jni_Poll_maintain': src/poll.c:399: warning: implicit declaration of function 'APR_RING_FOREACH_SAFE' src/poll.c:399: error: expected expression before 'tcn_pfde_t' src/poll.c:400: error: expected ';' before '{' token src/poll.c:392: warning: unused variable 'now' src/poll.c:391: warning: unused variable 'num' src/poll.c:391: warning: unused variable 'i' src/poll.c: In function 'Java_org_apache_tomcat_jni_Poll_pollset': src/poll.c:471: error: expected expression before 'tcn_pfde_t' src/poll.c:472: error: expected ';' before '{' token make[1]: *** [src/poll.lo] Error 1 make[1]: Leaving directory `/usr/share/apache-tomcat-6.0.37/bin/tomcat-native-1.1.27-src/jni/native' make: *** [all-recursive] Error 1 This is my version of ap Package apr-1.2.7-11.el5_6.5.x86_64 already installed and latest version Package apr-devel-1.2.7-11.el5_6.5.x86_64 already installed and latest version Package apr-util-1.2.7-11.el5_5.2.x86_64 already installed and latest version Cant I install this version in centos 5? - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: tomcat-native libraries
On Mon, Mar 17, 2014 at 12:35 PM, Mark Thomas ma...@apache.org wrote: On 17/03/2014 04:52, Randeep wrote: Hi, I have a httpd-2.2.3-82.el5.centos.x86_64+mod_jk+apache-tomcat-6.0.37 stack Whenever I restart the server it shows the following warning. INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib That isn't a warning. Warnings start WARN: It is an informational message. It informs you that that the native library is not installed and that the native library typically has better performance? Yes. Its an informational message. Sorry about it. Then I tried to install tomcat-native-1.1.27-src Why? To get rid of the log message or to solve a performance problem? Mark Actually I'm getting this error on production server. I didn't know about tomcat native libraries. If it increase performance then I felt that It should be implemented. That is why I tired to install it. But I'm getting the following error. #./configure --with-apr=/usr/bin/apr-1-config --with-java-home=/usr/java/jdk1.7.0_25 then #make make[1]: Entering directory `/usr/share/apache-tomcat-6.0.37/bin/tomcat-native-1.1.27-src/jni/native' /bin/sh /usr/lib64/apr-1/build/libtool --silent --mode=compile gcc -pthread -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -DHAVE_CONFIG_H -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -g -O2 -DHAVE_OPENSSL -I/usr/share/apache-tomcat-6.0.37/bin/tomcat-native-1.1.27-src/jni/native/include -I/usr/java/jdk1.7.0_25/include -I/usr/java/jdk1.7.0_25/include/linux -I/usr/include/apr-1 -o src/poll.lo -c src/poll.c touch src/poll.lo src/poll.c: In function 'Java_org_apache_tomcat_jni_Poll_create': src/poll.c:112: error: 'APR_POLLSET_NOCOPY' undeclared (first use in this function) src/poll.c:112: error: (Each undeclared identifier is reported only once src/poll.c:112: error: for each function it appears in.) src/poll.c: In function 'Java_org_apache_tomcat_jni_Poll_poll': src/poll.c:306: warning: implicit declaration of function 'APR_RING_FOREACH' src/poll.c:306: error: expected expression before 'tcn_pfde_t' src/poll.c:307: error: expected ';' before '{' token src/poll.c: In function 'Java_org_apache_tomcat_jni_Poll_maintain': src/poll.c:399: warning: implicit declaration of function 'APR_RING_FOREACH_SAFE' src/poll.c:399: error: expected expression before 'tcn_pfde_t' src/poll.c:400: error: expected ';' before '{' token src/poll.c:392: warning: unused variable 'now' src/poll.c:391: warning: unused variable 'num' src/poll.c:391: warning: unused variable 'i' src/poll.c: In function 'Java_org_apache_tomcat_jni_Poll_pollset': src/poll.c:471: error: expected expression before 'tcn_pfde_t' src/poll.c:472: error: expected ';' before '{' token make[1]: *** [src/poll.lo] Error 1 make[1]: Leaving directory `/usr/share/apache-tomcat-6.0.37/bin/tomcat-native-1.1.27-src/jni/native' make: *** [all-recursive] Error 1 This is my version of ap Package apr-1.2.7-11.el5_6.5.x86_64 already installed and latest version Package apr-devel-1.2.7-11.el5_6.5.x86_64 already installed and latest version Package apr-util-1.2.7-11.el5_5.2.x86_64 already installed and latest version Cant I install this version in centos 5? - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org -- Randeep Mob: +919447831699[kerala] Mob: +919880050349[B'lore] I blog here: http://www.randeeppr.me/ Follow me Here: http://twitter.com/Randeeppr Poke me here! http://www.facebook.com/Randeeppr A little Linux Help http://www.linuxhelp.in/ Work profile: http://in.linkedin.com/in/randeeppr
Re: tomcat-native libraries
On 17/03/2014 08:10, Randeep wrote: On Mon, Mar 17, 2014 at 12:35 PM, Mark Thomas ma...@apache.org wrote: On 17/03/2014 04:52, Randeep wrote: Hi, I have a httpd-2.2.3-82.el5.centos.x86_64+mod_jk+apache-tomcat-6.0.37 stack Whenever I restart the server it shows the following warning. INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib That isn't a warning. Warnings start WARN: It is an informational message. It informs you that that the native library is not installed and that the native library typically has better performance. Yes. Its an informational message. Sorry about it. Then I tried to install tomcat-native-1.1.27-src Why? To get rid of the log message or to solve a performance problem? Mark Actually I'm getting this error on production server. Again, this is not an error. They start ERROR: ... or FATAL: ... I didn't know about tomcat native libraries. If it increase performance then I felt that It should be implemented. Why should you install it? What performance problem are you trying to solve? Why do you think that installing the native libraries will solve it? While the native library does - generally - perform better, it is not a magic make it faster library. Mark That is why I tired to install it. But I'm getting the following error. #./configure --with-apr=/usr/bin/apr-1-config --with-java-home=/usr/java/jdk1.7.0_25 then #make make[1]: Entering directory `/usr/share/apache-tomcat-6.0.37/bin/tomcat-native-1.1.27-src/jni/native' /bin/sh /usr/lib64/apr-1/build/libtool --silent --mode=compile gcc -pthread -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -DHAVE_CONFIG_H -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -g -O2 -DHAVE_OPENSSL -I/usr/share/apache-tomcat-6.0.37/bin/tomcat-native-1.1.27-src/jni/native/include -I/usr/java/jdk1.7.0_25/include -I/usr/java/jdk1.7.0_25/include/linux -I/usr/include/apr-1 -o src/poll.lo -c src/poll.c touch src/poll.lo src/poll.c: In function 'Java_org_apache_tomcat_jni_Poll_create': src/poll.c:112: error: 'APR_POLLSET_NOCOPY' undeclared (first use in this function) src/poll.c:112: error: (Each undeclared identifier is reported only once src/poll.c:112: error: for each function it appears in.) src/poll.c: In function 'Java_org_apache_tomcat_jni_Poll_poll': src/poll.c:306: warning: implicit declaration of function 'APR_RING_FOREACH' src/poll.c:306: error: expected expression before 'tcn_pfde_t' src/poll.c:307: error: expected ';' before '{' token src/poll.c: In function 'Java_org_apache_tomcat_jni_Poll_maintain': src/poll.c:399: warning: implicit declaration of function 'APR_RING_FOREACH_SAFE' src/poll.c:399: error: expected expression before 'tcn_pfde_t' src/poll.c:400: error: expected ';' before '{' token src/poll.c:392: warning: unused variable 'now' src/poll.c:391: warning: unused variable 'num' src/poll.c:391: warning: unused variable 'i' src/poll.c: In function 'Java_org_apache_tomcat_jni_Poll_pollset': src/poll.c:471: error: expected expression before 'tcn_pfde_t' src/poll.c:472: error: expected ';' before '{' token make[1]: *** [src/poll.lo] Error 1 make[1]: Leaving directory `/usr/share/apache-tomcat-6.0.37/bin/tomcat-native-1.1.27-src/jni/native' make: *** [all-recursive] Error 1 This is my version of ap Package apr-1.2.7-11.el5_6.5.x86_64 already installed and latest version Package apr-devel-1.2.7-11.el5_6.5.x86_64 already installed and latest version Package apr-util-1.2.7-11.el5_5.2.x86_64 already installed and latest version Cant I install this version in centos 5? - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Hanging write to the client when the response is too big
Hi, A user of Apache Wicket has reported a problem where Tomcat hangs when writing the response to the browser - https://issues.apache.org/jira/browse/WICKET-5530 The application tries to upload a file (with Ajax) with bigger size than the allowed one. Then in the Ajax response it tries to write 16K+ bytes and Tomcat hangs with tracktrace like: Thread [qtp263823398-19] (Suspended) owns: ByteArrayOutputStream2 (id=69) owns: AbstractHttpConnection$OutputWriter (id=70) SocketOutputStream.socketWrite0(FileDescriptor, byte[], int, int) line: not available [native method] SocketOutputStream.socketWrite(byte[], int, int) line: 113 SocketOutputStream.write(byte[], int, int) line: 159 ByteArrayBuffer.writeTo(OutputStream) line: 375 SocketConnector$ConnectorEndPoint(StreamEndPoint).flush(Buffer) line: 164 HttpGenerator.flushBuffer() line: 850 HttpGenerator(AbstractGenerator).blockForOutput(long) line: 507 AbstractHttpConnection$Output(HttpOutput).write(Buffer) line: 170 AbstractHttpConnection$Output(HttpOutput).write(byte[], int, int) line: 107 ByteArrayOutputStream2(ByteArrayOutputStream).writeTo(OutputStream) line: 154 AbstractHttpConnection$OutputWriter(HttpWriter).write(char[], int, int) line: 288 AbstractHttpConnection$OutputWriter(HttpWriter).write(String, int, int) line: 112 AbstractHttpConnection$OutputWriter(HttpWriter).write(String, int, int) line: 101 AbstractHttpConnection$1(PrintWriter).write(String, int, int) line: 456 There is a demo app attached to the ticket and an attachment with the full stacktrace. I personally wasn't able to reproduce it but two users have been able to do it with Tomcat 7.0.47 on Windows. Any help/hints are welcome! Martin Grigorov Wicket Training and Consulting
Re: tomcat-native libraries
On Mon, Mar 17, 2014 at 1:51 PM, Mark Thomas ma...@apache.org wrote: On 17/03/2014 08:10, Randeep wrote: On Mon, Mar 17, 2014 at 12:35 PM, Mark Thomas ma...@apache.org wrote: On 17/03/2014 04:52, Randeep wrote: Hi, I have a httpd-2.2.3-82.el5.centos.x86_64+mod_jk+apache-tomcat-6.0.37 stack Whenever I restart the server it shows the following warning. INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib That isn't a warning. Warnings start WARN: It is an informational message. It informs you that that the native library is not installed and that the native library typically has better performance. Yes. Its an informational message. Sorry about it. Then I tried to install tomcat-native-1.1.27-src Why? To get rid of the log message or to solve a performance problem? Mark Actually I'm getting this error on production server. Again, this is not an error. They start ERROR: ... or FATAL: ... I didn't know about tomcat native libraries. If it increase performance then I felt that It should be implemented. Why should you install it? What performance problem are you trying to solve? Why do you think that installing the native libraries will solve it? While the native library does - generally - perform better, it is not a magic make it faster library. Dear Mark, I was mentioning compilation error. I'm not getting any performance issues. But reading that information in logs I thought by installing the native libraries may improve the performance. So I tried to install it and while compiling I got error. My apologies if I asked something wrong. Mark That is why I tired to install it. But I'm getting the following error. #./configure --with-apr=/usr/bin/apr-1-config --with-java-home=/usr/java/jdk1.7.0_25 then #make make[1]: Entering directory `/usr/share/apache-tomcat-6.0.37/bin/tomcat-native-1.1.27-src/jni/native' /bin/sh /usr/lib64/apr-1/build/libtool --silent --mode=compile gcc -pthread -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -DHAVE_CONFIG_H -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -g -O2 -DHAVE_OPENSSL -I/usr/share/apache-tomcat-6.0.37/bin/tomcat-native-1.1.27-src/jni/native/include -I/usr/java/jdk1.7.0_25/include -I/usr/java/jdk1.7.0_25/include/linux -I/usr/include/apr-1 -o src/poll.lo -c src/poll.c touch src/poll.lo src/poll.c: In function 'Java_org_apache_tomcat_jni_Poll_create': src/poll.c:112: error: 'APR_POLLSET_NOCOPY' undeclared (first use in this function) src/poll.c:112: error: (Each undeclared identifier is reported only once src/poll.c:112: error: for each function it appears in.) src/poll.c: In function 'Java_org_apache_tomcat_jni_Poll_poll': src/poll.c:306: warning: implicit declaration of function 'APR_RING_FOREACH' src/poll.c:306: error: expected expression before 'tcn_pfde_t' src/poll.c:307: error: expected ';' before '{' token src/poll.c: In function 'Java_org_apache_tomcat_jni_Poll_maintain': src/poll.c:399: warning: implicit declaration of function 'APR_RING_FOREACH_SAFE' src/poll.c:399: error: expected expression before 'tcn_pfde_t' src/poll.c:400: error: expected ';' before '{' token src/poll.c:392: warning: unused variable 'now' src/poll.c:391: warning: unused variable 'num' src/poll.c:391: warning: unused variable 'i' src/poll.c: In function 'Java_org_apache_tomcat_jni_Poll_pollset': src/poll.c:471: error: expected expression before 'tcn_pfde_t' src/poll.c:472: error: expected ';' before '{' token make[1]: *** [src/poll.lo] Error 1 make[1]: Leaving directory `/usr/share/apache-tomcat-6.0.37/bin/tomcat-native-1.1.27-src/jni/native' make: *** [all-recursive] Error 1 This is my version of ap Package apr-1.2.7-11.el5_6.5.x86_64 already installed and latest version Package apr-devel-1.2.7-11.el5_6.5.x86_64 already installed and latest version Package apr-util-1.2.7-11.el5_5.2.x86_64 already installed and latest version Cant I install this version in centos 5? - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org -- Randeep Mob: +919447831699[kerala] Mob: +919880050349[B'lore] I blog here: http://www.randeeppr.me/ Follow me Here: http://twitter.com/Randeeppr Poke me here! http://www.facebook.com/Randeeppr A little Linux Help http://www.linuxhelp.in/ Work profile:
Re: Hanging write to the client when the response is too big
On 17/03/2014 09:06, Martin Grigorov wrote: Hi, A user of Apache Wicket has reported a problem where Tomcat hangs when writing the response to the browser - https://issues.apache.org/jira/browse/WICKET-5530 The application tries to upload a file (with Ajax) with bigger size than the allowed one. Then in the Ajax response it tries to write 16K+ bytes and Tomcat hangs with tracktrace like: Thread [qtp263823398-19] (Suspended) owns: ByteArrayOutputStream2 (id=69) owns: AbstractHttpConnection$OutputWriter (id=70) SocketOutputStream.socketWrite0(FileDescriptor, byte[], int, int) line: not available [native method] SocketOutputStream.socketWrite(byte[], int, int) line: 113 SocketOutputStream.write(byte[], int, int) line: 159 ByteArrayBuffer.writeTo(OutputStream) line: 375 SocketConnector$ConnectorEndPoint(StreamEndPoint).flush(Buffer) line: 164 HttpGenerator.flushBuffer() line: 850 HttpGenerator(AbstractGenerator).blockForOutput(long) line: 507 AbstractHttpConnection$Output(HttpOutput).write(Buffer) line: 170 AbstractHttpConnection$Output(HttpOutput).write(byte[], int, int) line: 107 ByteArrayOutputStream2(ByteArrayOutputStream).writeTo(OutputStream) line: 154 AbstractHttpConnection$OutputWriter(HttpWriter).write(char[], int, int) line: 288 AbstractHttpConnection$OutputWriter(HttpWriter).write(String, int, int) line: 112 AbstractHttpConnection$OutputWriter(HttpWriter).write(String, int, int) line: 101 AbstractHttpConnection$1(PrintWriter).write(String, int, int) line: 456 There is a demo app attached to the ticket and an attachment with the full stacktrace. I personally wasn't able to reproduce it but two users have been able to do it with Tomcat 7.0.47 on Windows. Any help/hints are welcome! Best guess, the client isn't reading the response because it hasn't fully written the request. Tomcat isn't going to close the connection as that would prevent it writing a response. Tomcat writes the response but because it is bigger than the various network buffers, Tomcat hangs writing the response. I assume something times out eventually and closes the connection. Mark - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: tomcat-native libraries
On 17/03/2014 09:09, Randeep wrote: On Mon, Mar 17, 2014 at 1:51 PM, Mark Thomas ma...@apache.org wrote: On 17/03/2014 08:10, Randeep wrote: On Mon, Mar 17, 2014 at 12:35 PM, Mark Thomas ma...@apache.org wrote: On 17/03/2014 04:52, Randeep wrote: Hi, I have a httpd-2.2.3-82.el5.centos.x86_64+mod_jk+apache-tomcat-6.0.37 stack Whenever I restart the server it shows the following warning. INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib That isn't a warning. Warnings start WARN: It is an informational message. It informs you that that the native library is not installed and that the native library typically has better performance. Yes. Its an informational message. Sorry about it. Then I tried to install tomcat-native-1.1.27-src Why? To get rid of the log message or to solve a performance problem? Mark Actually I'm getting this error on production server. Again, this is not an error. They start ERROR: ... or FATAL: ... I didn't know about tomcat native libraries. If it increase performance then I felt that It should be implemented. Why should you install it? What performance problem are you trying to solve? Why do you think that installing the native libraries will solve it? While the native library does - generally - perform better, it is not a magic make it faster library. Dear Mark, I was mentioning compilation error. I'm not getting any performance issues. Then why are you spending time trying to solve a problem you don't have? But reading that information in logs I thought by installing the native libraries may improve the performance. Installing the native library will make a difference. Whether the difference is large enough to notice depends very much on your application. If you want to improve your application's performance I suspect your time would be better spent with a profiler to see where the bottlenecks are in your application. Mark So I tried to install it and while compiling I got error. My apologies if I asked something wrong. Mark That is why I tired to install it. But I'm getting the following error. #./configure --with-apr=/usr/bin/apr-1-config --with-java-home=/usr/java/jdk1.7.0_25 then #make make[1]: Entering directory `/usr/share/apache-tomcat-6.0.37/bin/tomcat-native-1.1.27-src/jni/native' /bin/sh /usr/lib64/apr-1/build/libtool --silent --mode=compile gcc -pthread -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -DHAVE_CONFIG_H -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -g -O2 -DHAVE_OPENSSL -I/usr/share/apache-tomcat-6.0.37/bin/tomcat-native-1.1.27-src/jni/native/include -I/usr/java/jdk1.7.0_25/include -I/usr/java/jdk1.7.0_25/include/linux -I/usr/include/apr-1 -o src/poll.lo -c src/poll.c touch src/poll.lo src/poll.c: In function 'Java_org_apache_tomcat_jni_Poll_create': src/poll.c:112: error: 'APR_POLLSET_NOCOPY' undeclared (first use in this function) src/poll.c:112: error: (Each undeclared identifier is reported only once src/poll.c:112: error: for each function it appears in.) src/poll.c: In function 'Java_org_apache_tomcat_jni_Poll_poll': src/poll.c:306: warning: implicit declaration of function 'APR_RING_FOREACH' src/poll.c:306: error: expected expression before 'tcn_pfde_t' src/poll.c:307: error: expected ';' before '{' token src/poll.c: In function 'Java_org_apache_tomcat_jni_Poll_maintain': src/poll.c:399: warning: implicit declaration of function 'APR_RING_FOREACH_SAFE' src/poll.c:399: error: expected expression before 'tcn_pfde_t' src/poll.c:400: error: expected ';' before '{' token src/poll.c:392: warning: unused variable 'now' src/poll.c:391: warning: unused variable 'num' src/poll.c:391: warning: unused variable 'i' src/poll.c: In function 'Java_org_apache_tomcat_jni_Poll_pollset': src/poll.c:471: error: expected expression before 'tcn_pfde_t' src/poll.c:472: error: expected ';' before '{' token make[1]: *** [src/poll.lo] Error 1 make[1]: Leaving directory `/usr/share/apache-tomcat-6.0.37/bin/tomcat-native-1.1.27-src/jni/native' make: *** [all-recursive] Error 1 This is my version of ap Package apr-1.2.7-11.el5_6.5.x86_64 already installed and latest version Package apr-devel-1.2.7-11.el5_6.5.x86_64 already installed and latest version Package apr-util-1.2.7-11.el5_5.2.x86_64 already installed and latest version Cant I install this version in centos 5? - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional
Re: Hanging write to the client when the response is too big
On Mon, Mar 17, 2014 at 11:29 AM, Mark Thomas ma...@apache.org wrote: On 17/03/2014 09:06, Martin Grigorov wrote: Hi, A user of Apache Wicket has reported a problem where Tomcat hangs when writing the response to the browser - https://issues.apache.org/jira/browse/WICKET-5530 The application tries to upload a file (with Ajax) with bigger size than the allowed one. Then in the Ajax response it tries to write 16K+ bytes and Tomcat hangs with tracktrace like: Thread [qtp263823398-19] (Suspended) owns: ByteArrayOutputStream2 (id=69) owns: AbstractHttpConnection$OutputWriter (id=70) SocketOutputStream.socketWrite0(FileDescriptor, byte[], int, int) line: not available [native method] SocketOutputStream.socketWrite(byte[], int, int) line: 113 SocketOutputStream.write(byte[], int, int) line: 159 ByteArrayBuffer.writeTo(OutputStream) line: 375 SocketConnector$ConnectorEndPoint(StreamEndPoint).flush(Buffer) line: 164 HttpGenerator.flushBuffer() line: 850 HttpGenerator(AbstractGenerator).blockForOutput(long) line: 507 AbstractHttpConnection$Output(HttpOutput).write(Buffer) line: 170 AbstractHttpConnection$Output(HttpOutput).write(byte[], int, int) line: 107 ByteArrayOutputStream2(ByteArrayOutputStream).writeTo(OutputStream) line: 154 AbstractHttpConnection$OutputWriter(HttpWriter).write(char[], int, int) line: 288 AbstractHttpConnection$OutputWriter(HttpWriter).write(String, int, int) line: 112 AbstractHttpConnection$OutputWriter(HttpWriter).write(String, int, int) line: 101 AbstractHttpConnection$1(PrintWriter).write(String, int, int) line: 456 There is a demo app attached to the ticket and an attachment with the full stacktrace. I personally wasn't able to reproduce it but two users have been able to do it with Tomcat 7.0.47 on Windows. Any help/hints are welcome! Best guess, the client isn't reading the response because it hasn't fully written the request. Tomcat isn't going to close the connection as that would prevent it writing a response. Tomcat writes the response but because it is bigger than the various network buffers, Tomcat hangs writing the response. I assume something times out eventually and closes the connection. Mark Thanks for the answer! What is the current default behavior of Tomcat 7/8 about swallowing the file upload input in case its size is bigger than the configured max size? I've found discussion [1] but it doesn't say whether the behavior has changed in later versions of Tomcat. 1. http://markmail.org/message/c4qo4g2wc4sm7g53 - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: HttpServletRequest Tomcat 5.5.29 to 7.0.52
From: seema...@hotmail.com To: users@tomcat.apache.org Subject: RE: HttpServletRequest Tomcat 5.5.29 to 7.0.52 Date: Fri, 14 Mar 2014 15:15:04 + Date: Fri, 14 Mar 2014 08:36:08 -0400 From: ch...@christopherschultz.net To: users@tomcat.apache.org Subject: Re: HttpServletRequest Tomcat 5.5.29 to 7.0.52 -BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Seema, On 3/14/14, 7:53 AM, Seema Patel wrote: I have upgraded my tomcat (5.5.29 to 7.0.52) and Java (1.5 to 1.7) for my struts servlet jsp application. I have also removed all JCIFS authentication from the WEB-INF/web.xml file and have tried to do BASIC authentication through Tomcat and the AD (it authenticates me, but not sure if I've missed anything out, as I've never done this before). One question at a time, please ;) Sorry for the off-loading of multiple questions :-) I have a doFilter function in my code, which contains httpServletRequest.getServletPath() call. In the Tomcat 5.5.29 Java 1.5 version, this will work, as when I print httpServletRequest.getServletPath() i get the following: P1_00.do P5_0_0.do P5_0_1.do But in Tomcat 7.0.52 Java 1.7 I get the following from httpServletRequest.getServletPath() call: P1_00.do P5_0_0.do P5_0_1.do includes/tab_defaultsettings.jsp includes/P1_00.do How are you printing this? Do you just have a Filter that wraps everything and dumps-out the ServletPath for every request? Can you post the code for that Filter as well as the filter and filter-mapping configuration you have in web.xml? I'm just doing a System.out.println() in the doFilter function in the RequestFilter class to show which page it is. The doFilter function is: public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { if (request instanceof HttpServletRequest) { final HttpServletRequest httpRequest = (HttpServletRequest)request; final Object userBeanObject = httpRequest.getSession().getAttribute(GenConstants.LOGGED_IN_USER_BEAN); final String pageName = httpRequest.getServletPath().replaceAll(/,); System.out.println(Request Page = + httpRequest.getServletPath()); if (unsecuredPages.contains(pageName)) { // don't need any protection chain.doFilter(request, response); } else if (!(userBeanObject instanceof UserBean)) { // no user bean in session do need one, invalidate session and redirect to login if (httpRequest.getSession(false) != null) { httpRequest.getSession().invalidate(); } ((HttpServletResponse)response).sendRedirect(logonPage); } else { final UserBean user = (UserBean) userBeanObject; MapString,LogicalOperation permissions = (MapString,LogicalOperation)context.getAttribute(GenConstants.PERMISSIONS_MAP); if(permissions == null) { PermissionsUtil.setupPermissions(context); permissions = (MapString,LogicalOperation)context.getAttribute(GenConstants.PERMISSIONS_MAP); } final LogicalOperation requiredOp = permissions.get(pageName.replaceAll(\\.do,)); if (user.isOperationAllowed(requiredOp)) { chain.doFilter(request, response); } else { if (httpRequest.getSession(false) != null) { httpRequest.getSession().invalidate(); } ((HttpServletResponse)response).sendRedirect(logonPage); } } } } To give you a better idea of what was in the web.xml, here is what's been taken out: filter filter-nameNtlmHttpFilter/filter-name filter-classjcifs.http.NtlmHttpFilter/filter-class init-param param-namejcifs.smb.client.soTimeout/param-name param-value3/param-value /init-param !-- always needed for preauthentication / SMB signatures -- init-param param-namejcifs.smb.client.domain/param-name param-valueXXX.LOCAL/param-value /init-param !-- SMB message signing requires a valid existing login -- init-param param-namejcifs.smb.client.username/param-name param-valueusername/param-value /init-param init-param param-namejcifs.smb.client.password/param-name param-valuepassword/param-value /init-param !-- Set the logging level -- init-param param-namejcifs.util.loglevel/param-name param-value2/param-value /init-param !-- allow non-IE browsers to
AW: JNDIRealm - Active Directory Roles
Hallo Felix, thanks for explaination! I got it now! What helps was to enable debugging: # conf/logging.conf # This would turn on trace-level for everything # the possible levels are: SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST or ALL #org.apache.catalina.level = ALL #org.apache.catalina.handlers = 2localhost.org.apache.juli.FileHandler org.apache.catalina.realm.level = ALL org.apache.catalina.realm.useParentHandlers = true org.apache.catalina.authenticator.level = ALL org.apache.catalina.authenticator.useParentHandlers = true I got this realm config now: Realm className=org.apache.catalina.realm.JNDIRealm connectionName=CN=SVC_TomcatLdapQuery,OU=Service Accounts,OU=,OU=SITES,OU=\#KONFIGURATION,DC=,DC= connectionPassword=PASS connectionURL=ldap://server:389/OU=,OU=SITES,OU=\#KONFIGURATION,DC=,DC=?sAMAccountName?sub?(objectClass=*) userSearch=(sAMAccountName={0}) userSubtree=true roleSubtree=true roleName=CN userRoleName=memberOf / And I copy the manager-gui constraint in web.xml of the manager application and put in my new role: role-nameCN=DG_R_Tomcat Admins UAT,OU=Roles,OU=Spezielle Gruppen,OU=Hamburg,OU=SITES,OU=\#KONFIGURATION,DC=easycash,DC=de/role-name Thanks a lot! Best Regards, Bjoern -Ursprüngliche Nachricht- Von: Felix Schumacher [mailto:felix.schumac...@internetallee.de] Gesendet: Samstag, 15. März 2014 21:52 An: users@tomcat.apache.org Betreff: Re: JNDIRealm - Active Directory Roles Am 13.03.2014 18:15, schrieb bjoern.bec...@easycash.de: Hello, I try to implement the authentification for the tomcat manager application against active directory. Unfortunately I don't understand the role concept. I like to give the users permissions to open the manager when they're in this group: memberOf: CN=Tomcat Admins,OU=Roles,OU=Spezielle Gruppen,OU=SITES,OU=\#KONFIGURATION,DC=DOM,DC=de server.xml: Realm className=org.apache.catalina.realm.JNDIRealm debug=99 connectionName=CN=SVC,OU=Service Accounts,OU=SITES,OU=\#KONFIGURATION,DC=DOM,DC=de connectionPassword=_2VK!WHzybn1SJ8P connectionURL=ldap://server:389/OU=SITES,OU=\#KONFIGURATION,DC=DOM,DC=de?sAMAccountName?sub?(objectClass=*) userSearch=(sAMAccountName={0}) userSubtree=true roleSearch=(memberof={0}) roleSubtree=true userRoleName=CN=Tomcat Admins,OU=Roles,OU=Spezielle Gruppen,OU=SITES,OU=\#KONFIGURATION,DC=DOM,DC=de / !--roleBase=DC=DOM,DC=de roleName=cn -- With this configuration I can open the Manager, but got no permissions. Even if the user role relationship will found, I don't understand how I can assign tomcat roles (e.g. manager-gui) to the user. Looking at the documentation on http://tomcat.apache.org/tomcat-7.0-doc/config/realm.html#JNDI_Directory_Realm_-_org.apache.catalina.realm.JNDIRealm you have three settings which are most probably not correct. * roleSearch will only be used, if roleName is set (which is commented out in your configuration) * roleSearch will be used to search for objects that match the given filter. In your case you would find user objects instead of group objects. * userRoleName should be the name of an attribute in the user object (cn=... is not a name of an attribute, but rather a value) So given your goal, that cn=tomcat admins,... should be a role, you have two options. * You could activate roleName=cn (or another attribute name) and change the roleSearch to member={0}. Then the realm would (hopefully) find the object cn=tomcat admins,... * You could change userRoleName to memberOf In the first case your user would have a role with the name Tomcat Admins. The second option would lead to a role name of cn=Tomcat Admins, In both cases you would have to change the security constraints in the webapp (those are defined in the WEB-INF/web.xml file). If your role objects had other attributes with values that match the roles defined in web.xml you could simply change roleName in the first option above. Regards Felix - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Tomcat 7.0.52 strage startup
Hi, sometimes i get the following error at tomcat 7 startup.. so i restart and restart again and finally tomcat starts without problem. The error below is raised even during tomcat execution.. I need a little trace to start to investigate.. because now i cannot understand the origin of this error.. thanks! Roberto Feb 20, 2014 1:03:04 PM org.apache.coyote.ajp.AjpProcessor process SEVERE: Error processing requestnulljava.lang.ExceptionInInitializerErrornull at org.apache.catalina.connector.Response.setConnector(Response.java:154)null at org.apache.catalina.connector.Connector.createResponse(Connector.java:881)null at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:373)null at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:200)null at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)null at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)null at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)null at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)null at java.lang.Thread.run(Thread.java:722)nullCaused by: java.lang.NullPointerExceptionnull at org.apache.catalina.connector.CoyoteWriter.clinit(CoyoteWriter.java:35)null ... 9 morenull Feb 20, 2014 1:03:04 PM org.apache.coyote.AbstractProtocol$AbstractConnectionHandler process SEVERE: nullnulljava.lang.NoClassDefFoundError: Could not initialize class org.apache.catalina.connector.CoyoteWriternull at org.apache.catalina.connector.Response.setConnector(Response.java:154)null at org.apache.catalina.connector.Connector.createResponse(Connector.java:881)null at org.apache.catalina.connector.CoyoteAdapter.log(CoyoteAdapter.java:479)null at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:208)null at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)null at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)null at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)null at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)null at java.lang.Thread.run(Thread.java:722)null Feb 20, 2014 1:03:04 PM org.apache.coyote.ajp.AjpProcessor process SEVERE: Error processing requestnulljava.lang.NoClassDefFoundError: Could not initialize class org.apache.catalina.connector.CoyoteWriternull at org.apache.catalina.connector.Response.setConnector(Response.java:154)null at org.apache.catalina.connector.Connector.createResponse(Connector.java:881)null at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:373)null at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:200)null at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)null at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)null at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)null at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)null at java.lang.Thread.run(Thread.java:722)null Feb 20, 2014 1:03:04 PM org.apache.coyote.AbstractProtocol$AbstractConnectionHandler process SEVERE: nullnulljava.lang.NoClassDefFoundError: Could not initialize class org.apache.catalina.connector.CoyoteWriternull at org.apache.catalina.connector.Response.setConnector(Response.java:154)null at org.apache.catalina.connector.Connector.createResponse(Connector.java:881)null at org.apache.catalina.connector.CoyoteAdapter.log(CoyoteAdapter.java:479)null at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:208)null at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)null at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)null at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)null at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)null at java.lang.Thread.run(Thread.java:722)null Feb 20, 2014 1:03:39 PM org.apache.coyote.ajp.AjpProcessor process... and more and more.. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
AW: JNDIRealm - Active Directory Roles
Well, I still got a problem. After activating my active directory realm the applications don't anymore. I got this error: Mrz 17, 2014 1:49:28 PM org.apache.catalina.startup.HostConfig deployDescriptor Schwerwiegend: Error deploying configuration descriptor /app/tomcat2/tomcat/conf/Catalina/localhost/app.xml java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/app]] at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:904) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:650) at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1582) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) Best Regards, Bjoern -Ursprüngliche Nachricht- Von: Becker, Björn Gesendet: Montag, 17. März 2014 13:06 An: users@tomcat.apache.org Betreff: AW: JNDIRealm - Active Directory Roles Hallo Felix, thanks for explaination! I got it now! What helps was to enable debugging: # conf/logging.conf # This would turn on trace-level for everything # the possible levels are: SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST or ALL #org.apache.catalina.level = ALL #org.apache.catalina.handlers = 2localhost.org.apache.juli.FileHandler org.apache.catalina.realm.level = ALL org.apache.catalina.realm.useParentHandlers = true org.apache.catalina.authenticator.level = ALL org.apache.catalina.authenticator.useParentHandlers = true I got this realm config now: Realm className=org.apache.catalina.realm.JNDIRealm connectionName=CN=SVC_TomcatLdapQuery,OU=Service Accounts,OU=,OU=SITES,OU=\#KONFIGURATION,DC=,DC= connectionPassword=PASS connectionURL=ldap://server:389/OU=,OU=SITES,OU=\#KONFIGURATION,DC=,DC=?sAMAccountName?sub?(objectClass=*) userSearch=(sAMAccountName={0}) userSubtree=true roleSubtree=true roleName=CN userRoleName=memberOf / And I copy the manager-gui constraint in web.xml of the manager application and put in my new role: role-nameCN=DG_R_Tomcat Admins UAT,OU=Roles,OU=Spezielle Gruppen,OU=Hamburg,OU=SITES,OU=\#KONFIGURATION,DC=,DC= /role-name Thanks a lot! Best Regards, Bjoern -Ursprüngliche Nachricht- Von: Felix Schumacher [mailto:felix.schumac...@internetallee.de] Gesendet: Samstag, 15. März 2014 21:52 An: users@tomcat.apache.org Betreff: Re: JNDIRealm - Active Directory Roles Am 13.03.2014 18:15, schrieb bjoern.bec...@easycash.de: Hello, I try to implement the authentification for the tomcat manager application against active directory. Unfortunately I don't understand the role concept. I like to give the users permissions to open the manager when they're in this group: memberOf: CN=Tomcat Admins,OU=Roles,OU=Spezielle Gruppen,OU=SITES,OU=\#KONFIGURATION,DC=DOM,DC=de server.xml: Realm className=org.apache.catalina.realm.JNDIRealm debug=99 connectionName=CN=SVC,OU=Service Accounts,OU=SITES,OU=\#KONFIGURATION,DC=DOM,DC=de connectionPassword=_2VK!WHzybn1SJ8P connectionURL=ldap://server:389/OU=SITES,OU=\#KONFIGURATION,DC=DOM,DC=de?sAMAccountName?sub?(objectClass=*) userSearch=(sAMAccountName={0}) userSubtree=true roleSearch=(memberof={0}) roleSubtree=true userRoleName=CN=Tomcat Admins,OU=Roles,OU=Spezielle Gruppen,OU=SITES,OU=\#KONFIGURATION,DC=DOM,DC=de / !--roleBase=DC=DOM,DC=de roleName=cn -- With this configuration I can open the Manager, but got no permissions. Even if the user role relationship will found, I don't understand how I can assign tomcat roles (e.g. manager-gui) to the user. Looking at the documentation on http://tomcat.apache.org/tomcat-7.0-doc/config/realm.html#JNDI_Directory_Realm_-_org.apache.catalina.realm.JNDIRealm you have three settings which are most probably not correct. * roleSearch will only be used, if roleName is set (which is commented out in your configuration) * roleSearch will be used to search for objects that match the given filter. In your case you would find user
Re: JNDIRealm - Active Directory Roles
On 17. März 2014 13:53:18 MEZ, bjoern.bec...@easycash.de wrote: Well, I still got a problem. After activating my active directory realm the applications don't anymore. I got this error: Mrz 17, 2014 1:49:28 PM org.apache.catalina.startup.HostConfig deployDescriptor Schwerwiegend: Error deploying configuration descriptor /app/tomcat2/tomcat/conf/Catalina/localhost/app.xml java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/app]] Have you looked at the localhost log file? Maybe you have a problem with web.xml? Regards Felix at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:904) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:650) at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1582) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) Best Regards, Bjoern -Ursprüngliche Nachricht- Von: Becker, Björn Gesendet: Montag, 17. März 2014 13:06 An: users@tomcat.apache.org Betreff: AW: JNDIRealm - Active Directory Roles Hallo Felix, thanks for explaination! I got it now! What helps was to enable debugging: # conf/logging.conf # This would turn on trace-level for everything # the possible levels are: SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST or ALL #org.apache.catalina.level = ALL #org.apache.catalina.handlers = 2localhost.org.apache.juli.FileHandler org.apache.catalina.realm.level = ALL org.apache.catalina.realm.useParentHandlers = true org.apache.catalina.authenticator.level = ALL org.apache.catalina.authenticator.useParentHandlers = true I got this realm config now: Realm className=org.apache.catalina.realm.JNDIRealm connectionName=CN=SVC_TomcatLdapQuery,OU=Service Accounts,OU=,OU=SITES,OU=\#KONFIGURATION,DC=,DC= connectionPassword=PASS connectionURL=ldap://server:389/OU=,OU=SITES,OU=\#KONFIGURATION,DC=,DC=?sAMAccountName?sub?(objectClass=*) userSearch=(sAMAccountName={0}) userSubtree=true roleSubtree=true roleName=CN userRoleName=memberOf / And I copy the manager-gui constraint in web.xml of the manager application and put in my new role: role-nameCN=DG_R_Tomcat Admins UAT,OU=Roles,OU=Spezielle Gruppen,OU=Hamburg,OU=SITES,OU=\#KONFIGURATION,DC=,DC= /role-name Thanks a lot! Best Regards, Bjoern -Ursprüngliche Nachricht- Von: Felix Schumacher [mailto:felix.schumac...@internetallee.de] Gesendet: Samstag, 15. März 2014 21:52 An: users@tomcat.apache.org Betreff: Re: JNDIRealm - Active Directory Roles Am 13.03.2014 18:15, schrieb bjoern.bec...@easycash.de: Hello, I try to implement the authentification for the tomcat manager application against active directory. Unfortunately I don't understand the role concept. I like to give the users permissions to open the manager when they're in this group: memberOf: CN=Tomcat Admins,OU=Roles,OU=Spezielle Gruppen,OU=SITES,OU=\#KONFIGURATION,DC=DOM,DC=de server.xml: Realm className=org.apache.catalina.realm.JNDIRealm debug=99 connectionName=CN=SVC,OU=Service Accounts,OU=SITES,OU=\#KONFIGURATION,DC=DOM,DC=de connectionPassword=_2VK!WHzybn1SJ8P connectionURL=ldap://server:389/OU=SITES,OU=\#KONFIGURATION,DC=DOM,DC=de?sAMAccountName?sub?(objectClass=*) userSearch=(sAMAccountName={0}) userSubtree=true roleSearch=(memberof={0}) roleSubtree=true userRoleName=CN=Tomcat Admins,OU=Roles,OU=Spezielle Gruppen,OU=SITES,OU=\#KONFIGURATION,DC=DOM,DC=de / !--roleBase=DC=DOM,DC=de roleName=cn -- With this configuration I can open the Manager, but got no permissions. Even if the user role relationship will found, I don't understand how I can assign tomcat roles (e.g. manager-gui) to the user. Looking at the documentation on http://tomcat.apache.org/tomcat-7.0-doc/config/realm.html#JNDI_Directory_Realm_-_org.apache.catalina.realm.JNDIRealm you have three settings which are most probably not correct. * roleSearch will only be used, if roleName is set (which is commented out in your configuration) *
Re: Site down for maintenance senario
Deploy a ROOT web application whose 404 page says Down for maintenance. You could even customize this kind of thing to only respond to certain URL-prefixes (like [ROOT]/mywebapp/*). What will you do while Tomcat is restarting, though, if you have to restart? Restarts take about a second or two, it's an acceptable downtime. Custom 404's are a good idea -- the only content I need in the directory is the 404 maintenance page itself. I can just swap the names of the actual webapp and 'maintenence' webapp directories (they're exploded). Thanks to everyone for the other good suggestions.
AW: JNDIRealm - Active Directory Roles
Yes, I found this error: Mrz 17, 2014 12:50:59 PM org.apache.catalina.realm.UserDatabaseRealm startInternal Schwerwiegend: Exception looking up UserDatabase under key UserDatabase javax.naming.NameNotFoundException: Name [UserDatabase] is not bound in this Context. Unable to find [UserDatabase]. at org.apache.naming.NamingContext.lookup(NamingContext.java:820) at org.apache.naming.NamingContext.lookup(NamingContext.java:168) at org.apache.catalina.realm.UserDatabaseRealm.startInternal(UserDatabaseRealm.java:255) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5168) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:650) at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1582) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) While activating the ad realm I commented out the UserDatabase Resource: GlobalNamingResources !-- Editable user database that can also be used by UserDatabaseRealm to authenticate users -- !--Resource name=UserDatabase auth=Container type=org.apache.catalina.UserDatabase description=User database that can be updated and saved factory=org.apache.catalina.users.MemoryUserDatabaseFactory pathname=conf/tomcat-users.xml /-- /GlobalNamingResources and: !-- Realm className=org.apache.catalina.realm.UserDatabaseRealm resourceName=UserDatabase/-- May this is my problem? I thought the tomcatuser.xml and the UserDatabaseRealm is not necessary anymore? Best Regards, Bjoern -Ursprüngliche Nachricht- Von: Felix Schumacher [mailto:felix.schumac...@internetallee.de] Gesendet: Montag, 17. März 2014 14:11 An: Tomcat Users List; Becker, Björn Betreff: Re: JNDIRealm - Active Directory Roles On 17. März 2014 13:53:18 MEZ, bjoern.bec...@easycash.de wrote: Well, I still got a problem. After activating my active directory realm the applications don't anymore. I got this error: Mrz 17, 2014 1:49:28 PM org.apache.catalina.startup.HostConfig deployDescriptor Schwerwiegend: Error deploying configuration descriptor /app/tomcat2/tomcat/conf/Catalina/localhost/app.xml java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/app] ] Have you looked at the localhost log file? Maybe you have a problem with web.xml? Regards Felix at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:904) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:650) at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1582) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) Best Regards, Bjoern -Ursprüngliche Nachricht- Von: Becker, Björn Gesendet: Montag, 17. März 2014 13:06 An: users@tomcat.apache.org Betreff: AW: JNDIRealm - Active Directory Roles Hallo Felix, thanks for explaination! I got it now! What helps was to enable debugging: # conf/logging.conf # This would turn on trace-level for everything # the possible levels are: SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST or ALL #org.apache.catalina.level = ALL #org.apache.catalina.handlers = 2localhost.org.apache.juli.FileHandler org.apache.catalina.realm.level = ALL org.apache.catalina.realm.useParentHandlers = true org.apache.catalina.authenticator.level = ALL org.apache.catalina.authenticator.useParentHandlers = true I got this realm config now: Realm className=org.apache.catalina.realm.JNDIRealm
Hosting recommendations
We're getting killed by our hosting provider (RS) over bandwidth issues. I swear we scoped this out but somehow were over our agreement by an alarming amount. Our daily bandwidth looks like this: http://s17.postimg.org/btl0sj3jz/rs_traffic.png That's ~4T/day in bandwidth. I know it's a little outside the scope of this group, but there's a lot of smart people on here and I am using Tomcat on the two webservers. Can anyone suggest a managed hosting company they like. Preferential to iron, but if a cloud has worked for you please let me know. My boss is going to stab me. Thanks, John
Re: tomcat-native libraries
Installing the native library will make a difference. Whether the difference is large enough to notice depends very much on your application. If you want to improve your application's performance I suspect your time would be better spent with a profiler to see where the bottlenecks are in your application. Mark +1 I had the native APR installed and ended up removing it in favor of keeping things simple. The NIO connector often recommended by Chris S. and others works very well.
Re: Hosting recommendations
On 17/03/2014 13:41, John Smith wrote: We're getting killed by our hosting provider (RS) over bandwidth issues. I swear we scoped this out but somehow were over our agreement by an alarming amount. Our daily bandwidth looks like this: http://s17.postimg.org/btl0sj3jz/rs_traffic.png That's ~4T/day in bandwidth. That looks odd. 1. Is that volume of traffic reasonable for your site? 2. Are those figures consistent with your access logs? 3. I'd expect incoming to be a lot less than outgoing for a typical site. I know it's a little outside the scope of this group, but there's a lot of smart people on here and I am using Tomcat on the two webservers. Can anyone suggest a managed hosting company they like. Preferential to iron, but if a cloud has worked for you please let me know. My boss is going to stab me. That sort of traffic level is going to cost $$$ pretty much anywhere. For example, the bandwidth alone is going to cost upwards of $70k/month with Amazon EC2. I know it isn't the question you asked but I'd be looking hard at the traffic to see if a) those numbers are correct and b) someone didn't do something REALLY silly that is causing excessive traffic. Mark - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Hanging write to the client when the response is too big
On 17/03/2014 09:52, Martin Grigorov wrote: On Mon, Mar 17, 2014 at 11:29 AM, Mark Thomas ma...@apache.org wrote: On 17/03/2014 09:06, Martin Grigorov wrote: Hi, A user of Apache Wicket has reported a problem where Tomcat hangs when writing the response to the browser - https://issues.apache.org/jira/browse/WICKET-5530 The application tries to upload a file (with Ajax) with bigger size than the allowed one. Then in the Ajax response it tries to write 16K+ bytes and Tomcat hangs with tracktrace like: Thread [qtp263823398-19] (Suspended) owns: ByteArrayOutputStream2 (id=69) owns: AbstractHttpConnection$OutputWriter (id=70) SocketOutputStream.socketWrite0(FileDescriptor, byte[], int, int) line: not available [native method] SocketOutputStream.socketWrite(byte[], int, int) line: 113 SocketOutputStream.write(byte[], int, int) line: 159 ByteArrayBuffer.writeTo(OutputStream) line: 375 SocketConnector$ConnectorEndPoint(StreamEndPoint).flush(Buffer) line: 164 HttpGenerator.flushBuffer() line: 850 HttpGenerator(AbstractGenerator).blockForOutput(long) line: 507 AbstractHttpConnection$Output(HttpOutput).write(Buffer) line: 170 AbstractHttpConnection$Output(HttpOutput).write(byte[], int, int) line: 107 ByteArrayOutputStream2(ByteArrayOutputStream).writeTo(OutputStream) line: 154 AbstractHttpConnection$OutputWriter(HttpWriter).write(char[], int, int) line: 288 AbstractHttpConnection$OutputWriter(HttpWriter).write(String, int, int) line: 112 AbstractHttpConnection$OutputWriter(HttpWriter).write(String, int, int) line: 101 AbstractHttpConnection$1(PrintWriter).write(String, int, int) line: 456 There is a demo app attached to the ticket and an attachment with the full stacktrace. I personally wasn't able to reproduce it but two users have been able to do it with Tomcat 7.0.47 on Windows. Any help/hints are welcome! Best guess, the client isn't reading the response because it hasn't fully written the request. Tomcat isn't going to close the connection as that would prevent it writing a response. Tomcat writes the response but because it is bigger than the various network buffers, Tomcat hangs writing the response. I assume something times out eventually and closes the connection. Mark Thanks for the answer! What is the current default behavior of Tomcat 7/8 about swallowing the file upload input in case its size is bigger than the configured max size? I've found discussion [1] but it doesn't say whether the behavior has changed in later versions of Tomcat. 1. http://markmail.org/message/c4qo4g2wc4sm7g53 http://tomcat.apache.org/tomcat-8.0-doc/config/context.html http://tomcat.apache.org/tomcat-7.0-doc/config/context.html Look for swallowAbortedUploads However, all of this is moot if it is the application reading the request body via getInputStream() rather than Tomcat. In that case it is up to the application to handle this case. Mark - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: JNDIRealm - Active Directory Roles
Am 17.03.2014 13:05, schrieb bjoern.bec...@easycash.de: Hallo Felix, thanks for explaination! I got it now! What helps was to enable debugging: # conf/logging.conf # This would turn on trace-level for everything # the possible levels are: SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST or ALL #org.apache.catalina.level = ALL #org.apache.catalina.handlers = 2localhost.org.apache.juli.FileHandler org.apache.catalina.realm.level = ALL org.apache.catalina.realm.useParentHandlers = true org.apache.catalina.authenticator.level = ALL org.apache.catalina.authenticator.useParentHandlers = true I got this realm config now: Realm className=org.apache.catalina.realm.JNDIRealm connectionName=CN=SVC_TomcatLdapQuery,OU=Service Accounts,OU=,OU=SITES,OU=\#KONFIGURATION,DC=,DC= connectionPassword=PASS connectionURL=ldap://server:389/OU=,OU=SITES,OU=\#KONFIGURATION,DC=,DC=?sAMAccountName?sub?(objectClass=*) userSearch=(sAMAccountName={0}) userSubtree=true roleSubtree=true roleName=CN userRoleName=memberOf / You should leave roleName und roleSubtree out of your configuration, since you are using userRoleName. Regards Felix And I copy the manager-gui constraint in web.xml of the manager application and put in my new role: role-nameCN=DG_R_Tomcat Admins UAT,OU=Roles,OU=Spezielle Gruppen,OU=Hamburg,OU=SITES,OU=\#KONFIGURATION,DC=easycash,DC=de/role-name Thanks a lot! Best Regards, Bjoern -Ursprüngliche Nachricht- Von: Felix Schumacher [mailto:felix.schumac...@internetallee.de] Gesendet: Samstag, 15. März 2014 21:52 An: users@tomcat.apache.org Betreff: Re: JNDIRealm - Active Directory Roles Am 13.03.2014 18:15, schrieb bjoern.bec...@easycash.de: Hello, I try to implement the authentification for the tomcat manager application against active directory. Unfortunately I don't understand the role concept. I like to give the users permissions to open the manager when they're in this group: memberOf: CN=Tomcat Admins,OU=Roles,OU=Spezielle Gruppen,OU=SITES,OU=\#KONFIGURATION,DC=DOM,DC=de server.xml: Realm className=org.apache.catalina.realm.JNDIRealm debug=99 connectionName=CN=SVC,OU=Service Accounts,OU=SITES,OU=\#KONFIGURATION,DC=DOM,DC=de connectionPassword=_2VK!WHzybn1SJ8P connectionURL=ldap://server:389/OU=SITES,OU=\#KONFIGURATION,DC=DOM,DC=de?sAMAccountName?sub?(objectClass=*) userSearch=(sAMAccountName={0}) userSubtree=true roleSearch=(memberof={0}) roleSubtree=true userRoleName=CN=Tomcat Admins,OU=Roles,OU=Spezielle Gruppen,OU=SITES,OU=\#KONFIGURATION,DC=DOM,DC=de / !--roleBase=DC=DOM,DC=de roleName=cn -- With this configuration I can open the Manager, but got no permissions. Even if the user role relationship will found, I don't understand how I can assign tomcat roles (e.g. manager-gui) to the user. Looking at the documentation on http://tomcat.apache.org/tomcat-7.0-doc/config/realm.html#JNDI_Directory_Realm_-_org.apache.catalina.realm.JNDIRealm you have three settings which are most probably not correct. * roleSearch will only be used, if roleName is set (which is commented out in your configuration) * roleSearch will be used to search for objects that match the given filter. In your case you would find user objects instead of group objects. * userRoleName should be the name of an attribute in the user object (cn=... is not a name of an attribute, but rather a value) So given your goal, that cn=tomcat admins,... should be a role, you have two options. * You could activate roleName=cn (or another attribute name) and change the roleSearch to member={0}. Then the realm would (hopefully) find the object cn=tomcat admins,... * You could change userRoleName to memberOf In the first case your user would have a role with the name Tomcat Admins. The second option would lead to a role name of cn=Tomcat Admins, In both cases you would have to change the security constraints in the webapp (those are defined in the WEB-INF/web.xml file). If your role objects had other attributes with values that match the roles defined in web.xml you could simply change roleName in the first option above. Regards Felix - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Tomcat 8.0.3 hangs when ISAPI redirector sends an AJP request without request body
On 03/03/2014 21:04, Konstantin Preißer wrote: -Original Message- From: Konstantin Preißer [mailto:kpreis...@apache.org] Sent: Monday, March 3, 2014 5:38 PM When sending the following request to IIS: POST /TestWebapp/Servlet HTTP/1.1 Host: localhost Connection: keep-alive Content-Length: 0 Then the ISAPI redirector sends the following AJP packet to Tomcat: [...] To me, this looks ok - as the request body is 0 (known in advance) AFAIK only the JK_AJP13_FORWARD_REQUEST packet should be sent to Tomcat. Note, that the Content-Length: 0 header is correctly included in the packet: A0 08 00 01 30 (0xA008 represents Content-Length). I tested this now also with Tomcat 8.0.0-RC1 and 8.0.0-RC2, and found that the problem also happens with RC2 but not with RC1: With RC1, s.read() immediately returns so that the read byte count is 0, whereas with RC2, Tomcat hangs after sending the request. Unfortunately I was not able to find which revision introduced the change, as I was not able to build earlier Tomcat trunk SVN revisions - I always get the following error when running ant (this one was with r1518381): This hasn't been forgotten. I have a fix for this that I will commit shortly that will be in 8.0.4 onwards. Mark - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Hosting recommendations
On Mon, Mar 17, 2014 at 9:55 AM, Mark Thomas ma...@apache.org wrote: On 17/03/2014 13:41, John Smith wrote: We're getting killed by our hosting provider (RS) over bandwidth issues. I swear we scoped this out but somehow were over our agreement by an alarming amount. Our daily bandwidth looks like this: http://s17.postimg.org/btl0sj3jz/rs_traffic.png That's ~4T/day in bandwidth. That looks odd. 1. Is that volume of traffic reasonable for your site? 2. Are those figures consistent with your access logs? 3. I'd expect incoming to be a lot less than outgoing for a typical site. I know it's a little outside the scope of this group, but there's a lot of smart people on here and I am using Tomcat on the two webservers. Can anyone suggest a managed hosting company they like. Preferential to iron, but if a cloud has worked for you please let me know. My boss is going to stab me. That sort of traffic level is going to cost $$$ pretty much anywhere. For example, the bandwidth alone is going to cost upwards of $70k/month with Amazon EC2. I know it isn't the question you asked but I'd be looking hard at the traffic to see if a) those numbers are correct and b) someone didn't do something REALLY silly that is causing excessive traffic. Mark - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org Mark, 1. Yes, we have ~500,000 visitors per day, and the site is based around a very popular game that is very data intensive (users creating, browsing and loading levels and replays). 2. Yes 3. I agree. I'm not clear on the MRTG graphs. The one I posted is the firewall. The loadbalancer shows equal amounts of in/out, and the web servers show same incoming as the firewall, and slightly higher outgoing. It's seems unlikely, but it *may* reflect level saving. I would also think out would be higher than in though. All that said, I think the numbers are correct, especially since they look the same as the MRTG graphs from the old host. I'd at least like to get a quote from another hosting company. Any recs at all? Best, John
Re: JNDIRealm - Active Directory Roles
Am 17.03.2014 14:31, schrieb bjoern.bec...@easycash.de: Yes, I found this error: Mrz 17, 2014 12:50:59 PM org.apache.catalina.realm.UserDatabaseRealm startInternal Schwerwiegend: Exception looking up UserDatabase under key UserDatabase javax.naming.NameNotFoundException: Name [UserDatabase] is not bound in this Context. Unable to find [UserDatabase]. at org.apache.naming.NamingContext.lookup(NamingContext.java:820) at org.apache.naming.NamingContext.lookup(NamingContext.java:168) at org.apache.catalina.realm.UserDatabaseRealm.startInternal(UserDatabaseRealm.java:255) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5168) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:650) at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1582) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) While activating the ad realm I commented out the UserDatabase Resource: GlobalNamingResources !-- Editable user database that can also be used by UserDatabaseRealm to authenticate users -- !--Resource name=UserDatabase auth=Container type=org.apache.catalina.UserDatabase description=User database that can be updated and saved factory=org.apache.catalina.users.MemoryUserDatabaseFactory pathname=conf/tomcat-users.xml /-- /GlobalNamingResources and: !-- Realm className=org.apache.catalina.realm.UserDatabaseRealm resourceName=UserDatabase/-- May this is my problem? I thought the tomcatuser.xml and the UserDatabaseRealm is not necessary anymore? UserDatabase is needed for any UserDatabaseRealm you might have. So you will have to look into all of your contexts to see if you can disable UserDatabase. And I believe you have to have one Realm (doesn't matter what type) in your host. I think there were some startup mechanisms relying on one realm to be there. Regards Felix Best Regards, Bjoern -Ursprüngliche Nachricht- Von: Felix Schumacher [mailto:felix.schumac...@internetallee.de] Gesendet: Montag, 17. März 2014 14:11 An: Tomcat Users List; Becker, Björn Betreff: Re: JNDIRealm - Active Directory Roles On 17. März 2014 13:53:18 MEZ, bjoern.bec...@easycash.de wrote: Well, I still got a problem. After activating my active directory realm the applications don't anymore. I got this error: Mrz 17, 2014 1:49:28 PM org.apache.catalina.startup.HostConfig deployDescriptor Schwerwiegend: Error deploying configuration descriptor /app/tomcat2/tomcat/conf/Catalina/localhost/app.xml java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/app] ] Have you looked at the localhost log file? Maybe you have a problem with web.xml? Regards Felix at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:904) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:650) at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1582) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) Best Regards, Bjoern -Ursprüngliche Nachricht- Von: Becker, Björn Gesendet: Montag, 17. März 2014 13:06 An: users@tomcat.apache.org Betreff: AW: JNDIRealm - Active Directory Roles Hallo Felix, thanks for explaination! I got it now! What helps was to enable debugging: # conf/logging.conf # This would turn on trace-level for everything # the possible levels are: SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST or ALL
Re: Hosting recommendations
On 17.03.2014 15:15, John Smith wrote: 1. Yes, we have ~500,000 visitors per day, and the site is based around a very popular game that is very data intensive (users creating, browsing and loading levels and replays). Just a rough idea: maybe differential level load/save will help? In other words: to download/upload only changed entities? -- Mikolaj Rydzewski m...@ceti.pl - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: Tomcat 8.0.3 hangs when ISAPI redirector sends an AJP request without request body
Hi Mark, Konstantin K. and others, -Original Message- From: Mark Thomas [mailto:ma...@apache.org] Sent: Monday, March 17, 2014 3:12 PM snip This hasn't been forgotten. I have a fix for this that I will commit shortly that will be in 8.0.4 onwards. Thanks for analyzing and solving the issue! Regards, Konstantin Preißer - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Hosting recommendations
On Mon, Mar 17, 2014 at 10:25 AM, Mikolaj Rydzewski m...@ceti.pl wrote: On 17.03.2014 15:15, John Smith wrote: 1. Yes, we have ~500,000 visitors per day, and the site is based around a very popular game that is very data intensive (users creating, browsing and loading levels and replays). Just a rough idea: maybe differential level load/save will help? In other words: to download/upload only changed entities Like a diff? That's a good idea. It's not that there aren't optimizations for the data going back and forth, it's just there's got to be something comparable to RS that's not as expensive.
AW: JNDIRealm - Active Directory Roles
Thanks again! It keep the Userdatabase realm now, but I removed the path=tomcat-users.xml parameter. It's working now. Regards, Björn -Ursprüngliche Nachricht- Von: Felix Schumacher [mailto:felix.schumac...@internetallee.de] Gesendet: Montag, 17. März 2014 15:15 An: users@tomcat.apache.org Betreff: Re: JNDIRealm - Active Directory Roles Am 17.03.2014 14:31, schrieb bjoern.bec...@easycash.de: Yes, I found this error: Mrz 17, 2014 12:50:59 PM org.apache.catalina.realm.UserDatabaseRealm startInternal Schwerwiegend: Exception looking up UserDatabase under key UserDatabase javax.naming.NameNotFoundException: Name [UserDatabase] is not bound in this Context. Unable to find [UserDatabase]. at org.apache.naming.NamingContext.lookup(NamingContext.java:820) at org.apache.naming.NamingContext.lookup(NamingContext.java:168) at org.apache.catalina.realm.UserDatabaseRealm.startInternal(UserDatabaseRealm.java:255) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5168) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:650) at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1582) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) While activating the ad realm I commented out the UserDatabase Resource: GlobalNamingResources !-- Editable user database that can also be used by UserDatabaseRealm to authenticate users -- !--Resource name=UserDatabase auth=Container type=org.apache.catalina.UserDatabase description=User database that can be updated and saved factory=org.apache.catalina.users.MemoryUserDatabaseFactory pathname=conf/tomcat-users.xml /-- /GlobalNamingResources and: !-- Realm className=org.apache.catalina.realm.UserDatabaseRealm resourceName=UserDatabase/-- May this is my problem? I thought the tomcatuser.xml and the UserDatabaseRealm is not necessary anymore? UserDatabase is needed for any UserDatabaseRealm you might have. So you will have to look into all of your contexts to see if you can disable UserDatabase. And I believe you have to have one Realm (doesn't matter what type) in your host. I think there were some startup mechanisms relying on one realm to be there. Regards Felix Best Regards, Bjoern -Ursprüngliche Nachricht- Von: Felix Schumacher [mailto:felix.schumac...@internetallee.de] Gesendet: Montag, 17. März 2014 14:11 An: Tomcat Users List; Becker, Björn Betreff: Re: JNDIRealm - Active Directory Roles On 17. März 2014 13:53:18 MEZ, bjoern.bec...@easycash.de wrote: Well, I still got a problem. After activating my active directory realm the applications don't anymore. I got this error: Mrz 17, 2014 1:49:28 PM org.apache.catalina.startup.HostConfig deployDescriptor Schwerwiegend: Error deploying configuration descriptor /app/tomcat2/tomcat/conf/Catalina/localhost/app.xml java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ap p] ] Have you looked at the localhost log file? Maybe you have a problem with web.xml? Regards Felix at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:904) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:650) at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1582) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) Best Regards, Bjoern
Re: Tomcat 7 : Configure redirect url for session timeout
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Akash, On 3/14/14, 7:18 PM, Akash Jain wrote: I want to redirect user to / with a query parameter to indicate that session has timed out. On Fri, Mar 14, 2014 at 4:01 PM, Leo Donahue donahu...@gmail.com wrote: On Fri, Mar 14, 2014 at 3:48 PM, Akash Jain akash.delh...@gmail.com wrote: Leo, If any request comes after session timeout interval ... why would it go into error ? Perhaps because the request/response that was created with a session is no longer valid after the session timeout. What other option would you have if not an error-page? It is not feasible to determine the difference between a timed-out session and a user who had no session to begin with. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1 Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBCAAGBQJTJ0wfAAoJEBzwKT+lPKRYO1QP/2jeAUlyIM6zSOA7LBkrsplS Wypf2zi65W9DM/aQn8V8CU8biDtA+zLUPpVQy5ntb2FMQ0fsW6nECItM36ATy79x xJvbGT51ySicNXTtvAgUJsnbGZOYlVy2W4Uo7VqxSAs8qjbsQaqly1YjmUtIpQRG ctHa48u6qwcQUVnVceL3xwDxZ8flMcaPu+9+ddILoRUNWYEGmKPkspsvKRFMfVgQ lsWtvzeW97mbS7+9CL+p/egcoe4JhVWLAYQW1w+wdoWT1R5Jds/gnCDuVaH+Y6Mi KiLPJ8ew99d3HF9BxxKDrk4fqgMgUkhZVI2WHzl/Y+o7oiiOBXpaVlqQ6gE4B48I 7e9gTodQBPY597N0ZdgYIRLML6U12wNAV32OLwVwGo/kjKqV/22b/E0YWjOvI6z9 9+djxnz8JTYlbKM+PlTBDsN5/zwz90WtmA38ZoyHffyrlGiDKKjOSvlOkSjtEzTj z6naV8InGrNd0Hmmc7AfDhaGwTJMKAmJWs5dYlfPb+FmSa8al9yRZHLTS/mOAL8f H+Vsic2ZfkBHpzIj9sQRz6V/7lurvV59hrBKpqck7wvr6GfgwaU8+cPE4c8rnilw Ut5qM6/7oh6nDJIliVL/+xY/s1+CnHAz+xSEDB0u1J91XW7kE7TByKyknzBsTYQS 1jRAmLmiEPIIKzzZxPhu =lf10 -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Possible Tomcat 8.0.3 issue
My Tomcat 8 is hosted on an Amazon EC2 large instance (8GB of ram), with a 64-bit Oracle Java 7u51 JVM. The 2GB PermGen is is an oversized value to guarantee I wont run out of memory in case I need do redeploy my applications several times in the same day, but the maximum I ever used was about 512MB. I admit I don't understand 100% of the script. Actually I prefer the set the less configuration parameters possible. Some months ago my Tomcat 7 was locking (process using 100% of CPU and not responding). I found this script when I was looking for a solution for this, and as it was well documented I decided to use it. I don't remember facing this locking issue since them. My Tomcat 7 was running fine with this script, but last friday morning I started Tomcat 8 setting only this: *-Xms2048m -Xmx2048m -XX:MaxPermSize=1024m -Dorg.apache.el.parser.COERCE_TO_ZERO=false* and the applications crashed too. So I'd say that the problem is not my JVM config, but I'm interested on improving it. What arguments do you recommend to tune GC? Last friday afternoon I created a new Amazon EC2 instance with Tomcat 7 to check, and the problem is still there, so It was a damn coincidence that this problem started after I migrate to Tomcat 8. As I had a connection pool leak with Tomcat 8 it contributed for me to think that it could be something wrong with it. I still didn't solved it, I'll continue it here: http://forum.primefaces.org/viewtopic.php?f=3t=36823 Any help is appreciated. Thanks 2014-03-13 17:51 GMT-03:00 Christopher Schultz ch...@christopherschultz.net : -BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Felipe, On 3/13/14, 3:33 PM, Felipe Jaekel wrote: Hmm I didn't looked at the server status yesterday, but the times I faced OOEM in the past nothing responded, page rendering didn't even started. And today problem is happening again with half the memory free. My best guess for the PermGen issue problem is Hibernate. I read a lot of forum threads and articles about it, tried lots of monitoring tools with no success. So I gave up and configured a large size and restart the server periodically to flush it. Never had problems again. I mentioned that I restart server daily to give a notion of how long the jvm was running. I was always curious about this ClientAbortException. I think its caused by connection problem on the client(mobile internet for example), so the user gives up loading the page. My web.xml is 3.0. I'm using a fresh Tomcat 8 install. I'll attach my setenv.sh, I found it on GitHub and changed the Xms, Xmx and PermGen values. Thanks again #! /bin/sh # == # __ __ _ # /_ __/___ ___ _ _/ /_ /__ / # / / / __ \/ __ `__ \/ ___/ __ `/ __/ / / # / / / /_/ / / / / / / /__/ /_/ / /_ / / #/_/ \/_/ /_/ /_/\___/\__,_/\__/ /_/ Uh, oh. You are using someone else's script without understanding it? Things could work out great, but they could also not be so great. I'm particularly interested in this part: # Oracle Java as default, uses the serial garbage collector on the # Full Tenured heap. The Young space is collected in parallel, but the # Tenured is not. This means that at a time of load if a full collection # event occurs, since the event is a 'stop-the-world' serial event then # all application threads other than the garbage collector thread are # taken off the CPU. This can have severe consequences if requests continue # to accrue during these 'outage' periods. (specifically webservices, webapps) # [Also enables adaptive sizing automatically] export CATALINA_OPTS=$CATALINA_OPTS -XX:+UseParallelGC Parallel GC is still a stop-the-world collector for the tenured (aka Old) generation. Technically, what you want is the Parallel Compacy GC which is in fact what you get if you use this option on Java 6+. Before that, you'll get the old parallel GC implementation which is in fact stop-the-world. # This is interpreted as a hint to the garbage collector that pause times # of nnn milliseconds or less are desired. The garbage collector will # adjust the Java heap size and other garbage collection related parameters # in an attempt to keep garbage collection pauses shorter than nnn milliseconds. # http://java.sun.com/docs/hotspot/gc5.0/ergo5.html export CATALINA_OPTS=$CATALINA_OPTS -XX:MaxGCPauseMillis=1500 If you don't need this, you shouldn't use it. By placing limits on the GC, you can run out of memory even if you don't need to because the GC can't catch up. 1500ms is pretty reasonable, but I always wonder why people mess with things if they don't have to. # A hint to the virtual machine that it.s desirable that not more than: # 1 / (1 + GCTimeRation) of the application execution time be spent in # the garbage collector. #
Re: Possible Tomcat 8.0.3 issue
On Mon, Mar 17, 2014 at 4:14 PM, Felipe Jaekel fkjae...@gmail.com wrote: My Tomcat 7 was running fine with this script, but last friday morning I started Tomcat 8 setting only this: *-Xms2048m -Xmx2048m -XX:MaxPermSize=1024m -Dorg.apache.el.parser.COERCE_TO_ZERO=false* and the applications crashed too. So I'd say that the problem is not my JVM config, but I'm interested on improving it. What arguments do you recommend to tune GC? Last friday afternoon I created a new Amazon EC2 instance with Tomcat 7 to check, and the problem is still there, so It was a damn coincidence that this problem started after I migrate to Tomcat 8. As I had a connection pool leak with Tomcat 8 it contributed for me to think that it could be Was the following in your Tomcat7 config before 'and' after migrating to tomcat8? -Dorg.apache.el.parser.COERCE_TO_ZERO=false*