[Bug 55570] SpnegoAuthenticator: Resource file is missing placeholders for exceptions.
https://issues.apache.org/bugzilla/show_bug.cgi?id=55570 --- Comment #2 from Sander --- thanks! -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 55588] New: Tomcat randomly crashes with [libtcnative-1.so+0x12e39] Java_org_apache_tomcat_jni_Socket_sendbb+0x59
https://issues.apache.org/bugzilla/show_bug.cgi?id=55588 Bug ID: 55588 Summary: Tomcat randomly crashes with [libtcnative-1.so+0x12e39] Java_org_apache_tomcat_jni_Socket_sendbb+0x59 Product: Tomcat Native Version: 1.1.24 Hardware: HP OS: Linux Status: NEW Severity: major Priority: P2 Component: Library Assignee: dev@tomcat.apache.org Reporter: nitinvbhav...@yahoo.com Created attachment 30877 --> https://issues.apache.org/bugzilla/attachment.cgi?id=30877&action=edit Crash report attached Apache Tomcat/7.0.29 APR based Apache Tomcat Native library 1.1.24 using APR version 1.3.9. Tomcat with the APR connector, using HTTPS scheme. The system is under load test with heavy traffic flowing between client and server. It also occurred once when the system was NOT under load. No known test case to reproduce the issue. It happens randomly. More information in case it helps: There are around 100 clients connecting to the server from the same machine. There are 3 such machines on which clients run. https://issues.apache.org/bugzilla/show_bug.cgi?id=51813 looks similar but probably not same issue. # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x7f0df4825e39, pid=1208, tid=139688203269888 # # JRE version: 7.0_03 # Java VM: OpenJDK 64-Bit Server VM (22.0-b10 mixed mode linux-amd64 compressed oops) # Problematic frame: # C [libtcnative-1.so+0x12e39] Java_org_apache_tomcat_jni_Socket_sendbb+0x59 # # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again # # If you would like to submit a bug report, please include # instructions on how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # --- T H R E A D --- Current thread (0x7f0c6c151800): JavaThread "http-apr-9443-exec-277" daemon [_thread_in_native, id=6009, stack(0x7f0bb1b43000,0x7f0bb1bc4000)] siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x0040 . . . Stack: [0x7f0bb1b43000,0x7f0bb1bc4000], sp=0x7f0bb1bc20d0, free space=508k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [libtcnative-1.so+0x12e39] Java_org_apache_tomcat_jni_Socket_sendbb+0x59 [error occurred during error reporting (printing native stack), id 0xb] Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) J org.apache.tomcat.jni.Socket.sendbb(JII)I J org.apache.coyote.http11.InternalAprOutputBuffer.flushBuffer()V J org.apache.coyote.http11.AbstractHttp11Processor.action(Lorg/apache/coyote/ActionCode;Ljava/lang/Object;)V J net.zschech.gwt.comet.server.deflate.DeflaterOutputStream.flush()V J sun.nio.cs.StreamEncoder.flush()V J net.zschech.gwt.comet.server.impl.CometServletResponseImpl.tryTerminate()V J net.zschech.gwt.comet.server.impl.CometServletResponseImpl.initiate()V J javax.servlet.http.HttpServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V J javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V J org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V J org.apache.catalina.core.StandardWrapperValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V J org.apache.catalina.core.StandardContextValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V J org.apache.catalina.authenticator.AuthenticatorBase.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V J org.apache.catalina.core.StandardHostValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V J org.apache.catalina.core.StandardEngineValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V J org.apache.catalina.connector.CoyoteAdapter.service(Lorg/apache/coyote/Request;Lorg/apache/coyote/Response;)V J org.apache.coyote.http11.AbstractHttp11Processor.process(Lorg/apache/tomcat/util/net/SocketWrapper;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState; J org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(Lorg/apache/tomcat/util/net/SocketWrapper;Lorg/apache/tomcat/util/net/SocketStatus;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState; J org.apache.tomcat.util.net.AprEndpoint$SocketWithOptionsProcessor.run()V J java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V j java.util.concurrent.ThreadPoolExecu
Re: Refactoring class loader access to resources
I already explained how t8 loader and WebResource breaks libs based on std URLClassLoader Here is the class in xbean http://svn.apache.org/repos/asf/geronimo/xbean/trunk/xbean-finder/src/main/java/org/apache/xbean/finder/ClassLoaders.java I know we can workaround it but then we miss classes in the loader (was the reason to use getURLs). Another thing is getURLs is insanely fast compared to the other algorithm. Here is the xbean case but a lot of libs do it cause that's the only real way to find urls from loaders. Another thing is jar:war urls will totally break common scanners (all since it was not existing, isnt it?). So tomee, spring, owb, weld, ... will be broken. Finally getURLs still say it respects addURL which doesnt look right (sadly) Le 23 sept. 2013 22:35, "Mark Thomas" a écrit : > On 23/09/2013 13:29, Romain Manni-Bucau wrote: > > Xbean (so openwebbeans), groovy (so spring lang, groovy etc...) > > That doesn't help. It needs to be of the form "With Tomcat 7 we got... > but with Tomcat 8 we get...". > > It might also need a "and it doesn't work because..." depending on how > obvious the breakage is. > > Mark > > > - > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > >
[GUMP@vmgump]: Project tomcat-trunk-test (in module tomcat-trunk) failed
To whom it may engage... This is an automated request, but not an unsolicited one. For more information please visit http://gump.apache.org/nagged.html, and/or contact the folk at gene...@gump.apache.org. Project tomcat-trunk-test has an issue affecting its community integration. This issue affects 1 projects, and has been outstanding for 25 runs. The current state of this project is 'Failed', with reason 'Build Failed'. For reference only, the following projects are affected by this: - tomcat-trunk-test : Tomcat 8.x, a web server implementing the Java Servlet 3.1, ... Full details are available at: http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-test/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -DEBUG- Dependency on junit exists, no need to add for property hamcrest.jar. -DEBUG- Dependency on commons-daemon exists, no need to add for property commons-daemon.native.src.tgz. -DEBUG- Dependency on commons-daemon exists, no need to add for property tomcat-native.tar.gz. -DEBUG- Dependency on tomcat-trunk exists, no need to add for property tomcat-dbcp.home. -INFO- Failed with reason build failed -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-trunk/output/build/logs The following work was performed: http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-test/gump_work/build_tomcat-trunk_tomcat-trunk-test.html Work Name: build_tomcat-trunk_tomcat-trunk-test (Type: Build) Work ended in a state of : Failed Elapsed: 56 mins 49 secs Command Line: /usr/lib/jvm/java-7-oracle/bin/java -Djava.awt.headless=true -Dbuild.sysclasspath=only org.apache.tools.ant.Main -Dgump.merge=/srv/gump/public/gump/work/merge.xml -Djunit.jar=/srv/gump/public/workspace/junit/dist/junit-20130924.jar -Dobjenesis.jar=/srv/gump/public/workspace/objenesis/main/target/objenesis-2.1-SNAPSHOT.jar -Dtomcat-native.tar.gz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20130924-native-src.tar.gz -Dexamples.sources.skip=true -Dtomcat-dbcp.home=/srv/gump/public/workspace/tomcat-trunk/tomcat-deps -Djdt.jar=/srv/gump/packages/eclipse/plugins/org.eclipse.jdt.core_3.4.2/jdtcore.jar -Dcommons-daemon.jar=/srv/gump/public/workspace/apache-commons/daemon/dist/commons-daemon-20130924.jar -Dcommons-daemon.native.src.tgz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20130924-native-src.tar.gz -Dtest.accesslog=true -Dcommons-pool.home=/srv/gump/public/workspace/apache-commons/pool -Dcommons-dbcp.home=/ srv/gump/public/workspace/apache-commons/dbcp -Deasymock.jar=/srv/gump/public/workspace/easymock/easymock/target/easymock-3.3-SNAPSHOT.jar -Dhamcrest.jar=/srv/gump/public/workspace/junit/dist/junit-20130924.jar -Dcglib.jar=/srv/gump/packages/cglib/cglib-nodep-2.2.jar test [Working Directory: /srv/gump/public/workspace/tomcat-trunk] CLASSPATH: /usr/lib/jvm/java-7-oracle/lib/tools.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/webapps/examples/WEB-INF/classes:/srv/gump/public/workspace/tomcat-trunk/output/testclasses:/srv/gump/public/workspace/ant/dist/lib/ant.jar:/srv/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/srv/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit4.jar:/srv/gump/public/workspace/ant/dist/lib/ant-swing.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-xalan2.jar:/srv/gump/public/workspace/xml-commons/java/build/resolver.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/bin/bootstrap.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/bin/tomcat-juli.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/annotations-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/servle t-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jsp-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/el-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/websocket-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-ant.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-storeconfig.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/tomcat-coyote.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jasper.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jasper-el.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-tribes.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-ha.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/tomcat-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/tomcat-jni.jar:/srv/gump/public/workspace/tomcat -trunk/output/build/lib/tomcat-s
buildbot failure in ASF Buildbot on tomcat-trunk
The Buildbot has detected a new failure on builder tomcat-trunk while building ASF Buildbot. Full details are available at: http://ci.apache.org/builders/tomcat-trunk/builds/4999 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/trunk] 1525696 Blamelist: markt BUILD FAILED: failed compile_1 sincerely, -The Buildbot
Re: Why does mod_jk require a C++ compiler instead of just C?
All, On 9/23/13 4:58 PM, Christopher Schultz wrote: > Someone recently on the users list[1] had some trouble building mod_jk > and it turned out that the problem was a missing c++ compiler. > > I did some quick checking and it doesn't look like mod_jk requires a c++ > compiler for any actual compilation -- that is, everything is declared > as "extern C" and no obvious c++ features in use. > > httpd advertises requirements for autoconf, libtool, and an ANSI-C > compiler (not C++). I didn't actually try to build httpd without having > c++ available. > > Is this simply an oversight in the configure script? Are we stupidly > requiring a C++ compiler, or is there a reason that it is required? I was just able to build mod_jk on Amazon Linux (roughly RHEL) by: 1. Installing http-devel and gcc-c++ packages 2. Running configure 3. Removing gcc-c++ and gcc46-c++ packages (this removes the C++ compiler) 4. Running make This resulted in a .so file that I have not actually tried running (in httpd), but have every reason to believe would work just fine. I think this is just an erroneous requirement of "configure". Can anyone give me some pointers for how to modify the capabilities-scanning that configure does? -chris signature.asc Description: OpenPGP digital signature
Re: Why does mod_jk require a C++ compiler instead of just C?
Chuck, On 9/23/13 5:09 PM, Caldarale, Charles R wrote: >> From: Christopher Schultz [mailto:ch...@christopherschultz.net] >> Subject: Why does mod_jk require a C++ compiler instead of just C? > >> everything is declared as "extern C" > > Wouldn't such declarations require a C++ compiler? I don't think C > can parse that. Perhaps the fix would be to wrapper those portions > of the function declarations and definitions with #ifdef > __cplusplus/#endif. I've taken another look and it seems that the places where "extern "C"" is used are all in the PCRE package and already have #ifdef __cplusplus surrounding them. -chris signature.asc Description: OpenPGP digital signature
RE: Why does mod_jk require a C++ compiler instead of just C?
> From: Christopher Schultz [mailto:ch...@christopherschultz.net] > Subject: Why does mod_jk require a C++ compiler instead of just C? > everything is declared as "extern C" Wouldn't such declarations require a C++ compiler? I don't think C can parse that. Perhaps the fix would be to wrapper those portions of the function declarations and definitions with #ifdef __cplusplus/#endif. - 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 unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 55576] Order of ServletRequest parameters is not preserved
https://issues.apache.org/bugzilla/show_bug.cgi?id=55576 Mark Thomas changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #7 from Mark Thomas --- Fixed in 8.0.x for 8.0.0-RC4 and 7.0.x for 7.0.45. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1525703 - in /tomcat/tc7.0.x/trunk: build.properties.default res/maven/mvn.properties.default
Author: violetagg Date: Mon Sep 23 21:02:01 2013 New Revision: 1525703 URL: http://svn.apache.org/r1525703 Log: Prep for next version Modified: tomcat/tc7.0.x/trunk/build.properties.default tomcat/tc7.0.x/trunk/res/maven/mvn.properties.default Modified: tomcat/tc7.0.x/trunk/build.properties.default URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/build.properties.default?rev=1525703&r1=1525702&r2=1525703&view=diff == --- tomcat/tc7.0.x/trunk/build.properties.default (original) +++ tomcat/tc7.0.x/trunk/build.properties.default Mon Sep 23 21:02:01 2013 @@ -27,7 +27,7 @@ # - Version Control Flags - version.major=7 version.minor=0 -version.build=44 +version.build=45 version.patch=0 version.suffix=-dev Modified: tomcat/tc7.0.x/trunk/res/maven/mvn.properties.default URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/res/maven/mvn.properties.default?rev=1525703&r1=1525702&r2=1525703&view=diff == --- tomcat/tc7.0.x/trunk/res/maven/mvn.properties.default (original) +++ tomcat/tc7.0.x/trunk/res/maven/mvn.properties.default Mon Sep 23 21:02:01 2013 @@ -35,7 +35,7 @@ maven.asf.release.repo.url=https://repos maven.asf.release.repo.repositoryId=apache.releases # Release version info -maven.asf.release.deploy.version=7.0.44 +maven.asf.release.deploy.version=7.0.45 #Where do we load the libraries from tomcat.lib.path=../../output/build/lib - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: OT: Adding Filters and odd WebLogic Behavior
On 23/09/2013 13:47, Nick Williams wrote: tldr: I'd say that is a WebLogic bug > This is very off topic, and for that I apologize. I'm working on > fixing a bug in Log4j 2, and we've discovered something that just > doesn't make any sense to me. I /believe/ it's a problem with > WebLogic's implementation of the Servlet 3.0 specification, but I > could be wrong, and based on my previous experience trying to > communicate with WebLogic support, I figured I'd solicit some > feedback from the Servlet spec experts on this list to see if I'm in > the wrong before I try to bark up that tree again. > > What we discovered is that if you add a filter programmatically using > addFilter(String filterName, String className) or addFilter(String > filterName, Class filterClass), everything works > fine. The filter's init method is called during application startup, > it is invoked in the proper place in the chain, and the destroy > method is called during application shutdown, all in the right order. > However, if you add the filter using addFilter(String filterName, > Filter filter), this is not the case. The filter _is_ still invoked > in the proper place in the chain, but its init method is _never_ > called. WebLogic ignores the init method completely. The destroy > method, however, _is_ still called on application shutdown. > > Again, this is the _WebLogic_ behavior. I have not been able to > duplicate this in Tomcat. Tomcat appears to function the same no > matter which method I use to add the filter. Furthermore, I can't > find anything in the spec that would support WebLogic's behavior. One > thought thrown out was that WebLogic assumed you had already called > the init method since you were passing in an instance, but I don't > see anything in the spec that supports such an assumption. > > Am I missing something? Or is WebLogic broken here, as I suspect? Servlet 3.0 section 6.2.1 is fairly strong evidence for a WebLogic bug. As is the Javadoc for Filter.init() You might want to check the equivalent addServlet method as well. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Why does mod_jk require a C++ compiler instead of just C?
All, Someone recently on the users list[1] had some trouble building mod_jk and it turned out that the problem was a missing c++ compiler. I did some quick checking and it doesn't look like mod_jk requires a c++ compiler for any actual compilation -- that is, everything is declared as "extern C" and no obvious c++ features in use. httpd advertises requirements for autoconf, libtool, and an ANSI-C compiler (not C++). I didn't actually try to build httpd without having c++ available. Is this simply an oversight in the configure script? Are we stupidly requiring a C++ compiler, or is there a reason that it is required? If it's required, I'd like to document it in BUILDING.txt. If it's not required, can we fix configure so that it doesn't bomb without a C++ compiler? Actually, if it's required, maybe we can try to figure out how to remove that requirement. Thanks, -chris [1] http://markmail.org/thread/ikrcc4fb477n2nlj signature.asc Description: OpenPGP digital signature
[VOTE] Release Apache Tomcat 7.0.44
The proposed Apache Tomcat 7.0.44 release is now available for voting. This release candidate contains JSR-356 Java WebSocket 1.0 implementation. Note that use of this functionality requires Java 7. It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/tomcat-7/v7.0.44/ The Maven staging repo is: https://repository.apache.org/content/repositories/orgapachetomcat-090/ The svn tag is: http://svn.apache.org/repos/asf/tomcat/tc7.0.x/tags/TOMCAT_7_0_44/ The proposed 7.0.44 release is: [ ] Broken - do not release [ ] Stable - go ahead and release as 7.0.44 Stable Regards Violeta
svn commit: r1525696 - in /tomcat/trunk/java/org/apache: catalina/util/ParameterMap.java tomcat/util/http/Parameters.java
Author: markt Date: Mon Sep 23 20:52:58 2013 New Revision: 1525696 URL: http://svn.apache.org/r1525696 Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=55576 Preserve the order that request parameters were presented by the client. Modified: tomcat/trunk/java/org/apache/catalina/util/ParameterMap.java tomcat/trunk/java/org/apache/tomcat/util/http/Parameters.java Modified: tomcat/trunk/java/org/apache/catalina/util/ParameterMap.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/ParameterMap.java?rev=1525696&r1=1525695&r2=1525696&view=diff == --- tomcat/trunk/java/org/apache/catalina/util/ParameterMap.java (original) +++ tomcat/trunk/java/org/apache/catalina/util/ParameterMap.java Mon Sep 23 20:52:58 2013 @@ -14,17 +14,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - - package org.apache.catalina.util; - -import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.Map; import org.apache.tomcat.util.res.StringManager; - /** * Extended implementation of HashMap that includes a * locked property. This class can be used to safely expose @@ -35,8 +31,7 @@ import org.apache.tomcat.util.res.String * @author Craig R. McClanahan * @version $Id$ */ - -public final class ParameterMap extends HashMap { +public final class ParameterMap extends LinkedHashMap { private static final long serialVersionUID = 1L; Modified: tomcat/trunk/java/org/apache/tomcat/util/http/Parameters.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/Parameters.java?rev=1525696&r1=1525695&r2=1525696&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/http/Parameters.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/Parameters.java Mon Sep 23 20:52:58 2013 @@ -23,7 +23,7 @@ import java.nio.charset.StandardCharsets import java.util.ArrayList; import java.util.Collections; import java.util.Enumeration; -import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.Map; import org.apache.tomcat.util.buf.B2CConverter; @@ -49,8 +49,8 @@ public final class Parameters { private static final StringManager sm = StringManager.getManager("org.apache.tomcat.util.http"); -private final HashMap> paramHashValues = -new HashMap<>(); +private final Map> paramHashValues = +new LinkedHashMap<>(); private boolean didQueryParameters=false; private MessageBytes queryMB; - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
OT: Adding Filters and odd WebLogic Behavior
This is very off topic, and for that I apologize. I'm working on fixing a bug in Log4j 2, and we've discovered something that just doesn't make any sense to me. I /believe/ it's a problem with WebLogic's implementation of the Servlet 3.0 specification, but I could be wrong, and based on my previous experience trying to communicate with WebLogic support, I figured I'd solicit some feedback from the Servlet spec experts on this list to see if I'm in the wrong before I try to bark up that tree again. What we discovered is that if you add a filter programmatically using addFilter(String filterName, String className) or addFilter(String filterName, Class filterClass), everything works fine. The filter's init method is called during application startup, it is invoked in the proper place in the chain, and the destroy method is called during application shutdown, all in the right order. However, if you add the filter using addFilter(String filterName, Filter filter), this is not the case. The filter _is_ still invoked in the proper place in the chain, but its init method is _never_ called. WebLogic ignores the init method completely. The destroy method, however, _is_ still called on application shutdown. Again, this is the _WebLogic_ behavior. I have not been able to duplicate this in Tomcat. Tomcat appears to function the same no matter which method I use to add the filter. Furthermore, I can't find anything in the spec that would support WebLogic's behavior. One thought thrown out was that WebLogic assumed you had already called the init method since you were passing in an instance, but I don't see anything in the spec that supports such an assumption. Am I missing something? Or is WebLogic broken here, as I suspect? Thanks, Nick (BTW, thankfully it doesn't matter to us which method we use, so we're just switching to a different method. But if it's a problem, WebLogic still needs to fix it.) smime.p7s Description: S/MIME cryptographic signature
svn commit: r2955 - /dev/tomcat/tomcat-8/v8.0.0-RC3/ /release/tomcat/tomcat-8/v8.0.0-RC3/
Author: markt Date: Mon Sep 23 20:44:33 2013 New Revision: 2955 Log: Release Apache Tomcat 8.0.0-RC3 Added: release/tomcat/tomcat-8/v8.0.0-RC3/ - copied from r2954, dev/tomcat/tomcat-8/v8.0.0-RC3/ Removed: dev/tomcat/tomcat-8/v8.0.0-RC3/ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r2955 - /dev/tomcat/tomcat-8/v8.0.0-RC3/ /release/tomcat/tomcat-8/v8.0.0-RC3/
Author: markt Date: Mon Sep 23 20:44:33 2013 New Revision: 2955 Log: Release Apache Tomcat 8.0.0-RC3 Added: release/tomcat/tomcat-8/v8.0.0-RC3/ - copied from r2954, dev/tomcat/tomcat-8/v8.0.0-RC3/ Removed: dev/tomcat/tomcat-8/v8.0.0-RC3/ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[RESULT][VOTE] Release Apache Tomcat 8.0.0-RC3
+1 (alpha) : binding - markt, schultz, rjung, jfarcand non-binding - Martin Grigorov No other votes were cast. The vote therefore passes. I'll start the process of releasing the bits. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r2954 [2/2] - in /dev/tomcat/tomcat-7/v7.0.44: ./ bin/ bin/embed/ bin/extras/ src/
Added: dev/tomcat/tomcat-7/v7.0.44/src/apache-tomcat-7.0.44-src.tar.gz.asc == --- dev/tomcat/tomcat-7/v7.0.44/src/apache-tomcat-7.0.44-src.tar.gz.asc (added) +++ dev/tomcat/tomcat-7/v7.0.44/src/apache-tomcat-7.0.44-src.tar.gz.asc Mon Sep 23 20:28:26 2013 @@ -0,0 +1,17 @@ +-BEGIN PGP SIGNATURE- +Version: GnuPG v2.0.21 (MingW32) + +iQIcBAABCgAGBQJSQKIrAAoJECCLCrHWMBHH5GsP/jXQyWSSsQiuhY6+z6PikKjU +iztqq6q4v3v0KoTZ9b30eczEz96f37xNpiIzn/+dzXQa+W5Ai6kcq3tMdM4fwIeQ +eSYbbvaM4wMIYtOdyhJtcsSgqZwDzP2nZRPnrgYfRXcKcy/RN3HSg7lbGCIuZt35 +DvjD/TSIWGuGRlDMPKWLXQRh/pI4F1Y+VPyU06bxHEMTip79VugraXC92INnbT3B +7aUcjRbBvxCQnsvr3cRZAJSM3EBl+iiq5LpY7S95Ak5G676jH4WPr07/wvQqC4BH +VzAEW7cA449hX1/JTeb+HAvpfSaGyuWlVdnjneKB8uaNaZN8agNr71Di/7wvOjP3 +ht7W6k5h7tb+pqGhKd0HClCIjqcclA/eUHPPlZ0xQH/hDR9W2fskcCoC+C1GI0WL +ortuhYrkRVxk6LjIbSlODKGxO2fABEdO23KbumwM2tcAqG+2xuxcaZXxfoZQQJCU +GEU58MoC45x4jZYSePC/TVOChFVhAB2+zIiC1J0S++1mYgbPZWGW28SnPjP4iZPo +1znseFQtMGBvJS1p4aGWs+vouOm/O1OWhsxdTfpORrhRMYEQAqbEiZDnNzvvCTES +z2z2RKuvkwfLxITT/W1Vt3WQpV/CEMXnwwQ5EUrVAoBCCiHxVJBAsO9o81ku9w5V +NkguH7fu5JYqLhh0dbPr +=5kih +-END PGP SIGNATURE- Added: dev/tomcat/tomcat-7/v7.0.44/src/apache-tomcat-7.0.44-src.tar.gz.md5 == --- dev/tomcat/tomcat-7/v7.0.44/src/apache-tomcat-7.0.44-src.tar.gz.md5 (added) +++ dev/tomcat/tomcat-7/v7.0.44/src/apache-tomcat-7.0.44-src.tar.gz.md5 Mon Sep 23 20:28:26 2013 @@ -0,0 +1 @@ +8012a0f1747fb8e4526e4200c4ad26c5 *apache-tomcat-7.0.44-src.tar.gz \ No newline at end of file Added: dev/tomcat/tomcat-7/v7.0.44/src/apache-tomcat-7.0.44-src.zip == Binary file - no diff available. Propchange: dev/tomcat/tomcat-7/v7.0.44/src/apache-tomcat-7.0.44-src.zip -- svn:mime-type = application/octet-stream Added: dev/tomcat/tomcat-7/v7.0.44/src/apache-tomcat-7.0.44-src.zip.asc == --- dev/tomcat/tomcat-7/v7.0.44/src/apache-tomcat-7.0.44-src.zip.asc (added) +++ dev/tomcat/tomcat-7/v7.0.44/src/apache-tomcat-7.0.44-src.zip.asc Mon Sep 23 20:28:26 2013 @@ -0,0 +1,17 @@ +-BEGIN PGP SIGNATURE- +Version: GnuPG v2.0.21 (MingW32) + +iQIcBAABCgAGBQJSQKHdAAoJECCLCrHWMBHH8CoP/ApeYqY9mZvmgxioN2Z9tfSf +3MO+cj91fAVZ7MVWXMZSoojo/9WBY8xTnsRXciy+N3sEsPBnUVmmATgoX44Si2q/ +E0xuYchvgYuHtBTPnnQOqgVmg1X9hNKCwVwa6RDKyXGww8XgbzkO1QIvODaW2it/ +LP/ot3EJ6eAYus1jMxg0zOt9pEcrGeau6nV0v5c49jHMQaNXwuAU+/2OEN7ONZAc +JYtKoIuLk/Oqkd0RCTebgw7btCuQ2ZUWfFdwKE41bgagzE+Txyc3laEGFaVmObL5 +TSc8x8iYAMnTlEeOm2W+OC0yBbGdlUeHXKakRTHX8uuYKhkGEKkEWAITyRsGdqhy +O9lAVJziygzMoOw0v7kDYsZDY4YlABwqYf85GC24eR79jBjerEWptTo2rss3NY9f +++SM4kxAS659e+mJ0OiHM5FqkQABg1nLC+5PkEKgMlO6GdFcVNaPCy6ZoAnn2R2A +CVbgpFtX8uG+xjMl149XlEZeZnFG2JKoByIT/ky2g7Sl3BmWoszOcFqHn8qiO2yg +1Zy3iezqAT6kB5QdKFZKfVeRII7qYu8OYp55Pw+qpOsE8893qF+N9q/j1vu+rkFM +cTmI/FSv+FBw/uiIi/6CKtxbPOXFroSqV+Odn172jjKaHvVePuJvYp9Q/OWtUbLT +E+NNOt3JxBEajt2q4TNs +=zmIV +-END PGP SIGNATURE- Added: dev/tomcat/tomcat-7/v7.0.44/src/apache-tomcat-7.0.44-src.zip.md5 == --- dev/tomcat/tomcat-7/v7.0.44/src/apache-tomcat-7.0.44-src.zip.md5 (added) +++ dev/tomcat/tomcat-7/v7.0.44/src/apache-tomcat-7.0.44-src.zip.md5 Mon Sep 23 20:28:26 2013 @@ -0,0 +1 @@ +bc11cc041e4c4006eb61fda67e92ccc5 *apache-tomcat-7.0.44-src.zip \ No newline at end of file - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Refactoring class loader access to resources
On 23/09/2013 13:29, Romain Manni-Bucau wrote: > Xbean (so openwebbeans), groovy (so spring lang, groovy etc...) That doesn't help. It needs to be of the form "With Tomcat 7 we got... but with Tomcat 8 we get...". It might also need a "and it doesn't work because..." depending on how obvious the breakage is. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Refactoring class loader access to resources
Xbean (so openwebbeans), groovy (so spring lang, groovy etc...) Le 23 sept. 2013 22:27, "Mark Thomas" a écrit : > On 23/09/2013 13:21, Romain Manni-Bucau wrote: > > The main issue of t8 is it breaks some scanning features when relying on > > URLClassLoader (getURLs()), not perfect but common in libs... > > Example(s) please. > > Mark > > - > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > >
svn commit: r2954 [2/2] - in /dev/tomcat/tomcat-7/v7.0.44: ./ bin/ bin/embed/ bin/extras/ src/
Added: dev/tomcat/tomcat-7/v7.0.44/src/apache-tomcat-7.0.44-src.tar.gz.asc == --- dev/tomcat/tomcat-7/v7.0.44/src/apache-tomcat-7.0.44-src.tar.gz.asc (added) +++ dev/tomcat/tomcat-7/v7.0.44/src/apache-tomcat-7.0.44-src.tar.gz.asc Mon Sep 23 20:28:26 2013 @@ -0,0 +1,17 @@ +-BEGIN PGP SIGNATURE- +Version: GnuPG v2.0.21 (MingW32) + +iQIcBAABCgAGBQJSQKIrAAoJECCLCrHWMBHH5GsP/jXQyWSSsQiuhY6+z6PikKjU +iztqq6q4v3v0KoTZ9b30eczEz96f37xNpiIzn/+dzXQa+W5Ai6kcq3tMdM4fwIeQ +eSYbbvaM4wMIYtOdyhJtcsSgqZwDzP2nZRPnrgYfRXcKcy/RN3HSg7lbGCIuZt35 +DvjD/TSIWGuGRlDMPKWLXQRh/pI4F1Y+VPyU06bxHEMTip79VugraXC92INnbT3B +7aUcjRbBvxCQnsvr3cRZAJSM3EBl+iiq5LpY7S95Ak5G676jH4WPr07/wvQqC4BH +VzAEW7cA449hX1/JTeb+HAvpfSaGyuWlVdnjneKB8uaNaZN8agNr71Di/7wvOjP3 +ht7W6k5h7tb+pqGhKd0HClCIjqcclA/eUHPPlZ0xQH/hDR9W2fskcCoC+C1GI0WL +ortuhYrkRVxk6LjIbSlODKGxO2fABEdO23KbumwM2tcAqG+2xuxcaZXxfoZQQJCU +GEU58MoC45x4jZYSePC/TVOChFVhAB2+zIiC1J0S++1mYgbPZWGW28SnPjP4iZPo +1znseFQtMGBvJS1p4aGWs+vouOm/O1OWhsxdTfpORrhRMYEQAqbEiZDnNzvvCTES +z2z2RKuvkwfLxITT/W1Vt3WQpV/CEMXnwwQ5EUrVAoBCCiHxVJBAsO9o81ku9w5V +NkguH7fu5JYqLhh0dbPr +=5kih +-END PGP SIGNATURE- Added: dev/tomcat/tomcat-7/v7.0.44/src/apache-tomcat-7.0.44-src.tar.gz.md5 == --- dev/tomcat/tomcat-7/v7.0.44/src/apache-tomcat-7.0.44-src.tar.gz.md5 (added) +++ dev/tomcat/tomcat-7/v7.0.44/src/apache-tomcat-7.0.44-src.tar.gz.md5 Mon Sep 23 20:28:26 2013 @@ -0,0 +1 @@ +8012a0f1747fb8e4526e4200c4ad26c5 *apache-tomcat-7.0.44-src.tar.gz \ No newline at end of file Added: dev/tomcat/tomcat-7/v7.0.44/src/apache-tomcat-7.0.44-src.zip == Binary file - no diff available. Propchange: dev/tomcat/tomcat-7/v7.0.44/src/apache-tomcat-7.0.44-src.zip -- svn:mime-type = application/octet-stream Added: dev/tomcat/tomcat-7/v7.0.44/src/apache-tomcat-7.0.44-src.zip.asc == --- dev/tomcat/tomcat-7/v7.0.44/src/apache-tomcat-7.0.44-src.zip.asc (added) +++ dev/tomcat/tomcat-7/v7.0.44/src/apache-tomcat-7.0.44-src.zip.asc Mon Sep 23 20:28:26 2013 @@ -0,0 +1,17 @@ +-BEGIN PGP SIGNATURE- +Version: GnuPG v2.0.21 (MingW32) + +iQIcBAABCgAGBQJSQKHdAAoJECCLCrHWMBHH8CoP/ApeYqY9mZvmgxioN2Z9tfSf +3MO+cj91fAVZ7MVWXMZSoojo/9WBY8xTnsRXciy+N3sEsPBnUVmmATgoX44Si2q/ +E0xuYchvgYuHtBTPnnQOqgVmg1X9hNKCwVwa6RDKyXGww8XgbzkO1QIvODaW2it/ +LP/ot3EJ6eAYus1jMxg0zOt9pEcrGeau6nV0v5c49jHMQaNXwuAU+/2OEN7ONZAc +JYtKoIuLk/Oqkd0RCTebgw7btCuQ2ZUWfFdwKE41bgagzE+Txyc3laEGFaVmObL5 +TSc8x8iYAMnTlEeOm2W+OC0yBbGdlUeHXKakRTHX8uuYKhkGEKkEWAITyRsGdqhy +O9lAVJziygzMoOw0v7kDYsZDY4YlABwqYf85GC24eR79jBjerEWptTo2rss3NY9f +++SM4kxAS659e+mJ0OiHM5FqkQABg1nLC+5PkEKgMlO6GdFcVNaPCy6ZoAnn2R2A +CVbgpFtX8uG+xjMl149XlEZeZnFG2JKoByIT/ky2g7Sl3BmWoszOcFqHn8qiO2yg +1Zy3iezqAT6kB5QdKFZKfVeRII7qYu8OYp55Pw+qpOsE8893qF+N9q/j1vu+rkFM +cTmI/FSv+FBw/uiIi/6CKtxbPOXFroSqV+Odn172jjKaHvVePuJvYp9Q/OWtUbLT +E+NNOt3JxBEajt2q4TNs +=zmIV +-END PGP SIGNATURE- Added: dev/tomcat/tomcat-7/v7.0.44/src/apache-tomcat-7.0.44-src.zip.md5 == --- dev/tomcat/tomcat-7/v7.0.44/src/apache-tomcat-7.0.44-src.zip.md5 (added) +++ dev/tomcat/tomcat-7/v7.0.44/src/apache-tomcat-7.0.44-src.zip.md5 Mon Sep 23 20:28:26 2013 @@ -0,0 +1 @@ +bc11cc041e4c4006eb61fda67e92ccc5 *apache-tomcat-7.0.44-src.zip \ No newline at end of file - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Refactoring class loader access to resources
On 23/09/2013 13:21, Romain Manni-Bucau wrote: > The main issue of t8 is it breaks some scanning features when relying on > URLClassLoader (getURLs()), not perfect but common in libs... Example(s) please. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Refactoring class loader access to resources
The main issue of t8 is it breaks some scanning features when relying on URLClassLoader (getURLs()), not perfect but common in libs... Le 23 sept. 2013 19:00, "Mark Thomas" a écrit : > On 23/09/2013 09:08, Rainer Jung wrote: > > On 23.09.2013 17:27, Mark Thomas wrote: > >> I've mentioned on a couple of different threads that refactoring how the > >> class loader accesses resources was on my TODO list. I haven't done any > >> implementation yet but I have some ideas that I wanted to get some > >> feedback on before I start work. > >> > >> The things I have in mind at this point are: > >> - Extracting anything into the work directory feels like a hack > >> - The class loader should use the same API as every other component > >> - The class loader needs URLs that actually work > >> - The anti-locking options are responsible for a number of the hacks in > >> the class loader > >> > >> The solution I have in mind is along the following lines: > >> - Add a new getClassLoaderResource() to the WebResources interfaces. > >> This will implement the standard WEB-INF/classes then JARs in > >> WEB-INF/lib search order. It should be able to do this without any > >> extraction into the work directory. > > > > A useful feature in TC 6/7 was to add search paths outside of the war to > > look for config files in order to provide config options special to > > deployment environments without working with individual war files (via > > VirtualWebappLoader). > > > > I know it is possible with the current resource implementation in TC 8, > > but will it also be possible after this change, i.e. if the webapp > > retrieves a config file as a resource via the webapp class loader, can > > we still configure additional directories to be searched for the > resource? > > Yes (assuming I don't mess up the implementation). > > Mark > > - > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > >
[Bug 55576] Order of ServletRequest parameters is not preserved
https://issues.apache.org/bugzilla/show_bug.cgi?id=55576 --- Comment #6 from mgrigorov --- In my opinion this requirement and the use case are weak. In the best case I'd try to avoid depending on any ordering in the application. But if ordering is really required then I would encode the parameter values and parse them myself and not rely on some container specific feature. E.g.: ?ops=op1|op2|op3&something=else, or any other encoding that will work for my use case. With URL encoded value the syntax could be quite rich. On the other hand replacing HashMap with LinkedHashMap will not cause performance degradation so I don't mind such change. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 55576] Order of ServletRequest parameters is not preserved
https://issues.apache.org/bugzilla/show_bug.cgi?id=55576 Mark Thomas changed: What|Removed |Added Status|NEEDINFO|NEW -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1525678 - in /tomcat/tc7.0.x/tags/TOMCAT_7_0_44: ./ build.properties.default
Author: violetagg Date: Mon Sep 23 19:37:37 2013 New Revision: 1525678 URL: http://svn.apache.org/r1525678 Log: Tag 7.0.44 Added: tomcat/tc7.0.x/tags/TOMCAT_7_0_44/ (props changed) - copied from r1525674, tomcat/tc7.0.x/trunk/ Modified: tomcat/tc7.0.x/tags/TOMCAT_7_0_44/build.properties.default Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_44/ -- bugtraq:append = false Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_44/ -- bugtraq:label = Bugzilla ID (optional) Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_44/ -- --- bugtraq:message (added) +++ bugtraq:message Mon Sep 23 19:37:37 2013 @@ -0,0 +1 @@ +Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=%BUGID% Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_44/ -- bugtraq:number = true Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_44/ -- bugtraq:url = https://issues.apache.org/bugzilla/show_bug.cgi?id=%BUGID% Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_44/ -- bugtraq:warnifnoissue = false Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_44/ -- --- svn:ignore (added) +++ svn:ignore Mon Sep 23 19:37:37 2013 @@ -0,0 +1,7 @@ +.* +build.properties +logs +nbproject +output +work +*.iml Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_44/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Mon Sep 23 19:37:37 2013 @@ -0,0 +1 @@ +/tomcat/trunk:1156115-1157160,1157162-1157859,1157862-1157942,1157945-1160347,1160349-1163716,1163718-1166689,1166691-1174340,1174342-1175596,1175598-1175611,1175613-1175932,1175934-1177783,1177785-1177980,1178006-1180720,1180722-1183094,1183096-1187753,1187755,1187775,1187801,1187806,1187809,1187826-1188312,1188314-1188401,1188646-1188840,1188842-1190176,1190178-1195223,1195225-1195953,1195955,1195957-1201238,1201240-1203345,1203347-1206623,1206625-1208046,1208073,1208096,1208114,1208145,1208772,1209194-1212125,1212127-1220291,1220293,1220295-1221321,1221323-1222328,1222332-1222401,1222405-1222795,1222850-1222950,1222969-1225326,1225328-1225463,1225465,1225627,1225629-1226534,1226536-1228908,1228911-1228923,1228927-1229532,1229534-1230766,1230768-1231625,1231627-1233414,1233419-1235207,1235209-1237425,1237427,1237429-1237977,1237981,1237985,1237995,1238070,1238073,1239024-1239048,1239050-1239062,1239135,1239256,1239258-1239485,1239785-1240046,1240101,1240106,1240109,1240112,1240114 ,1240116,1240118,1240121,1240329,1240474-1240850,1240857,1241087,1241160,1241408-1241822,1241908-1241909,1241912-1242110,1242371-1292130,1292134-1292458,1292464-1292670,1292672-1292776,1292780-1293392,1293397-1297017,1297019-1297963,1297965-1299820,1300108,1300111-1300460,1300520-1300948,1300997,1301006,1301280,1302332,1302348,1302608-1302610,1302649,1302837,1303138,1303163,1303338,1303521,1303587,1303698,1303803,1303852,1304011,1304035,1304037,1304135,1304249,1304253,1304260,1304271,1304275,1304468,1304895,1304930-1304932,1305194,1305943,1305965,1306556,1306579-1306580,1307084,1307310,1307511-1307512,1307579,1307591,1307597,1310636,1310639-1310640,1310642,1310701,1311212,1311995,1327617,1327670,1331766,1333161,1333173,1333827,1334787,1335026,1335257,1335547,1335692,1335711,1335731,1336515,1336813,1336864,1336868,1336884,1337419,1337426,1337546,1337572,1337591-1337595,1337643,1337707,1337719,1337734,1337741,1337745,1338151-1338154,1338178,1342027,1342029,1342315,1342320,1342476,1342 498,1342503,1342717,1342795,1342805,1343044-1343046,1343335,1343394,1343400,1343629,1343708,1343718,1343895,1344063,1344068,1344250,1344266,1344515,1344528,1344612,1344629,1344725,1344868,1344890,1344893,1344896,1344901,1345020,1345029,1345039,1345287-1345290,1345294,1345309,1345325,1345357,1345367,1345579-1345580,1345582,1345688,1345699,1345704,1345731-1345732,1345737,1345744,1345752,1345754,1345779,1345781,1345846,1346107,1346376,1346404,1346510,1346514,1346519,1346581,1346635,1346644,1346683,1346794,1346885,1346932,1347034,1347047,1347087,1347108-1347109,1347583,1347737,1348105,1348357,1348398,1348425,1348461-1348495,1348498,1348752,1348762,1348772,1348776,1348859,1348968,1348973,1348989,1349007,1349237,1349298,1349317,1349410,1349473,1349539,1349879,1349887,1349893,1349922,1349984,1350124,1350241,1350243,1350294-1350295,1350299,1350864,1350900,1351010,1351054,1351056,1351068,1351134-1351135,1351148,1351259,1351604,1351636-1351640,1351991,1351993,1352011,1352056,1352059,1352661,1 352663,1352788,1352799,1353087,1353125,1353240,1353261,1353414,1353468,1353501,1353581,1
svn commit: r1525677 - /tomcat/tc7.0.x/tags/TOMCAT_7_0_44/
Author: violetagg Date: Mon Sep 23 19:32:48 2013 New Revision: 1525677 URL: http://svn.apache.org/r1525677 Log: Remove tag TOMCAT_7_0_44 - subclipse:tags property was not removed. Removed: tomcat/tc7.0.x/tags/TOMCAT_7_0_44/ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1525675 - in /tomcat/tc7.0.x/tags/TOMCAT_7_0_44: ./ build.properties.default
Author: violetagg Date: Mon Sep 23 19:30:21 2013 New Revision: 1525675 URL: http://svn.apache.org/r1525675 Log: Tag 7.0.44 Added: tomcat/tc7.0.x/tags/TOMCAT_7_0_44/ (props changed) - copied from r1525674, tomcat/tc7.0.x/trunk/ Modified: tomcat/tc7.0.x/tags/TOMCAT_7_0_44/build.properties.default Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_44/ -- bugtraq:append = false Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_44/ -- bugtraq:label = Bugzilla ID (optional) Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_44/ -- --- bugtraq:message (added) +++ bugtraq:message Mon Sep 23 19:30:21 2013 @@ -0,0 +1 @@ +Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=%BUGID% Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_44/ -- bugtraq:number = true Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_44/ -- bugtraq:url = https://issues.apache.org/bugzilla/show_bug.cgi?id=%BUGID% Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_44/ -- bugtraq:warnifnoissue = false Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_44/ -- --- subclipse:tags (added) +++ subclipse:tags Mon Sep 23 19:30:21 2013 @@ -0,0 +1,27 @@ +933020,TOMCAT_7_0_0_RC1,/tomcat/tc7.0.x/tags/TOMCAT_7_0_0_RC1,tag +945257,TOMCAT_7_0_0_RC2,/tomcat/tc7.0.x/tags/TOMCAT_7_0_0_RC2,tag +947494,TOMCAT_7_0_0_RC3,/tomcat/tc7.0.x/tags/TOMCAT_7_0_0_RC3,tag +952212,TOMCAT_7_0_0_RC4,/tomcat/tc7.0.x/tags/TOMCAT_7_0_0_RC4,tag +954232,TOMCAT_7_0_0,/tomcat/tc7.0.x/tags/TOMCAT_7_0_0,tag +981255,TOMCAT_7_0_1,/tomcat/tc7.0.x/tags/TOMCAT_7_0_1,tag +982035,TOMCAT_7_0_2,/tomcat/tc7.0.x/tags/TOMCAT_7_0_2,tag +1003912,TOMCAT_7_0_3,/tomcat/tc7.0.x/tags/TOMCAT_7_0_3,tag +1022637,TOMCAT_7_0_4,/tomcat/tc7.0.x/tags/TOMCAT_7_0_4,tag +1038717,TOMCAT_7_0_5,/tomcat/tc7.0.x/tags/TOMCAT_7_0_5,tag +1057288,TOMCAT_7_0_6,/tomcat/tc7.0.x/tags/TOMCAT_7_0_6,tag +1066773,TOMCAT_7_0_7,/tomcat/tc7.0.x/tags/TOMCAT_7_0_7,tag +1067169,TOMCAT_7_0_8,/tomcat/tc7.0.x/tags/TOMCAT_7_0_8,tag +1075337,TOMCAT_7_0_9,/tomcat/tc7.0.x/tags/TOMCAT_7_0_9,tag +1078282,TOMCAT_7_0_10,/tomcat/tc7.0.x/tags/TOMCAT_7_0_10,tag +1080182,TOMCAT_7_0_11,/tomcat/tc7.0.x/tags/TOMCAT_7_0_11,tag +1087797,TOMCAT_7_0_12,/tomcat/tc7.0.x/tags/TOMCAT_7_0_12,tag +1101230,TOMCAT_7_0_14,/tomcat/tc7.0.x/tags/TOMCAT_7_0_14,tag +1101232,TOMCAT_7_0_13,/tomcat/tc7.0.x/tags/TOMCAT_7_0_13,tag +1131469,TOMCAT_7_0_15,/tomcat/tc7.0.x/tags/TOMCAT_7_0_15,tag +1134562,TOMCAT_7_0_16,/tomcat/tc7.0.x/tags/TOMCAT_7_0_16,tag +1142314,TOMCAT_7_0_17,/tomcat/tc7.0.x/tags/TOMCAT_7_0_17,tag +1143610,TOMCAT_7_0_18,/tomcat/tc7.0.x/tags/TOMCAT_7_0_18,tag +1146504,TOMCAT_7_0_19,/tomcat/tc7.0.x/tags/TOMCAT_7_0_19,tag +1155255,TOMCAT_7_0_20,/tomcat/tc7.0.x/tags/TOMCAT_7_0_20,tag +1162976,TOMCAT_7_0_21,/tomcat/tc7.0.x/tags/TOMCAT_7_0_21,tag +1176597,TOMCAT_7_0_22,/tomcat/tc7.0.x/tags/TOMCAT_7_0_22,tag Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_44/ -- --- svn:ignore (added) +++ svn:ignore Mon Sep 23 19:30:21 2013 @@ -0,0 +1,7 @@ +.* +build.properties +logs +nbproject +output +work +*.iml Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_44/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Mon Sep 23 19:30:21 2013 @@ -0,0 +1 @@ +/tomcat/trunk:1156115-1157160,1157162-1157859,1157862-1157942,1157945-1160347,1160349-1163716,1163718-1166689,1166691-1174340,1174342-1175596,1175598-1175611,1175613-1175932,1175934-1177783,1177785-1177980,1178006-1180720,1180722-1183094,1183096-1187753,1187755,1187775,1187801,1187806,1187809,1187826-1188312,1188314-1188401,1188646-1188840,1188842-1190176,1190178-1195223,1195225-1195953,1195955,1195957-1201238,1201240-1203345,1203347-1206623,1206625-1208046,1208073,1208096,1208114,1208145,1208772,1209194-1212125,1212127-1220291,1220293,1220295-1221321,1221323-1222328,1222332-1222401,1222405-1222795,1222850-1222950,1222969-1225326,1225328-1225463,1225465,1225627,1225629-1226534,1226536-1228908,1228911-1228923,1228927-1229532,1229534-1230766,1230768-1231625,1231627-1233414,1233419-1235207,1235209-1237425,1237427,1237429-1237977,1237981,1237985,1237995,1238070,1238073,1239024-1239048,1239050-1239062,1239135,1239256,1239258-1239485,1239785-1240046,1240101,1240106,1240109,1240112,1240114 ,1240116,1240118,1240121,1240329,1240474-1240850,1240857,1241087,1241160,1241408-1241822,1241908-1241909,1241912-1242110,1242371-1292130,1292134-1292458,1292464-1292670,1292672-1292776,1292780-1293392,1
[WS] To flush or not to flush
Hi Mark, Unless I missed something, Websockets 1.0 on Servlet 3.1 upgrade doesn't do much flushing, so that the IS/OS used in upgrade must effectively just write immediately the data (and ensure it is really sent over the wire). I find that a bit weird, since during the design of Servlets 3.1, the idea was to retain buffering. Of course, upgrade was then added, char support was taken out of the new IO, and it should be feasible to use this sort of bufferless streams in upgraded mode. But that's a lot of assumptions, shouldn't the websockets implementation just flush ? In any case it would be good to have the buffer vs no buffer choice clarified for the upgraded mode [to be honest, I thought it was like the regular Servlet 3.1 IO mode, minus the HTTP transfer encodings]. Thanks, Rémy - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 55576] Order of ServletRequest parameters is not preserved
https://issues.apache.org/bugzilla/show_bug.cgi?id=55576 --- Comment #5 from corythearchit...@outlook.com --- "Or are you building a system where the order of the parameters in the request dictates the way validation is performed?" Essentially, yes. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 55576] Order of ServletRequest parameters is not preserved
https://issues.apache.org/bugzilla/show_bug.cgi?id=55576 --- Comment #4 from Christopher Schultz --- (In reply to corythearchitect from comment #3) > The general use case is the servicing of a request in which the order of > parameter evaluation is significant. > > http://host/resource?country=CA&postalcode=N7T5R4 > > Let's assume this is in context of a general infrastructure that evaluates > each parameter in the order received (field validation being just one > example of potential triggers). postalcode validation is dependent on the > value of country. Isn't "postalcode validation is dependens on the value of country" part of your business logic? If so, you should always be fetching the country first, then the postalcode. Or are you building a system where the order of the parameters in the request dictates the way validation is performed? In any case, I am +1 for changing HashMap->LinkedHashMap to preserve parameter ordering. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Refactoring class loader access to resources
On 23/09/2013 09:08, Rainer Jung wrote: > On 23.09.2013 17:27, Mark Thomas wrote: >> I've mentioned on a couple of different threads that refactoring how the >> class loader accesses resources was on my TODO list. I haven't done any >> implementation yet but I have some ideas that I wanted to get some >> feedback on before I start work. >> >> The things I have in mind at this point are: >> - Extracting anything into the work directory feels like a hack >> - The class loader should use the same API as every other component >> - The class loader needs URLs that actually work >> - The anti-locking options are responsible for a number of the hacks in >> the class loader >> >> The solution I have in mind is along the following lines: >> - Add a new getClassLoaderResource() to the WebResources interfaces. >> This will implement the standard WEB-INF/classes then JARs in >> WEB-INF/lib search order. It should be able to do this without any >> extraction into the work directory. > > A useful feature in TC 6/7 was to add search paths outside of the war to > look for config files in order to provide config options special to > deployment environments without working with individual war files (via > VirtualWebappLoader). > > I know it is possible with the current resource implementation in TC 8, > but will it also be possible after this change, i.e. if the webapp > retrieves a config file as a resource via the webapp class loader, can > we still configure additional directories to be searched for the resource? Yes (assuming I don't mess up the implementation). Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE] Release Apache Tomcat 8.0.0-RC3
[X] Alpha - go ahead and release as 8.0.0-RC3 alpha Tested with Atmosphere jsr356 and Servlet 3 Async API. -- Jeanfrancois On 2013-09-20 6:36 AM, Mark Thomas wrote: The proposed Apache Tomcat 8.0.0 release candidate 3 is now available for voting. Given this is a release candidate I am working on the basis that it is equivalent to an alpha. The main changes since RC1 are: - Updated spec implementations with results of various "grey area" discussions from the EG mailing lists - Now uses UTF-8 by default - Switch to async logging and one-line log format by default - New doc style - Refactored TLD parsing (work in progress) - Fixed all the issues reported against RC1 & RC2 - Add Servlet 3.1 non-blocking support to the AJP connectors - Fix an issue with the new WebResources and packed WAR files It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/tomcat-8/v8.0.0-RC3/ The Maven staging repo is: https://repository.apache.org/content/repositories/orgapachetomcat-080/ The svn tag is: http://svn.apache.org/repos/asf/tomcat/tags/TOMCAT_8_0_0_RC3/ The proposed 8.0.0-RC3 release is: [ ] Broken - do not release [ ] Alpha - go ahead and release as 8.0.0-RC3 alpha Cheers, Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE] Release Apache Tomcat 8.0.0-RC3
On 20.09.2013 12:36, Mark Thomas wrote: > The proposed 8.0.0-RC3 release is: > [ ] Broken - do not release > [X] Alpha - go ahead and release as 8.0.0-RC3 alpha +1 as alpha. Overview: - MD5 OK - signatures OK - key in KEYS file - gz and zip for src and bin consistent - src consistent with svn tag - builds fine but - Few warning about unsafe or unchecked operations. Only 0 or 1 new one, some of the RC1 ones are fixed. See full list at end of mail. - build result looks consistent with binaries - no checkstyle complaints - no Javadoc warnings - some small MBean data changes ! One unit test failure in TestWebappClassLoaderExecutorMemoryLeak - analysis ongoing, not a regression Repeated execution also sometimes show a hang in the unit test. - Warnings, errors and exception counts during unit tests a bit higher than for RC 1 - JMX MBean-Comparison with RC 1: - 2 new MBeans for Example servlets numberwriter and bytecounter - MBean j2eeType=Filter,name=Set Character Encoding, WebModule=//localhost/examples, ... attribute filterInitParameterMap changed from "{encoding=EUC_JP, ignore=true}" to "{encoding=UTF-8, ignore=false}" - MBean Catalina:j2eeType=WebModule,* - attributes tldNamespaceAware and tldValidation are gone - attribute tldScanTime is always 0 - MBean Catalina:type=Connector,* new attribute URIEncoding value UTF-8 - MBean Catalina:type=ProtocolHandler,port=8080 new attribute maxExtensionSize value 8192 (attribute does not exist for 8009 AJP ProtocolHandler but the attribute structure for those two MBeans is quite different from each other) - platform MBean java.lang:type=Runtime in system property tomcat.util.scan.StandardJarScanFilter.jarsToSkip new entry websocket-api.jar - platform MBean java.lang:type=OperatingSystem show 87 open file descriptors instead of 88 - platform MBean java.lang:type=Threading shows 19 threads instead of 18 threads Build and tests were done using Java 1.7.0_40. OS was Solaris 10 Sparc, tcnative was 1.1.28 based on APR 1.4.8 and OpenSSL 1.0.1e (plus a few patches). Unit test warnings: 108 - 42 more than RC1 - most additional ones in tribes, especially going up from 27 to 59: org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.sendElectionMsgToNextInline Unable to send election message to:org.apache.catalina.tribes.membership.MemberImpl[tcp:// - 8 new ones: org.apache.tomcat.util.net.AbstractEndpoint.shutdownExecutor The executor associated with thread pool [http-apr-127.0.0.1-auto-I] has not fully shutdown. Some application threads may still be running. - 2 ones gone: IOException in replication worker, unable to drain channel. Probable cause: Keep alive socket closed[null]. Unit test SEVERE messages: 457 total (+18 rel RC1). - 6 times SEVERE: Servlet.service() for servlet [regular] in context with path [] threw exception - 3 times SEVERE: Servlet.service() for servlet [servlet] in context with path [] threw exception - 7 times SEVERE: The web application [] appears to have started a thread named [pool-1-thread-X] but has failed to stop it. This is very likely to create a memory leak. - 2 times SEVERE: Exception while processing an asynchronous request - 4 times SEVERE: Error processing coordination message. Could be fatal. - 4 times less SEVERE: Error reading request, ignored - 4 times SEVERE: Error configuring application listener of class org.apache.tomcat.util.descriptor.web.ApplicationListener@HEX replaced with SEVERE: Error configuring application listener of class org.apache.catalina.core.NoSuchListener Here's the top 20 SEVERE messages: Count Message 48 org.apache.catalina.startup.HostConfig.deployDescriptor Error deploying configuration descriptor /.../output/test-tmp/conf/Tomcat/localhost/myapp.xml 48 org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start: 36 org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [dispatch] in context with path [] threw exception [Opps.] with root cause 36 org.apache.catalina.core.ApplicationDispatcher.invoke Servlet.service() for servlet error threw exception 27 org.apache.tomcat.util.digester.Digester.startElement Begin event threw exception 21 org.apache.catalina.core.StandardContext.startInternal Error listenerStart 15 org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [servlet] in context with path [] threw exception 13 org.apache.catalina.loader.WebappClassLoader.clearReferencesThreads The web application [] appears to have started a thread named [pool-x-thread-y] but has failed to stop it. This is very likely to create a memory leak. 12 org.apache.tomcat.util.descriptor.web.SecurityConstraint.findUncoveredHttpMethods For security constraints with URL pattern [/] only the HTTP methods [POST] are covered. All other methods are uncovered. 12 org.apache
[Bug 55576] Order of ServletRequest parameters is not preserved
https://issues.apache.org/bugzilla/show_bug.cgi?id=55576 --- Comment #3 from corythearchit...@outlook.com --- Thomas, thank you for your rapid evaluation and response on this matter. The general use case is the servicing of a request in which the order of parameter evaluation is significant. http://host/resource?country=CA&postalcode=N7T5R4 Let's assume this is in context of a general infrastructure that evaluates each parameter in the order received (field validation being just one example of potential triggers). postalcode validation is dependent on the value of country. The specific scenario I am currently dealing with is porting a web service implementation from ASP/IIS to Java/Tomcat. The Microsoft IRequestDictionary.QueryString implementation respects order of insertion, while Tomcat scrambles the order as a result of the backing HashMap collection. I respect your position that there is no explicit specification of the server-side evaluation of HTML parameters. However, I also see no significance to the client-side specification of parameter order beyond the implication that the ordering is also significant to the processing server that consumes it. What other purpose could such an ordering possibly serve? Assuming equivalent performance, what portability issues could arise from a MORE determinate collection implementation? If anyone is currently relying on the iteration order of the existing HashMap implementation, a) they are in for a surprise anyhow, and b) the ServletRequest interface, unfortunately, provides no guarantees, relying on the generic Map and Enumeration interfaces, both of which defer to the implementation for behaviour in this regard. This decision could only be interpreted as an improvement in compliance (with the HTML specification). -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE] Release Apache Tomcat 7.0.43
On 23.09.2013 14:44, Christopher Schultz wrote: > Mark, > > On 9/20/13 7:05 AM, Mark Thomas wrote: >> On 20/09/2013 11:57, Jeanfrancois Arcand wrote: >>> >>> On 2013-09-20 6:26 AM, Mark Thomas wrote: On 20/09/2013 11:24, Jeanfrancois Arcand wrote: > Hi, > > [X] Broken - do not release > > I do test/use Tomcat with WebSocket since 7.0.27. 8.0.0-RC1 worked well > with jsr356, but 7.0.43 is broken. You can try it by deploying > > http://search.maven.org/remotecontent?filepath=org/atmosphere/samples/atmosphere-chat/2.0.0/atmosphere-chat-2.0.0.war > Just a quick question, were you running on Java 7? >>> Ah! No I wasn't. I think a log message or warning should be written >>> because the jsr356's ServerApplicationConfig is scanned and created with >>> jdk 6, hence initialized. >> >> There is a log message when you start with Java 6. It is at INFO level >> and is written the first time the WebSocket ServletContainerInitializer >> is called. >> >> Thoughts on making that message more prominent / increasing it to WARN ? > > +1 on increasing it to WARN. Another +1 for WARN. Regards, Rainer - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Refactoring class loader access to resources
On 23.09.2013 17:27, Mark Thomas wrote: > I've mentioned on a couple of different threads that refactoring how the > class loader accesses resources was on my TODO list. I haven't done any > implementation yet but I have some ideas that I wanted to get some > feedback on before I start work. > > The things I have in mind at this point are: > - Extracting anything into the work directory feels like a hack > - The class loader should use the same API as every other component > - The class loader needs URLs that actually work > - The anti-locking options are responsible for a number of the hacks in > the class loader > > The solution I have in mind is along the following lines: > - Add a new getClassLoaderResource() to the WebResources interfaces. > This will implement the standard WEB-INF/classes then JARs in > WEB-INF/lib search order. It should be able to do this without any > extraction into the work directory. A useful feature in TC 6/7 was to add search paths outside of the war to look for config files in order to provide config options special to deployment environments without working with individual war files (via VirtualWebappLoader). I know it is possible with the current resource implementation in TC 8, but will it also be possible after this change, i.e. if the webapp retrieves a config file as a resource via the webapp class loader, can we still configure additional directories to be searched for the resource? > - Class loader resources will not be cached. > - Remove all of the current anti-locking options. > - Wrap all InputStreams returned by the class loader and use this > wrapper to track whether or not the InputStream has been closed. > - Update the memory leak protection code to close any class loader > InputStreams that have not been closed when the web application is > stopped. > - Add a debug option that captures the stack trace of the code that > creates the class loader InputStream that can be reported when > closing leaked streams. > - Add the same InputStream tracking to InputStreams provided by the > standard resource implementation. > > Obviously details TBD as the implementation evolves. Regards, Rainer - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Refactoring class loader access to resources
I've mentioned on a couple of different threads that refactoring how the class loader accesses resources was on my TODO list. I haven't done any implementation yet but I have some ideas that I wanted to get some feedback on before I start work. The things I have in mind at this point are: - Extracting anything into the work directory feels like a hack - The class loader should use the same API as every other component - The class loader needs URLs that actually work - The anti-locking options are responsible for a number of the hacks in the class loader The solution I have in mind is along the following lines: - Add a new getClassLoaderResource() to the WebResources interfaces. This will implement the standard WEB-INF/classes then JARs in WEB-INF/lib search order. It should be able to do this without any extraction into the work directory. - Class loader resources will not be cached. - Remove all of the current anti-locking options. - Wrap all InputStreams returned by the class loader and use this wrapper to track whether or not the InputStream has been closed. - Update the memory leak protection code to close any class loader InputStreams that have not been closed when the web application is stopped. - Add a debug option that captures the stack trace of the code that creates the class loader InputStream that can be reported when closing leaked streams. - Add the same InputStream tracking to InputStreams provided by the standard resource implementation. Obviously details TBD as the implementation evolves. Thoughts? Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE] Release Apache Tomcat 8.0.0-RC3
Mark, On 9/20/13 6:36 AM, Mark Thomas wrote: > The proposed Apache Tomcat 8.0.0 release candidate 3 is now available > for voting. > > Given this is a release candidate I am working on the basis that it is > equivalent to an alpha. The main changes since RC1 are: > - Updated spec implementations with results of various "grey area" > discussions from the EG mailing lists > - Now uses UTF-8 by default > - Switch to async logging and one-line log format by default > - New doc style > - Refactored TLD parsing (work in progress) > - Fixed all the issues reported against RC1 & RC2 > - Add Servlet 3.1 non-blocking support to the AJP connectors > - Fix an issue with the new WebResources and packed WAR files > > It can be obtained from: > https://dist.apache.org/repos/dist/dev/tomcat/tomcat-8/v8.0.0-RC3/ > The Maven staging repo is: > https://repository.apache.org/content/repositories/orgapachetomcat-080/ > The svn tag is: > http://svn.apache.org/repos/asf/tomcat/tags/TOMCAT_8_0_0_RC3/ > > The proposed 8.0.0-RC3 release is: > [ ] Broken - do not release > [X] Alpha - go ahead and release as 8.0.0-RC3 alpha Debian Linux 2.6, x86_84 Oracle Java 1.7.0_40, 64-bit Server VM Binary ZIP and tarball are the same Source ZIP and tarball are the same MD5 sums are okay GPG sigs are okay Checkstyle is happy tcnative builds fine, with some "notes" Unit tests pass (except Tribes, known to fail in my environment) Quick smoke test on my own web application (no new features e.g. Websocket are in use) shows no problems (and the hundreds of WARNING logs are now gone). Looks good to me. -chris signature.asc Description: OpenPGP digital signature
[Bug 55576] Order of ServletRequest parameters is not preserved
https://issues.apache.org/bugzilla/show_bug.cgi?id=55576 --- Comment #2 from Christopher Schultz --- (In reply to Mark Thomas from comment #1) > I am curious as to the use case that supports it. Can you elaborate on why > it might be important for the parameters to be returned in the same order as > they appear on the form. Somewhat related: http://host/resource?op=add&op=update&op=delete If the application expects left-to-right ordering when fetching "op" (which IMO is reasonable) then the ordering of the values is quite important. It seems like extending the above use case to parameters with different names would be reasonable, though I can't really envision a use case where the order of unknown request parameter names would be important. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1525595 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/jasper/compiler/TagFileProcessor.java webapps/docs/changelog.xml
Author: markt Date: Mon Sep 23 13:58:50 2013 New Revision: 1525595 URL: http://svn.apache.org/r1525595 Log: https://issues.apache.org/bugzilla/show_bug.cgi?id=55582 Correct concurrency issue that can result in two instances of JspServletWrapper being created for one tag. Patch provided by Sheldon Shao. Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/TagFileProcessor.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1525593 Modified: tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/TagFileProcessor.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/TagFileProcessor.java?rev=1525595&r1=1525594&r2=1525595&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/TagFileProcessor.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/TagFileProcessor.java Mon Sep 23 13:58:50 2013 @@ -533,9 +533,9 @@ class TagFileProcessor { JspCompilationContext ctxt = compiler.getCompilationContext(); JspRuntimeContext rctxt = ctxt.getRuntimeContext(); -JspServletWrapper wrapper = rctxt.getWrapper(wrapperUri); synchronized (rctxt) { +JspServletWrapper wrapper = rctxt.getWrapper(wrapperUri); if (wrapper == null) { wrapper = new JspServletWrapper(ctxt.getServletContext(), ctxt .getOptions(), tagFilePath, tagInfo, ctxt Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1525595&r1=1525594&r2=1525595&view=diff == --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Mon Sep 23 13:58:50 2013 @@ -55,6 +55,15 @@ They eventually become mixed with the numbered issues. (I.e., numbered issues to not "pop up" wrt. others). --> + + + + 55582: Correct concurrency issue that can result in two + instances of JspServletWrapper being created for one tag Patch provided by + Sheldon Shao. (markt) + + + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 55582] Concurrent issue of TagFileProcessor
https://issues.apache.org/bugzilla/show_bug.cgi?id=55582 Mark Thomas changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #2 from Mark Thomas --- Thanks for the report. This has been fixed in 8.0.x (for 8.0.0-RC4 onwards) and 7.0.x (for 7.0.44 onwards). -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1525593 - /tomcat/trunk/java/org/apache/jasper/compiler/TagFileProcessor.java
Author: markt Date: Mon Sep 23 13:54:31 2013 New Revision: 1525593 URL: http://svn.apache.org/r1525593 Log: https://issues.apache.org/bugzilla/show_bug.cgi?id=55582 Correct concurrency issue that can result in two instances of JspServletWrapper being created for one tag. Patch provided by Sheldon Shao. Modified: tomcat/trunk/java/org/apache/jasper/compiler/TagFileProcessor.java Modified: tomcat/trunk/java/org/apache/jasper/compiler/TagFileProcessor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/TagFileProcessor.java?rev=1525593&r1=1525592&r2=1525593&view=diff == --- tomcat/trunk/java/org/apache/jasper/compiler/TagFileProcessor.java (original) +++ tomcat/trunk/java/org/apache/jasper/compiler/TagFileProcessor.java Mon Sep 23 13:54:31 2013 @@ -529,9 +529,9 @@ class TagFileProcessor { JspCompilationContext ctxt = compiler.getCompilationContext(); JspRuntimeContext rctxt = ctxt.getRuntimeContext(); -JspServletWrapper wrapper = rctxt.getWrapper(wrapperUri); synchronized (rctxt) { +JspServletWrapper wrapper = rctxt.getWrapper(wrapperUri); if (wrapper == null) { wrapper = new JspServletWrapper(ctxt.getServletContext(), ctxt .getOptions(), tagFilePath, tagInfo, ctxt - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE] Release Apache Tomcat 8.0.0-RC3
On Fri, Sep 20, 2013 at 12:36 PM, Mark Thomas wrote: > The proposed Apache Tomcat 8.0.0 release candidate 3 is now available > for voting. > > Given this is a release candidate I am working on the basis that it is > equivalent to an alpha. The main changes since RC1 are: > - Updated spec implementations with results of various "grey area" > discussions from the EG mailing lists > - Now uses UTF-8 by default > - Switch to async logging and one-line log format by default > - New doc style > - Refactored TLD parsing (work in progress) > - Fixed all the issues reported against RC1 & RC2 > - Add Servlet 3.1 non-blocking support to the AJP connectors > - Fix an issue with the new WebResources and packed WAR files > > It can be obtained from: > https://dist.apache.org/repos/dist/dev/tomcat/tomcat-8/v8.0.0-RC3/ > The Maven staging repo is: > https://repository.apache.org/content/repositories/orgapachetomcat-080/ > The svn tag is: > http://svn.apache.org/repos/asf/tomcat/tags/TOMCAT_8_0_0_RC3/ > > The proposed 8.0.0-RC3 release is: > [ ] Broken - do not release > [X] Alpha - go ahead and release as 8.0.0-RC3 alpha > > Apache Wicket Native WebSockets based on JSR356 works fine. > Cheers, > > Mark > > - > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > >
Re: [VOTE] Release Apache Tomcat 8.0.0-RC3
2013/9/20 Mark Thomas > > The proposed Apache Tomcat 8.0.0 release candidate 3 is now available > for voting. > > Given this is a release candidate I am working on the basis that it is > equivalent to an alpha. The main changes since RC1 are: > - Updated spec implementations with results of various "grey area" > discussions from the EG mailing lists > - Now uses UTF-8 by default > - Switch to async logging and one-line log format by default > - New doc style > - Refactored TLD parsing (work in progress) > - Fixed all the issues reported against RC1 & RC2 > - Add Servlet 3.1 non-blocking support to the AJP connectors > - Fix an issue with the new WebResources and packed WAR files > > It can be obtained from: > https://dist.apache.org/repos/dist/dev/tomcat/tomcat-8/v8.0.0-RC3/ > The Maven staging repo is: > https://repository.apache.org/content/repositories/orgapachetomcat-080/ > The svn tag is: > http://svn.apache.org/repos/asf/tomcat/tags/TOMCAT_8_0_0_RC3/ > > The proposed 8.0.0-RC3 release is: > [ ] Broken - do not release > [X] Alpha - go ahead and release as 8.0.0-RC3 alpha Checked with some applications that are using the new specifications features. Regards Violeta
[Bug 55576] Order of ServletRequest parameters is not preserved
https://issues.apache.org/bugzilla/show_bug.cgi?id=55576 Mark Thomas changed: What|Removed |Added Status|NEW |NEEDINFO OS||All --- Comment #1 from Mark Thomas --- The Servlet specification does defer to W3C for all HTML matters. The text quoted above regarding ordering only applies when application/x-www-form-urlencoded is being used. Strictly, it applies only to the order that the client provides the data. It could be argued that if the client is required to provide the parameters in order in this case then the getParamererXXX() methods should respect that order. Further, if the order needs to be maintained for this one case, it is easier to maintain it for all. However, there is nothing that I can see in either the Servlet or HTML specifications that strcitly requires the Servlet API to present the parameters in the same order as they were received. There is no major performance difference (I am aware of) between HashMap and LinkedHahsMap so I am not against making this change but neither (at this point) do I really see the need for it. One concern I do have is that given that there is not a requirement for this, other containers may not implement it and that could cause portability issues. I am curious as to the use case that supports it. Can you elaborate on why it might be important for the parameters to be returned in the same order as they appear on the form. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE] Release Apache Tomcat 8.0.0-RC3
On 23/09/2013 06:20, Henri Gomez wrote: > Hi Mark > > What kind of tests, specific to TC 8.0 are awaited to 'qualify' ? Not sure what you mean. The only tests we have are the unit tests. We do not have access to the Java EE 7 TCKs. In terms of this release, I am personally happy if the unit tests pass on all three platforms I have available. I'm keen to get wider feedback from our users and that needs a formal release. In terms of the alpha -> beta -> stable transition, I plan on including beta in the options once we have an RC that doesn't have any show stopper issues. i.e. I'm expecting 8.0.0 to be beta. For beta -> stable, that will depend on the rate and severity of bug reports we get. My guess it stable will be early next year but who knows. Tomcat is pretty stable already and then unit tests seem to be doing a good job catching issues with the new functionality so maybe it could be sooner. Mark > > > 2013/9/23 Mark Thomas > >> On 20/09/2013 12:35, Mark Thomas wrote: >>> On 20/09/2013 11:36, Mark Thomas wrote: The proposed Apache Tomcat 8.0.0 release candidate 3 is now available for voting. Given this is a release candidate I am working on the basis that it is equivalent to an alpha. The main changes since RC1 are: - Updated spec implementations with results of various "grey area" discussions from the EG mailing lists - Now uses UTF-8 by default - Switch to async logging and one-line log format by default - New doc style - Refactored TLD parsing (work in progress) - Fixed all the issues reported against RC1 & RC2 - Add Servlet 3.1 non-blocking support to the AJP connectors - Fix an issue with the new WebResources and packed WAR files It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/tomcat-8/v8.0.0-RC3/ The Maven staging repo is: https://repository.apache.org/content/repositories/orgapachetomcat-080/ The svn tag is: http://svn.apache.org/repos/asf/tomcat/tags/TOMCAT_8_0_0_RC3/ The proposed 8.0.0-RC3 release is: [ ] Broken - do not release [X] Alpha - go ahead and release as 8.0.0-RC3 alpha >>> >>> It passes the unit tests on Windows, Linux and OSX. >> >> ping. >> >> Any more votes? >> >> I know Rainer has found some issues with APR on Solaris but since this >> is at most an alpha release I'm not minded to cancel the release at this >> point. Of course, if no more votes are forthcoming soon, then the >> release will fail. >> >> Mark >> >> >> - >> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org >> For additional commands, e-mail: dev-h...@tomcat.apache.org >> >> > - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE] Release Apache Tomcat 8.0.0-RC3
Hi Mark What kind of tests, specific to TC 8.0 are awaited to 'qualify' ? 2013/9/23 Mark Thomas > On 20/09/2013 12:35, Mark Thomas wrote: > > On 20/09/2013 11:36, Mark Thomas wrote: > >> The proposed Apache Tomcat 8.0.0 release candidate 3 is now available > >> for voting. > >> > >> Given this is a release candidate I am working on the basis that it is > >> equivalent to an alpha. The main changes since RC1 are: > >> - Updated spec implementations with results of various "grey area" > >> discussions from the EG mailing lists > >> - Now uses UTF-8 by default > >> - Switch to async logging and one-line log format by default > >> - New doc style > >> - Refactored TLD parsing (work in progress) > >> - Fixed all the issues reported against RC1 & RC2 > >> - Add Servlet 3.1 non-blocking support to the AJP connectors > >> - Fix an issue with the new WebResources and packed WAR files > >> > >> It can be obtained from: > >> https://dist.apache.org/repos/dist/dev/tomcat/tomcat-8/v8.0.0-RC3/ > >> The Maven staging repo is: > >> https://repository.apache.org/content/repositories/orgapachetomcat-080/ > >> The svn tag is: > >> http://svn.apache.org/repos/asf/tomcat/tags/TOMCAT_8_0_0_RC3/ > >> > >> The proposed 8.0.0-RC3 release is: > >> [ ] Broken - do not release > >> [X] Alpha - go ahead and release as 8.0.0-RC3 alpha > > > > It passes the unit tests on Windows, Linux and OSX. > > ping. > > Any more votes? > > I know Rainer has found some issues with APR on Solaris but since this > is at most an alpha release I'm not minded to cancel the release at this > point. Of course, if no more votes are forthcoming soon, then the > release will fail. > > Mark > > > - > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > >
Re: [VOTE] Release Apache Tomcat 8.0.0-RC3
On 20/09/2013 12:35, Mark Thomas wrote: > On 20/09/2013 11:36, Mark Thomas wrote: >> The proposed Apache Tomcat 8.0.0 release candidate 3 is now available >> for voting. >> >> Given this is a release candidate I am working on the basis that it is >> equivalent to an alpha. The main changes since RC1 are: >> - Updated spec implementations with results of various "grey area" >> discussions from the EG mailing lists >> - Now uses UTF-8 by default >> - Switch to async logging and one-line log format by default >> - New doc style >> - Refactored TLD parsing (work in progress) >> - Fixed all the issues reported against RC1 & RC2 >> - Add Servlet 3.1 non-blocking support to the AJP connectors >> - Fix an issue with the new WebResources and packed WAR files >> >> It can be obtained from: >> https://dist.apache.org/repos/dist/dev/tomcat/tomcat-8/v8.0.0-RC3/ >> The Maven staging repo is: >> https://repository.apache.org/content/repositories/orgapachetomcat-080/ >> The svn tag is: >> http://svn.apache.org/repos/asf/tomcat/tags/TOMCAT_8_0_0_RC3/ >> >> The proposed 8.0.0-RC3 release is: >> [ ] Broken - do not release >> [X] Alpha - go ahead and release as 8.0.0-RC3 alpha > > It passes the unit tests on Windows, Linux and OSX. ping. Any more votes? I know Rainer has found some issues with APR on Solaris but since this is at most an alpha release I'm not minded to cancel the release at this point. Of course, if no more votes are forthcoming soon, then the release will fail. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE] Release Apache Tomcat 7.0.43
Mark, On 9/20/13 7:05 AM, Mark Thomas wrote: > On 20/09/2013 11:57, Jeanfrancois Arcand wrote: >> >> On 2013-09-20 6:26 AM, Mark Thomas wrote: >>> On 20/09/2013 11:24, Jeanfrancois Arcand wrote: Hi, [X] Broken - do not release I do test/use Tomcat with WebSocket since 7.0.27. 8.0.0-RC1 worked well with jsr356, but 7.0.43 is broken. You can try it by deploying http://search.maven.org/remotecontent?filepath=org/atmosphere/samples/atmosphere-chat/2.0.0/atmosphere-chat-2.0.0.war >>> Just a quick question, were you running on Java 7? >> Ah! No I wasn't. I think a log message or warning should be written >> because the jsr356's ServerApplicationConfig is scanned and created with >> jdk 6, hence initialized. > > There is a log message when you start with Java 6. It is at INFO level > and is written the first time the WebSocket ServletContainerInitializer > is called. > > Thoughts on making that message more prominent / increasing it to WARN ? +1 on increasing it to WARN. -chris signature.asc Description: OpenPGP digital signature
Re: SCI discovery ordering
On 22/09/2013 10:55, Jeremy Boynes wrote: > On Sep 22, 2013, at 1:44 AM, Mark Thomas wrote: > >> On 22/09/2013 00:27, Jeremy Boynes wrote: >> >>> As a concrete example of how this impacts the behaviour, consider >>> the case where the application includes its own JSP engine. With >>> the RI's delegation model, the application's engine's SCI would >>> execute first allowing it to register a Servlet and mapping to >>> handle the "*.jsp" pattern. When the container's engine's SCI was >>> executed, that mapping would already be bound and could not be >>> pre-empted (engines already need to allow for that in case the >>> application configured that mapping in its web.xml). If the >>> container is always given priority, then the container's engine >>> would be used rather than the one the application intended. >> >> No. It would still be loaded from the application (for that >> webapp). > > For two versions of the *same* implementation, yes. Agreed. This is the case the EG was trying to cover. Unfortunately that is just a small part of the total grey area that could do with some clarification. > But if they used > *different* implementations of the *same functionality,* the > container's would always get precedence. For example, if an > application included Tyrus's WebSocket implementation it would always > be invoked after Tomcat's. Or for JAX-RS, if the container was > configured with CXF and the application included Jersey, Jersey would > not be able to register its Servlets for the REST endpoints as CXF > would have already mapped them. Some time ago, Tomcat allowed users to include container JARs in absolute orderings to handle this sort of situation. However, the EG was very clear that that behaviour was not permitted and that absolute ordering could only include applications JARs. I'm wondering if reverting to something like this might be the way to solve this. We shall see... > The issue here is that programmatic registrations cannot modify the > existing configuration. Once a framework has registered a servlet, > filter, listener or mapping it cannot be replaced by another. > Frameworks that applications bundle in WEB-INF/lib need to have a > chance to perform their initialization before an equivalent but > different implementation provided by the container. This is starting to get really messy. There are enough different edge cases that I'm not such I am keeping track of them all. I'm also not sure that SERVLET_SPEC-79 has captured them all either. Can I suggest the following approach: - start a new wiki page listing all the edge cases / problems / issues we can think of - discuss some solutions to those issues on list - more complex proposals can be documented on the wiki if necessary - document the proposal(s) on the wiki - update SERVLET_SPEC-79 with the full set of issues and solution(s) At that point we can figure out what minimal changes we can make to Tomcat 8 to align it as far as possible to the proposed solution. What I want to avoid is a large / invasive change to Tomcat to align it to the proposed solution only to have to undo / redo it if the EG opts for a different (or worse still no) solution. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1525548 - /tomcat/tc7.0.x/trunk/res/META-INF/tomcat7-websocket.jar/services/javax.websocket.server.ServerContainerProvider
Author: markt Date: Mon Sep 23 11:02:18 2013 New Revision: 1525548 URL: http://svn.apache.org/r1525548 Log: ServerContainerProvider was removed from JSR-356 Removed: tomcat/tc7.0.x/trunk/res/META-INF/tomcat7-websocket.jar/services/javax.websocket.server.ServerContainerProvider - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1525547 - /tomcat/trunk/res/META-INF/tomcat-websocket.jar/services/javax.websocket.server.ServerContainerProvider
Author: markt Date: Mon Sep 23 11:00:19 2013 New Revision: 1525547 URL: http://svn.apache.org/r1525547 Log: ServerContainerProvider was removed from JSR-356 Removed: tomcat/trunk/res/META-INF/tomcat-websocket.jar/services/javax.websocket.server.ServerContainerProvider - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Issue in AprEndpoint detected by TestCoyoteAdapter
On 09/23/2013 09:54 AM, Rainer Jung wrote: On 23.09.2013 07:27, Mladen Turk wrote: The patch seems fine. I mean any return value should do in theory. The main question is why is particular socket removed twice from the Poller. I agree that there's probably another problem further up the stack. It would be good to check for thread sync issues. Maintain and socket close must be serialized. If the socket is closed while poller is in maintain with the same same socket it might lead to this issue. Also not sure if we have a code with either poll() or maintain() call without doRemove argument set to true. Regards -- ^TM - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1525525 - in /tomcat/native/branches/1.1.x: native/src/poll.c xdocs/miscellaneous/changelog.xml
Author: rjung Date: Mon Sep 23 08:08:56 2013 New Revision: 1525525 URL: http://svn.apache.org/r1525525 Log: Change return code when removing a socket from a poller, that was actually not in the poller from APR_SUCCESS to APR_NOTFOUND. This lead to corrupt poller handling in the Tomcat APR connector, at least sporadically on Solaris Sparc. Modified: tomcat/native/branches/1.1.x/native/src/poll.c tomcat/native/branches/1.1.x/xdocs/miscellaneous/changelog.xml Modified: tomcat/native/branches/1.1.x/native/src/poll.c URL: http://svn.apache.org/viewvc/tomcat/native/branches/1.1.x/native/src/poll.c?rev=1525525&r1=1525524&r2=1525525&view=diff == --- tomcat/native/branches/1.1.x/native/src/poll.c (original) +++ tomcat/native/branches/1.1.x/native/src/poll.c Mon Sep 23 08:08:56 2013 @@ -259,7 +259,7 @@ TCN_IMPLEMENT_CALL(jint, Poll, remove)(T if (s->pe == NULL) { /* Already removed */ -return APR_SUCCESS; +return APR_NOTFOUND; } fd.desc_type = APR_POLL_SOCKET; fd.desc.s = s->sock; Modified: tomcat/native/branches/1.1.x/xdocs/miscellaneous/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/native/branches/1.1.x/xdocs/miscellaneous/changelog.xml?rev=1525525&r1=1525524&r2=1525525&view=diff == --- tomcat/native/branches/1.1.x/xdocs/miscellaneous/changelog.xml (original) +++ tomcat/native/branches/1.1.x/xdocs/miscellaneous/changelog.xml Mon Sep 23 08:08:56 2013 @@ -36,6 +36,14 @@ new documentation project for Tomcat Native was started. + + + + Change return code when removing a socket from a poller, that was + actually not in the poller from APR_SUCCESS to APR_NOTFOUND. (rjung) + + + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Issue in AprEndpoint detected by TestCoyoteAdapter
On 23.09.2013 07:27, Mladen Turk wrote: > On 09/22/2013 03:39 PM, Rainer Jung wrote: >> On 22.09.2013 13:17, Rainer Jung wrote: >>> I debugged around my occasional failures for TestCoyoteAdapter when >>> using APR. >>> >>> Error is: >>> >>> SEVERE [http-apr-127.0.0.1-auto-13-Poller] >>> org.apache.tomcat.util.net.AprEndpoint$Poller.run Poller failed with >>> error [81] : [File descriptor in bad state] >> >> ... >> >> >>> Not sure whether the problem is more in the concurrent poll plus remove, >>> or the following code in poll.c: >>> >>> TCN_IMPLEMENT_CALL(jint, Poll, remove)(TCN_STDARGS, jlong pollset, >>> jlong socket) >>> { >>> apr_pollfd_t fd; >>> apr_status_t rv; >>> tcn_pollset_t *p = J2P(pollset, tcn_pollset_t *); >>> tcn_socket_t *s = J2P(socket, tcn_socket_t *); >>> >>> UNREFERENCED_STDARGS; >>> TCN_ASSERT(socket != 0); >>> >>> if (s->pe == NULL) { >>> /* Already removed */ >>> return APR_SUCCESS; >>> } >>> >>> Here we return APR_SUCCESS and the code calling Poll.remove in >>> AprEndpoint always does: >>> >>> rv = Poll.remove(pollers[i], socket); >>> if (rv != Status.APR_NOTFOUND) { >>> pollerSpace[i]++; >>> connectionCount--; >>> break; >>> } >>> >>> So the pollerSpace and connectionCount numbers are (in/de)cremented. >> >> The following patch seems to fix it for me, at least 150 test runs for >> TestCoyoteAdapter were successful: >> >> Index: ../native/branches/1.1.x/native/src/poll.c >> === >> --- ../native/branches/1.1.x/native/src/poll.c (revision 1525348) >> +++ ../native/branches/1.1.x/native/src/poll.c (working copy) >> @@ -259,7 +259,7 @@ >> >> if (s->pe == NULL) { >> /* Already removed */ >> -return APR_SUCCESS; >> +return APR_NOTFOUND; >> } >> fd.desc_type = APR_POLL_SOCKET; >> fd.desc.s = s->sock; >> >> > > The patch seems fine. I mean any return value should do in theory. > The main question is why is particular socket removed twice > from the Poller. This is called directly from java code > so wrapper seems to call it twice (or more). > I suspect that the socket is first closed and then Poller loop removes it. > Or it can be removed by poll with doRemove == true or during pollset > maintain. > In any case after removed either by poll or maintain returned set of > removed > sockets must be invalidated from pollset so it doesn't use it again in > explicit remove. I agree that there's probably another problem further up the stack. Since the apr endpoint explicitely uses the return value of remove to decide whether something was removed, APT_NOTFOUND seems better. But as you said: why is it calling remove for a socket not in the poller? When the endpoint called remove for "2856392", the poller has size one and consisted only of socket 2218784. Strange. Here's the more complete log snippet: SOCKET-1 exists, but will be destroyed before the problem happen, SOCKET-2 s going to be accepted and later produces the problem, SOCKET-3 comes into the picture only shortly before the problem happens. 12:19:12.844 FINE [13-exec-4] AprEndpoint$Poller.add socket [SOCKET-1], timeout [3,000], flags [1] Here 2 is acceppted 12:19:12.850 FINE [13-Acceptor-0] AprEndpoint.processSocketWithOptions socket [SOCKET-2] and added to the poller 12:19:12.853 FINE [13-exec-5] AprEndpoint$Poller.add socket [SOCKET-2], timeout [3,000], flags [1] 12:19:12.858 FINE [13-Poller] AprEndpoint$Poller.run socket [SOCKET-1] 12:19:12.860 WARNING [13-Poller] AprEndpoint$Poller.addToPoller Adding to poller number 0 of size 0 socket SOCKET-1 12:19:12.861 WARNING [13-Poller] AprEndpoint$Poller.addToPoller Adding to poller number 0 returned with 0 Here adding to the poller actually happens 12:19:12.862 FINE [13-Poller] AprEndpoint$Poller.run socket [SOCKET-2] 12:19:12.863 WARNING [13-Poller] AprEndpoint$Poller.addToPoller Adding to poller number 0 of size 1 socket SOCKET-2 12:19:12.864 WARNING [13-Poller] AprEndpoint$Poller.addToPoller Adding to poller number 0 returned with 0 Now the poller contains Sockets 1 and 2 and gets polled 12:19:12.865 WARNING [13-Poller] AprEndpoint$Poller.run Polling poller number 0 of size 2 with timeout 2000 12:19:12.866 WARNING [13-Poller] AprEndpoint$Poller.run Polling poller number 0 returned with 2 It returns both sockets: port_getn(6, 0x005D0CF8, 8192, 1, 0xB417F6F8) = 2 [0] 12:19:12.867 FINE [13-Poller] AprEndpoint$Poller.run Processing socket [SOCKET-1] for event(s) [1] 12:19:12.869 FINE [13-Poller] AprEndpoint$Poller.run Processing socket [SOCKET-2] for event(s) [1] Socket 1 gets destroyed. 12:19:12.871 FINE [13-exec-6] AprEndpoint.destroySocket socket [SOCKET-1], doIt [true] Socket 2 is handled by an exec thread which adds