Re: Coverity static analysis scanning
On 28/08/2014 15:44, Freddy Mallet wrote: Hi Guys, I'm the leading the development of the SonarQube platform. If you want any personal login/password to http://nemo.sonarqube.org/ and/or if you want us to tune the set of coding rules used to analyze the Tomcat project, feel free to ping me or I'd like an account to have a poke around the results - ma...@apache.org please Obviously, if you're getting some false-positives, I'm also eager to get your feedback to help us tuning our java analyser. False positives are expected. In the past the biggest problem I have found with code analysis systems is the hoops you have to jump through to mark something as a false positive. Cheers, Mark Thanks - twitter.com/FreddyMallet SonarQube for Continuous Inspection -- Forwarded message -- From: Henri Gomez henri.go...@gmail.com Date: 2014-08-26 23:52 GMT+02:00 Subject: Re: Coverity static analysis scanning To: Tomcat Developers List dev@tomcat.apache.org Hi all Are you aware SonarQube is analysing Tomcat in Nemo for years ? http://nemo.sonarqube.org/dashboard/index/50544 310 Blocker issues, 121 Critical issues. Wondering if Coverity will provides more informations than SonarQube ? BTW, SonarQube is analysing major ASF projects for a long time now :) 2014-08-26 11:20 GMT+02:00 Mark Thomas ma...@apache.org: All, I have been pinged off-list by Coverity to say that they have set up Tomcat with a free account with their static code analysis service. I think I have the ability to send invitations so if anyone wants to take a look at the results, just reply here. I have taken a quick look and they do appear to have found some valid threading issues. There are ~350 issues in total and I don't yet have a feel for the false positive rate. 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
[Bug 56905] New: Unable to destroy WebSocket thread group warning when reloading examples webapp
https://issues.apache.org/bugzilla/show_bug.cgi?id=56905 Bug ID: 56905 Summary: Unable to destroy WebSocket thread group warning when reloading examples webapp Product: Tomcat 8 Version: 8.0.11 Hardware: PC Status: NEW Severity: minor Priority: P2 Component: WebSocket Assignee: dev@tomcat.apache.org Reporter: knst.koli...@gmail.com Testing 8.0.12 release candidate. Windows, JDK 7u67 (32-bit), NIO connector. Steps to reproduce: == 1. Start Tomcat 2. Visit Echo websockets example and do the following http://localhost:8080/examples/websocket/echo.xhtml - Select any connection option (I like (*) annotation API (stream), but the issue is reproducible with any of the 3 connection options) - Press Connect button - Press Echo message button - Press Disconnect button 3. Touch file webapps\examples\WEB-INF\web.xml and wait for the web application to be reloaded by Tomcat Actual: Webapp reloading completes successfully, but a Unable to destroy WebSocket thread group warning is logged into logs/catalina.2014-08-31.log file: Expected: No warning. [[[ 31-Aug-2014 18:20:22.357 INFO [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.core.StandardContext.reload Reloading Context with name [/examples] has started 31-Aug-2014 18:20:22.362 WARNING [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.tomcat.websocket.server.WsServerContainer.destroy Unable to destroy WebSocket thread group [WebSocketServer-localhost-/examples] as some threads were still running when the web application was stopped 31-Aug-2014 18:20:22.877 INFO [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.core.StandardContext.reload Reloading Context with name [/examples] is completed ]]] Evaluation, notes == 1) Reproduction rate is less than 100%. Sometimes the warning does not happen. Steps 2-4 can be repeated without restarting Tomcat until the issue shows itself. In the example, any connection option can be used. The issue does not depend on it. 2) The message is printed by org.apache.tomcat.websocket.server.WsServerContainer.destroy() method and originates from r1589043 3) I tried to get more information, by adding the following debug code: [[[ StringBuilder buf = new StringBuilder(); buf.append(threadGroup.getName()); buf.append( activeCount: ).append(threadGroup.activeCount()); buf.append( isDestroyed: ).append(threadGroup.isDestroyed()); Thread[] threads = new Thread[100]; int threadCount = threadGroup.enumerate(threads, false); buf.append(\nactual Thread count: ).append(threadCount); for (int i=0; ithreadCount; i++) { buf.append(\n\n).append(threads[i]); StackTraceElement[] stack = threads[i].getStackTrace(); for (StackTraceElement ste: stack) { buf.append(\n\t).append(ste); } } log.warn(buf.toString()); ]]] The results: 1. activeCount: 0 isDestroyed: false 2. actual Thread count: 0, threadGroup.enumerate() have not returned any thread. 3. If I add second threadGroup.destroy(); call after the above code, it succeeds. 4) There are no PermGen memory leaks. (No thread stack traces are printed by WebappClassLoader leak detection code. No leaks detected by Find leaks command in Tomcat Manager webapp). Missing a ThreadGroup.destroy() call will keep this thread group in its parent thread group's list, so there will be a small java object leak. 5) In this case we were safe, but generally there might be threads that are still running, as they perform some web application code. So the warning is justified. Thoughts on a possible fix == 1) Use threadGroup.setDaemon(true) [1]. The daemon flag on a thread group means that its destroy() method will be called automatically when its thread count reaches zero. Generally it either shall be done in a synchronized(threadGroup) block, or we shall call some synchronized methods later to make sure that the change is propagated. (E.g. calling ThreadGroup.isDestroyed(), ThreadGroup.activeCount() is good for this). The goal is to avoid the java object leak. [1] http://docs.oracle.com/javase/7/docs/api/java/lang/ThreadGroup.html#setDaemon%28boolean%29 2) Ask for threadGroup.activeCount() and include the count in the warning message. -- 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: r1621698 - /tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java
Author: kkolinko Date: Mon Sep 1 08:05:39 2014 New Revision: 1621698 URL: http://svn.apache.org/r1621698 Log: Correct typo in a comment Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java?rev=1621698r1=1621697r2=1621698view=diff == --- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java Mon Sep 1 08:05:39 2014 @@ -140,7 +140,7 @@ public class WsServerContainer extends W fr.addMappingForUrlPatterns(types, true, /*); -// Use a per web application executor for any threads the the WebSocket +// Use a per web application executor for any threads that the WebSocket // server code needs to create. Group all of the threads under a single // ThreadGroup. StringBuffer threadGroupName = new StringBuffer(WebSocketServer-); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 56890] getRealPath returns null
https://issues.apache.org/bugzilla/show_bug.cgi?id=56890 Mark Thomas ma...@apache.org changed: What|Removed |Added Status|NEW |NEEDINFO --- Comment #5 from Mark Thomas ma...@apache.org --- (In reply to f.bantner from comment #3) I have no strong opinion on this. Just a few thoughts: 1. getResource() is fundamental different to getRealPath(). Yes and no. The purpose is very different but they both take a path relative to the base of the servlet context. 2. There is nothing in the spec which tell that getRealPath() must start with a slash. I think it is strongly implied but I agree it could be clearer. 3. The leading slash in the path of urls is kind of inexistent anyway. Regardless, the servlet spec uses leading '/' 4. The main advantage of not answering to requests for path's without a leading slash would be imho that the developer (say me) who is already confused about the servlet api is remindet that this is an absolute path. On the other hand throwing an exception would be the right thing to take in this case. The Javadoc for getRealPath() strongly suggests returning null rather than throwing an exception. 5. The spec says: This method returns null if the servlet container cannot translate the virtual path to a real path [...]. The key here is cannot. How it stands right now it is a doesn't want to. (The server could translate it if it wanted to) At this point, I really do wish the spec was clearer. I'll raise a bug and see if we can get this addressed for Servlet 3.2. When a later spec clarifies something, Tomcat often back-ports the clarification to earlier versions. I've re-read the Javadoc for getRealPath() several times. It could be read as Take the value of path, append it to 'http://host:port/contextPath' and return the absolute path on the file system that that request would be mapped to or null if that is not possible. The 'interesting' part here is that path gets appended to something that does not end in '/'. Taking your 5 examples from earlier, that gives us: getRealPath() - http://host:port/contextPath getRealPath(.)- http://host:port/contextPath. getRealPath(./) - http://host:port/contextPath./ getRealPath(/)- http://host:port/contextPath/ getRealPath(test) - http://host:port/contextPathtest The first and fourth examples should be OK (assuming the web app is expanded). The others will fail. This is actually (more by luck than judegment) how Tomcat is behaving now. I'm not entirely comfortable with this. I'd be happier with either a requirement that the path must start with / (else an IAE is thrown) or a requirement the '/' is prepended if not present. 6. To be consistent getRealPath( ) should return null, too. It depends what you are being consistent with. See my response to point 5 that demonstrates that the current behaviour is consistent with at least one point of view. 7. Why fix what's not broken? The resource handling was almost impossible to maintain. It was horribly fragile and implementing what - then - was expected to be in Servlet 3.1 in terms of overlays would have been a nightmare. The new resource handling is much more robust and provides much more consistent behaviour. What we have here is yet another grey area in the Servlet spec that needs some clarification. 8. Finally: For my part I replaced my ./ string (after some heavy searching for the problem) with / and everything worked again. (I won't change this back anyway). But this was the first time I had to fix something for Tomcat upgrades since Tomcat 5. And I liked that very much ;) I'm fairly sure that however the Servlet EG clarifies this, that starting with ./ will end up being invalid so I think you were going to have to change this sooner or later. It is nice to know that for well written applicaitons that follow the spec the upgrade process is as smooth as it is meant to be. I'm going to leave this in the NEEDINFO state until we get some clarification from the Servlet EG. -- 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 56890] getRealPath returns null
https://issues.apache.org/bugzilla/show_bug.cgi?id=56890 --- Comment #6 from Mark Thomas ma...@apache.org --- https://java.net/jira/browse/SERVLET_SPEC-105 -- 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 56905] Unable to destroy WebSocket thread group warning when reloading examples webapp
https://issues.apache.org/bugzilla/show_bug.cgi?id=56905 --- Comment #1 from Konstantin Kolinko knst.koli...@gmail.com --- Created attachment 31958 -- https://issues.apache.org/bugzilla/attachment.cgi?id=31958action=edit 2014-09-01_tc8_56905_v1.patch Patch (v1) for current trunk at r1621698 I have not tested it yet. -- 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.12
2014-08-30 19:34 GMT+04:00 Mark Thomas ma...@apache.org: The proposed Apache Tomcat 8.0.12 release is now available for voting. The main changes since 8.0.11 are: - Fix a regression in the processing of includes and forwards when Contexts had been reloaded. - Session ID generation is now extensible - Extend support for the permessage-deflate extension to compression of outgoing messages on the server side There is also the usual collection of bug fixes, new features and performance improvements. For full details, see the changelog: http://svn.us.apache.org/repos/asf/tomcat/trunk/webapps/docs/changelog.xml It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/tomcat-8/v8.0.12/ The Maven staging repo is: https://repository.apache.org/content/repositories/orgapachetomcat-1021/ The svn tag is: http://svn.apache.org/repos/asf/tomcat/tc8.0.x/tags/TOMCAT_8_0_12/ The proposed 8.0.12 release is: [ ] Broken - do not release [x] Stable - go ahead and release as 8.0.12 On Windows 7 with JDK 7u67 (32-bit) Testsuite - OK (BIO, NIO, NIO2, APR) Smoke testing - OK, though noted a glitch and filed it as BZ 56905. https://issues.apache.org/bugzilla/show_bug.cgi?id=56905 is essentially a cosmetic issue. I think there is small java object leak. No PermGen leak is observed. Best regards, Konstantin Kolinko - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1621727 - /tomcat/trunk/webapps/docs/changelog.xml
Author: markt Date: Mon Sep 1 10:06:16 2014 New Revision: 1621727 URL: http://svn.apache.org/r1621727 Log: Update the changelog Modified: tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1621727r1=1621726r2=1621727view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Mon Sep 1 10:06:16 2014 @@ -44,6 +44,17 @@ They eventually become mixed with the numbered issues. (I.e., numbered issues to not pop up wrt. others). -- +section name=Tomcat 8.0.13 (markt) + subsection name=Catalina +changelog + fix +bug56900/bug: Fix some potential resource leaks when reading +property files reported by Coverity Scan. Based on patches provided by +Felix Schumacher. (markt) + /fix +/changelog + /subsection +/section section name=Tomcat 8.0.12 (markt) subsection name=Catalina changelog - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1621725 - /tomcat/trunk/java/org/apache/catalina/core/DefaultInstanceManager.java
Author: markt Date: Mon Sep 1 10:06:07 2014 New Revision: 1621725 URL: http://svn.apache.org/r1621725 Log: Partial fix for https://issues.apache.org/bugzilla/show_bug.cgi?id=56900 Fix resource leaks reading property files Based on a patch by Felix Schumacher Modified: tomcat/trunk/java/org/apache/catalina/core/DefaultInstanceManager.java Modified: tomcat/trunk/java/org/apache/catalina/core/DefaultInstanceManager.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/DefaultInstanceManager.java?rev=1621725r1=1621724r2=1621725view=diff == --- tomcat/trunk/java/org/apache/catalina/core/DefaultInstanceManager.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/DefaultInstanceManager.java Mon Sep 1 10:06:07 2014 @@ -49,6 +49,7 @@ import org.apache.catalina.ContainerServ import org.apache.catalina.Globals; import org.apache.catalina.security.SecurityUtil; import org.apache.catalina.util.Introspection; +import org.apache.juli.logging.Log; import org.apache.tomcat.InstanceManager; import org.apache.tomcat.util.ExceptionUtils; import org.apache.tomcat.util.res.StringManager; @@ -71,9 +72,9 @@ public class DefaultInstanceManager impl protected final ClassLoader containerClassLoader; protected final boolean privileged; protected final boolean ignoreAnnotations; -private final Properties restrictedFilters = new Properties(); -private final Properties restrictedListeners = new Properties(); -private final Properties restrictedServlets = new Properties(); +private final Properties restrictedFilters; +private final Properties restrictedListeners; +private final Properties restrictedServlets; private final MapClass?, AnnotationCacheEntry[] annotationCache = new WeakHashMap(); private final MapString, String postConstructMethods; @@ -88,49 +89,18 @@ public class DefaultInstanceManager impl this.containerClassLoader = containerClassLoader; ignoreAnnotations = catalinaContext.getIgnoreAnnotations(); StringManager sm = StringManager.getManager(Constants.Package); -try { -InputStream is = -this.getClass().getClassLoader().getResourceAsStream -(org/apache/catalina/core/RestrictedServlets.properties); -if (is != null) { -restrictedServlets.load(is); -} else { -catalinaContext.getLogger().error(sm.getString( -defaultInstanceManager.restrictedServletsResource)); -} -} catch (IOException e) { -catalinaContext.getLogger().error(sm.getString( -defaultInstanceManager.restrictedServletsResource), e); -} - -try { -InputStream is = -this.getClass().getClassLoader().getResourceAsStream - (org/apache/catalina/core/RestrictedListeners.properties); -if (is != null) { -restrictedListeners.load(is); -} else { -catalinaContext.getLogger().error(sm.getString( - defaultInstanceManager.restrictedListenersResources)); -} -} catch (IOException e) { -catalinaContext.getLogger().error(sm.getString( -defaultInstanceManager.restrictedListenersResources), e); -} -try { -InputStream is = -this.getClass().getClassLoader().getResourceAsStream - (org/apache/catalina/core/RestrictedFilters.properties); -if (is != null) { -restrictedFilters.load(is); -} else { -catalinaContext.getLogger().error(sm.getString( -defaultInstanceManager.restrictedFiltersResource)); -} -} catch (IOException e) { -catalinaContext.getLogger().error(sm.getString( -defaultInstanceManager.restrictedServletsResources), e); -} +restrictedServlets = loadProperties( +org/apache/catalina/core/RestrictedServlets.properties, + sm.getString(defaultInstanceManager.restrictedServletsResource), +catalinaContext.getLogger()); +restrictedListeners = loadProperties( +org/apache/catalina/core/RestrictedListeners.properties, +defaultInstanceManager.restrictedListenersResources, +catalinaContext.getLogger()); +restrictedFilters = loadProperties( +org/apache/catalina/core/RestrictedFilters.properties, +defaultInstanceManager.restrictedFiltersResource, +catalinaContext.getLogger()); this.context = context; this.injectionMap = injectionMap; this.postConstructMethods =
svn commit: r1621726 - /tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java
Author: markt Date: Mon Sep 1 10:06:12 2014 New Revision: 1621726 URL: http://svn.apache.org/r1621726 Log: Partial fix for https://issues.apache.org/bugzilla/show_bug.cgi?id=56900 Fix resource leak reading property files Based on a patch by Felix Schumacher Modified: tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java Modified: tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java?rev=1621726r1=1621725r2=1621726view=diff == --- tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java Mon Sep 1 10:06:12 2014 @@ -138,20 +138,16 @@ public class ContextConfig implements Li static { // Load our mapping properties for the standard authenticators -InputStream is = -ContextConfig.class.getClassLoader().getResourceAsStream( -org/apache/catalina/startup/Authenticators.properties); -Properties props = null; -props = new Properties(); -if (is != null) { -try { +Properties props = new Properties(); +try (InputStream is = ContextConfig.class.getClassLoader().getResourceAsStream( +org/apache/catalina/startup/Authenticators.properties);) { +if (is != null) { props.load(is); -} catch (IOException e) { -props = null; } +} catch (IOException ioe) { +props = null; } authenticators = props; - } /** - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 56900] Resource Leaks found by CID 45266 and 45249
https://issues.apache.org/bugzilla/show_bug.cgi?id=56900 Mark Thomas ma...@apache.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #2 from Mark Thomas ma...@apache.org --- Thanks for the patches. I applied a variation of them (I used try with resources to reduce the code) to 8.0.x and this will be included in 8.0.13 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: r1621729 - in /tomcat/trunk: java/org/apache/catalina/servlets/DefaultServlet.java webapps/docs/changelog.xml
Author: markt Date: Mon Sep 1 10:15:01 2014 New Revision: 1621729 URL: http://svn.apache.org/r1621729 Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56902 Potential resource leak in Default Servlet Based on a patch by Felix Schumacher Modified: tomcat/trunk/java/org/apache/catalina/servlets/DefaultServlet.java tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/java/org/apache/catalina/servlets/DefaultServlet.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/servlets/DefaultServlet.java?rev=1621729r1=1621728r2=1621729view=diff == --- tomcat/trunk/java/org/apache/catalina/servlets/DefaultServlet.java (original) +++ tomcat/trunk/java/org/apache/catalina/servlets/DefaultServlet.java Mon Sep 1 10:15:01 2014 @@ -2032,27 +2032,24 @@ public class DefaultServlet extends Http while ( (exception == null) (ranges.hasNext()) ) { InputStream resourceInputStream = resource.getInputStream(); -InputStream istream = -new BufferedInputStream(resourceInputStream, input); +try (InputStream istream = new BufferedInputStream(resourceInputStream, input)) { -Range currentRange = ranges.next(); - -// Writing MIME header. -ostream.println(); -ostream.println(-- + mimeSeparation); -if (contentType != null) -ostream.println(Content-Type: + contentType); -ostream.println(Content-Range: bytes + currentRange.start - + - + currentRange.end + / - + currentRange.length); -ostream.println(); - -// Printing content -exception = copyRange(istream, ostream, currentRange.start, - currentRange.end); - -istream.close(); +Range currentRange = ranges.next(); +// Writing MIME header. +ostream.println(); +ostream.println(-- + mimeSeparation); +if (contentType != null) +ostream.println(Content-Type: + contentType); +ostream.println(Content-Range: bytes + currentRange.start + + - + currentRange.end + / + + currentRange.length); +ostream.println(); + +// Printing content +exception = copyRange(istream, ostream, currentRange.start, + currentRange.end); +} } ostream.println(); Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1621729r1=1621728r2=1621729view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Mon Sep 1 10:15:01 2014 @@ -52,6 +52,11 @@ property files reported by Coverity Scan. Based on patches provided by Felix Schumacher. (markt) /fix + fix +bug56902/bug: Fix a potential resource leak in the Default Servlet +reported by Coverity Scan. Based on a patch provided by Felix +Schumacher. (markt) + /fix /changelog /subsection /section - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 56902] DefaultServlet could leak resource in method copy - CID-45243
https://issues.apache.org/bugzilla/show_bug.cgi?id=56902 Mark Thomas ma...@apache.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #1 from Mark Thomas ma...@apache.org --- Thanks for reviewing the Coverity Scan results. I've applied a variation of your patch (I used try with resources) to 8.0.x and this will be included in 8.0.13 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: r1621731 - in /tomcat/trunk: java/org/apache/catalina/core/StandardContext.java test/org/apache/catalina/core/TestStandardContext.java webapps/docs/changelog.xml
Author: markt Date: Mon Sep 1 10:40:33 2014 New Revision: 1621731 URL: http://svn.apache.org/r1621731 Log: Correct the return value for StandardContext.getResourceOnlyServlets() so that multiple names are separated by commas. Identified by Coverity Scan and fixed based on a patch by Felix Schumacher. Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java tomcat/trunk/test/org/apache/catalina/core/TestStandardContext.java tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1621731r1=1621730r2=1621731view=diff == --- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Mon Sep 1 10:40:33 2014 @@ -918,7 +918,9 @@ public class StandardContext extends Con StringBuilder result = new StringBuilder(); boolean first = true; for (String servletName : resourceOnlyServlets) { -if (!first) { +if (first) { +first = false; +} else { result.append(','); } result.append(servletName); Modified: tomcat/trunk/test/org/apache/catalina/core/TestStandardContext.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/core/TestStandardContext.java?rev=1621731r1=1621730r2=1621731view=diff == --- tomcat/trunk/test/org/apache/catalina/core/TestStandardContext.java (original) +++ tomcat/trunk/test/org/apache/catalina/core/TestStandardContext.java Mon Sep 1 10:40:33 2014 @@ -71,6 +71,7 @@ import org.apache.tomcat.util.descriptor import org.apache.tomcat.util.descriptor.web.FilterMap; import org.apache.tomcat.util.descriptor.web.LoginConfig; + public class TestStandardContext extends TomcatBaseTest { private static final String REQUEST = @@ -945,4 +946,13 @@ public class TestStandardContext extends Assert.assertNull(realPath); } + +@Test +public void testBug56903() { +Context context = new StandardContext(); + +String list = a,b,c; +context.setResourceOnlyServlets(list); +Assert.assertEquals(list, context.getResourceOnlyServlets()); +} } Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1621731r1=1621730r2=1621731view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Mon Sep 1 10:40:33 2014 @@ -57,6 +57,12 @@ reported by Coverity Scan. Based on a patch provided by Felix Schumacher. (markt) /fix + fix +bug56903/bug: Correct the return value for +codeStandardContext.getResourceOnlyServlets()/code so that multiple +names are separated by commas. Identified by Coverity Scan and fixed +based on a patch by Felix Schumacher. (markt) + /fix /changelog /subsection /section - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 56903] Missing comma-Separator in StandardContexts getRessourceOnlyServlets - CID-45051
https://issues.apache.org/bugzilla/show_bug.cgi?id=56903 Mark Thomas ma...@apache.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #2 from Mark Thomas ma...@apache.org --- Thanks for the fix. I have applied a variation of the patch (inverted logic and simpler test) to 8.0.x which will be included in 8.0.13 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
Two-minute(!)-survey on motivation and free time contribution of open source developers
Dear all, for a university research project in an Open Source class at the Technical University Berlin (Germany) I would like to gather some original input from open source software developers. I kept the length of the survey to an absolute minimum!!! The survey is supposed to capture the free time contribution and the primary motivation of open source software developers. It would be fantastic if you could spend two minutes on three simple questions! Here is the link to the survey: https://de.surveymonkey.com/s/MFKXYLP I highly appreciate the (short) time you take for filling it out! Best regards, Stefan Kullack TU Berlin
RFC6265 progress
As previously advertised, I've been working on a new RFC6265 cookie parsing. The current status is as follows: - parser is working for RFC6265 cookie headers - RFC2109 parsing is still TODO - new parser is driven by Context level config (no more system properties) - currently between 1% and 3% slower - code is easier to follow (more smaller methods) There is some refactoring involved that I'll commit shortly. I'll also commit as much of the parser as I can without changing the current behaviour (even optionally). I'll commit the remaining code once I have written the RFC2109 part of the parser. It might be possible to squeeze a little more performance from the parser but I think we are close to the point where further changes are going to really impact readability of the code. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: svn commit: r1621731 - in /tomcat/trunk: java/org/apache/catalina/core/StandardContext.java test/org/apache/catalina/core/TestStandardContext.java webapps/docs/changelog.xml
Am 01.09.2014 um 12:40 schrieb ma...@apache.org: Author: markt Date: Mon Sep 1 10:40:33 2014 New Revision: 1621731 URL: http://svn.apache.org/r1621731 Log: Correct the return value for StandardContext.getResourceOnlyServlets() so that multiple names are separated by commas. Identified by Coverity Scan and fixed based on a patch by Felix Schumacher. Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java tomcat/trunk/test/org/apache/catalina/core/TestStandardContext.java tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1621731r1=1621730r2=1621731view=diff == --- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Mon Sep 1 10:40:33 2014 @@ -918,7 +918,9 @@ public class StandardContext extends Con StringBuilder result = new StringBuilder(); boolean first = true; for (String servletName : resourceOnlyServlets) { -if (!first) { +if (first) { +first = false; +} else { result.append(','); } result.append(servletName); Modified: tomcat/trunk/test/org/apache/catalina/core/TestStandardContext.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/core/TestStandardContext.java?rev=1621731r1=1621730r2=1621731view=diff == --- tomcat/trunk/test/org/apache/catalina/core/TestStandardContext.java (original) +++ tomcat/trunk/test/org/apache/catalina/core/TestStandardContext.java Mon Sep 1 10:40:33 2014 @@ -71,6 +71,7 @@ import org.apache.tomcat.util.descriptor import org.apache.tomcat.util.descriptor.web.FilterMap; import org.apache.tomcat.util.descriptor.web.LoginConfig; + public class TestStandardContext extends TomcatBaseTest { private static final String REQUEST = @@ -945,4 +946,13 @@ public class TestStandardContext extends Assert.assertNull(realPath); } + +@Test +public void testBug56903() { +Context context = new StandardContext(); + +String list = a,b,c; +context.setResourceOnlyServlets(list); +Assert.assertEquals(list, context.getResourceOnlyServlets()); Testcase: testBug56903 took 0,004 sec FAILED expected:[a,b,c] but was:[b,c,a] junit.framework.AssertionFailedError: expected:[a,b,c] but was:[b,c,a] at org.apache.catalina.core.TestStandardContext.testBug56903(TestStandardContext.java:956) The List ist constructed from a set, which is not sorted, so a simple List.equals seems to be not enough. Sorry Felix +} } Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1621731r1=1621730r2=1621731view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Mon Sep 1 10:40:33 2014 @@ -57,6 +57,12 @@ reported by Coverity Scan. Based on a patch provided by Felix Schumacher. (markt) /fix + fix +bug56903/bug: Correct the return value for +codeStandardContext.getResourceOnlyServlets()/code so that multiple +names are separated by commas. Identified by Coverity Scan and fixed +based on a patch by Felix Schumacher. (markt) + /fix /changelog /subsection /section - 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
svn commit: r1621861 - in /tomcat/trunk/java/org/apache/tomcat/util/http/parser: AcceptLanguage.java Authorization.java HttpParser.java MediaType.java SkipResult.java
Author: markt Date: Mon Sep 1 18:25:01 2014 New Revision: 1621861 URL: http://svn.apache.org/r1621861 Log: Extract SkipResult to a separate class. Added: tomcat/trunk/java/org/apache/tomcat/util/http/parser/SkipResult.java (with props) Modified: tomcat/trunk/java/org/apache/tomcat/util/http/parser/AcceptLanguage.java tomcat/trunk/java/org/apache/tomcat/util/http/parser/Authorization.java tomcat/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java tomcat/trunk/java/org/apache/tomcat/util/http/parser/MediaType.java Modified: tomcat/trunk/java/org/apache/tomcat/util/http/parser/AcceptLanguage.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/parser/AcceptLanguage.java?rev=1621861r1=1621860r2=1621861view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/http/parser/AcceptLanguage.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/parser/AcceptLanguage.java Mon Sep 1 18:25:01 2014 @@ -63,8 +63,8 @@ public class AcceptLanguage { // See if a quality has been provided double quality = 1; -HttpParser.SkipResult lookForSemiColon = HttpParser.skipConstant(input, ;); -if (lookForSemiColon == HttpParser.SkipResult.FOUND) { +SkipResult lookForSemiColon = HttpParser.skipConstant(input, ;); +if (lookForSemiColon == SkipResult.FOUND) { quality = HttpParser.readWeight(input, ','); } Modified: tomcat/trunk/java/org/apache/tomcat/util/http/parser/Authorization.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/parser/Authorization.java?rev=1621861r1=1621860r2=1621861view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/http/parser/Authorization.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/parser/Authorization.java Mon Sep 1 18:25:01 2014 @@ -78,7 +78,7 @@ public class Authorization { MapString,String result = new HashMap(); -if (HttpParser.skipConstant(input, Digest) != HttpParser.SkipResult.FOUND) { +if (HttpParser.skipConstant(input, Digest) != SkipResult.FOUND) { return null; } // All field names are valid tokens @@ -87,7 +87,7 @@ public class Authorization { return null; } while (!field.equals()) { -if (HttpParser.skipConstant(input, =) != HttpParser.SkipResult.FOUND) { +if (HttpParser.skipConstant(input, =) != SkipResult.FOUND) { return null; } String value; @@ -127,7 +127,7 @@ public class Authorization { } result.put(field, value); -if (HttpParser.skipConstant(input, ,) == HttpParser.SkipResult.NOT_FOUND) { +if (HttpParser.skipConstant(input, ,) == SkipResult.NOT_FOUND) { return null; } field = HttpParser.readToken(input); Modified: tomcat/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java?rev=1621861r1=1621860r2=1621861view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java Mon Sep 1 18:25:01 2014 @@ -398,11 +398,4 @@ public class HttpParser { return SkipResult.FOUND; } } - - -static enum SkipResult { -FOUND, -NOT_FOUND, -EOF -} } Modified: tomcat/trunk/java/org/apache/tomcat/util/http/parser/MediaType.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/parser/MediaType.java?rev=1621861r1=1621860r2=1621861view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/http/parser/MediaType.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/parser/MediaType.java Mon Sep 1 18:25:01 2014 @@ -138,7 +138,7 @@ public class MediaType { return null; } -if (HttpParser.skipConstant(input, /) == HttpParser.SkipResult.NOT_FOUND) { +if (HttpParser.skipConstant(input, /) == SkipResult.NOT_FOUND) { return null; } @@ -150,15 +150,15 @@ public class MediaType { LinkedHashMapString,String parameters = new LinkedHashMap(); -HttpParser.SkipResult lookForSemiColon = HttpParser.skipConstant(input, ;); -if (lookForSemiColon == HttpParser.SkipResult.NOT_FOUND) { +SkipResult lookForSemiColon = HttpParser.skipConstant(input, ;); +if (lookForSemiColon == SkipResult.NOT_FOUND) {
svn commit: r1621863 - /tomcat/trunk/java/org/apache/tomcat/util/http/ServerCookies.java
Author: markt Date: Mon Sep 1 18:25:10 2014 New Revision: 1621863 URL: http://svn.apache.org/r1621863 Log: Remove unnecessary code Modified: tomcat/trunk/java/org/apache/tomcat/util/http/ServerCookies.java Modified: tomcat/trunk/java/org/apache/tomcat/util/http/ServerCookies.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/ServerCookies.java?rev=1621863r1=1621862r2=1621863view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/http/ServerCookies.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/ServerCookies.java Mon Sep 1 18:25:10 2014 @@ -65,9 +65,7 @@ public class ServerCookies { public void recycle() { for (int i = 0; i cookieCount; i++) { -if (serverCookies[i] != null) { -serverCookies[i].recycle(); -} +serverCookies[i].recycle(); } cookieCount = 0; } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1621862 - in /tomcat/trunk/java/org/apache/tomcat/util/http: Cookies.java ServerCookies.java
Author: markt Date: Mon Sep 1 18:25:06 2014 New Revision: 1621862 URL: http://svn.apache.org/r1621862 Log: Refactor array of server cookies into separate class. Added: tomcat/trunk/java/org/apache/tomcat/util/http/ServerCookies.java (with props) Modified: tomcat/trunk/java/org/apache/tomcat/util/http/Cookies.java Modified: tomcat/trunk/java/org/apache/tomcat/util/http/Cookies.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/Cookies.java?rev=1621862r1=1621861r2=1621862view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/http/Cookies.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/Cookies.java Mon Sep 1 18:25:06 2014 @@ -46,8 +46,7 @@ public final class Cookies { // expected average number of cookies per request public static final int INITIAL_SIZE = 4; -private ServerCookie scookies[] = new ServerCookie[INITIAL_SIZE]; -private int cookieCount = 0; +private ServerCookies scookies = new ServerCookies(INITIAL_SIZE); private boolean unprocessed = true; private final MimeHeaders headers; @@ -66,12 +65,7 @@ public final class Cookies { public void recycle() { -for (int i = 0; i cookieCount; i++) { -if (scookies[i] != null) { -scookies[i].recycle(); -} -} -cookieCount = 0; +scookies.recycle(); unprocessed = true; } @@ -100,7 +94,7 @@ public final class Cookies { // This will trigger cookie processing getCookieCount(); } -return scookies[idx]; +return scookies.getCookie(idx); } @@ -109,29 +103,7 @@ public final class Cookies { unprocessed = false; processCookies(headers); } -return cookieCount; -} - - -/** - * Register a new, initialized cookie. Cookies are recycled, and most of the - * time an existing ServerCookie object is returned. The caller can set the - * name/value and attributes for the cookie. - */ -private ServerCookie addCookie() { -if (cookieCount = scookies.length) { -ServerCookie scookiesTmp[] = new ServerCookie[2*cookieCount]; -System.arraycopy(scookies, 0, scookiesTmp, 0, cookieCount); -scookies = scookiesTmp; -} - -ServerCookie c = scookies[cookieCount]; -if (c == null) { -c = new ServerCookie(); -scookies[cookieCount] = c; -} -cookieCount++; -return c; +return scookies.getCookieCount(); } @@ -471,7 +443,7 @@ public final class Cookies { continue; } -sc = addCookie(); +sc = scookies.addCookie(); sc.setVersion( version ); sc.getName().setBytes( bytes, nameStart, nameEnd-nameStart); Added: tomcat/trunk/java/org/apache/tomcat/util/http/ServerCookies.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/ServerCookies.java?rev=1621862view=auto == --- tomcat/trunk/java/org/apache/tomcat/util/http/ServerCookies.java (added) +++ tomcat/trunk/java/org/apache/tomcat/util/http/ServerCookies.java Mon Sep 1 18:25:06 2014 @@ -0,0 +1,74 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.tomcat.util.http; + +/** + * This class is not thread-safe. + */ +public class ServerCookies { + +private ServerCookie[] serverCookies; + +private int cookieCount = 0; + + +public ServerCookies(int initialSize) { +serverCookies = new ServerCookie[initialSize]; +} + + +/** + * Register a new, initialized cookie. Cookies are recycled, and most of the + * time an existing ServerCookie object is returned. The caller can set the + * name/value and attributes for the cookie. + */ +public ServerCookie addCookie() { +if (cookieCount = serverCookies.length) { +ServerCookie scookiesTmp[] = new
svn commit: r1621868 - in /tomcat/trunk/java/org/apache/tomcat/util/http/parser: Cookie.java LocalStrings.properties
Author: markt Date: Mon Sep 1 18:59:08 2014 New Revision: 1621868 URL: http://svn.apache.org/r1621868 Log: Add initial implementation of RFC6265/RFC2109 cookie parser Added: tomcat/trunk/java/org/apache/tomcat/util/http/parser/Cookie.java (with props) tomcat/trunk/java/org/apache/tomcat/util/http/parser/LocalStrings.properties (with props) Added: tomcat/trunk/java/org/apache/tomcat/util/http/parser/Cookie.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/parser/Cookie.java?rev=1621868view=auto == --- tomcat/trunk/java/org/apache/tomcat/util/http/parser/Cookie.java (added) +++ tomcat/trunk/java/org/apache/tomcat/util/http/parser/Cookie.java Mon Sep 1 18:59:08 2014 @@ -0,0 +1,425 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.tomcat.util.http.parser; + +import java.nio.charset.StandardCharsets; + +import org.apache.juli.logging.Log; +import org.apache.juli.logging.LogFactory; +import org.apache.tomcat.util.http.ServerCookie; +import org.apache.tomcat.util.http.ServerCookies; +import org.apache.tomcat.util.log.UserDataHelper; +import org.apache.tomcat.util.res.StringManager; + + +/** + * Cookie header parser based on RFC6265 and RFC2109. + * br/ + * The parsing of cookies using RFC6265 is more relaxed that the specification + * in the following ways: + * ul + * liValues 0x80 to 0xFF are permitted in cookie-octet to support the use of + * UTF-8 in cookie values as used by HTML 5./li + * liFor cookies without a value, the '=' is not required after the name as + * some browsers do not sent it./li + * /ul + */ +public class Cookie { + +private static final Log log = LogFactory.getLog(Cookie.class); +private static final UserDataHelper invalidCookieVersionLog = new UserDataHelper(log); +private static final UserDataHelper invalidCookieLog = new UserDataHelper(log); +private static final StringManager sm = +StringManager.getManager(org.apache.tomcat.util.http.parser); + +private static final boolean isCookieOctet[] = new boolean[256]; +private static final byte[] VERSION_BYTES = $Version.getBytes(StandardCharsets.ISO_8859_1); +private static final byte[] EMPTY_BYTES = new byte[0]; +private static final byte TAB_BYTE = (byte) 0x09; +private static final byte SPACE_BYTE = (byte) 0x20; +private static final byte QUOTE_BYTE = (byte) 0x22; +private static final byte COMMA_BYTE = (byte) 0x2C; +private static final byte SEMICOLON_BYTE = (byte) 0x3B; +private static final byte EQUALS_BYTE = (byte) 0x3D; +private static final byte SLASH_BYTE = (byte) 0x5C; +private static final byte DEL_BYTE = (byte) 0x7F; + + +static { +// %x21 / %x23-2B / %x2D-3A / %x3C-5B / %x5D-7E (RFC6265) +// %x80 to %xFF(UTF-8) +for (int i = 0; i 256; i++) { +if (i 0x21 || i == QUOTE_BYTE || i == COMMA_BYTE || +i == SEMICOLON_BYTE || i == SLASH_BYTE || i == DEL_BYTE) { +isCookieOctet[i] = false; +} else { +isCookieOctet[i] = true; +} +} +} + + +private Cookie() { +// Hide default constructor +} + + +public static void parseCookie(byte[] bytes, int offset, int len, +ServerCookies serverCookies) { + +// ByteBuffer is used throughout this parser as it allows the byte[] +// and position information to be easily passed between parsing methods +ByteBuffer bb = new ByteBuffer(bytes, offset, len); + +// Using RFC6265 parsing rules, check to see if the header starts with a +// version marker. An RFC2109 version marker may be read using RFC6265 +// parsing rules. If version 1, use RFC2109. Else use RFC6265. + +skipLWS(bb); + +// Record position in case we need to return. +int mark = bb.position(); + +SkipResult skipResult = skipBytes(bb, VERSION_BYTES); +if (skipResult != SkipResult.FOUND) { +// No need to reset position since skipConstant() will have done it +
svn commit: r1621875 - /tomcat/trunk/java/org/apache/tomcat/util/http/parser/Cookie.java
Author: markt Date: Mon Sep 1 19:48:06 2014 New Revision: 1621875 URL: http://svn.apache.org/r1621875 Log: Fix handling of invalid cookie versions Modified: tomcat/trunk/java/org/apache/tomcat/util/http/parser/Cookie.java Modified: tomcat/trunk/java/org/apache/tomcat/util/http/parser/Cookie.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/parser/Cookie.java?rev=1621875r1=1621874r2=1621875view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/http/parser/Cookie.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/parser/Cookie.java Mon Sep 1 19:48:06 2014 @@ -115,10 +115,17 @@ public class Cookie { skipLWS(bb); ByteBuffer value = readCookieValue(bb); -if (value != null value.remaining() == 1 value.get() == (byte) 49) { -// $Version=1 - RFC2109 -parseCookieRfc2109(bb, serverCookies); -return; +if (value != null value.remaining() == 1) { +if (value.get() == (byte) 49) { +// $Version=1 - RFC2109 +parseCookieRfc2109(bb, serverCookies); +return; +} else { +// Unrecognised version. +// Ignore this header. +value.rewind(); +logInvalidVersion(value); +} } else { // Unrecognised version. // Ignore this header. @@ -350,8 +357,8 @@ public class Cookie { if (value == null) { version = sm.getString(cookie.valueNotPresent); } else { -version = new String(value.bytes, value.position(), value.limit(), -StandardCharsets.UTF_8); +version = new String(value.bytes, value.position(), +value.limit() - value.position(), StandardCharsets.UTF_8); } String message = sm.getString(cookie.invalidCookieVersion, version); switch (logMode) { - 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.12
Hi, 2014-08-30 18:34 GMT+03:00 Mark Thomas ma...@apache.org: The proposed Apache Tomcat 8.0.12 release is now available for voting. The main changes since 8.0.11 are: - Fix a regression in the processing of includes and forwards when Contexts had been reloaded. - Session ID generation is now extensible - Extend support for the permessage-deflate extension to compression of outgoing messages on the server side There is also the usual collection of bug fixes, new features and performance improvements. For full details, see the changelog: http://svn.us.apache.org/repos/asf/tomcat/trunk/webapps/docs/changelog.xml It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/tomcat-8/v8.0.12/ The Maven staging repo is: https://repository.apache.org/content/repositories/orgapachetomcat-1021/ The svn tag is: http://svn.apache.org/repos/asf/tomcat/tc8.0.x/tags/TOMCAT_8_0_12/ The proposed 8.0.12 release is: [ ] Broken - do not release [X] Stable - go ahead and release as 8.0.12 Checked with applications that use the new specifications features. Regards, Violeta - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1621876 - /tomcat/trunk/java/org/apache/tomcat/util/http/parser/Cookie.java
Author: markt Date: Mon Sep 1 19:58:37 2014 New Revision: 1621876 URL: http://svn.apache.org/r1621876 Log: Fix copy/paste error Modified: tomcat/trunk/java/org/apache/tomcat/util/http/parser/Cookie.java Modified: tomcat/trunk/java/org/apache/tomcat/util/http/parser/Cookie.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/parser/Cookie.java?rev=1621876r1=1621875r2=1621876view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/http/parser/Cookie.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/parser/Cookie.java Mon Sep 1 19:58:37 2014 @@ -205,7 +205,7 @@ public class Cookie { private static void skipUntilSemiColon(ByteBuffer bb) { while(bb.hasRemaining()) { -if (bb.get() == EQUALS_BYTE) { +if (bb.get() == SEMICOLON_BYTE) { break; } } @@ -333,7 +333,7 @@ public class Cookie { private static void logInvalidHeader(ByteBuffer bb) { UserDataHelper.Mode logMode = invalidCookieLog.getNextMode(); if (logMode != null) { -String headerValue = new String(bb.array(), bb.position(), bb.limit(), +String headerValue = new String(bb.array(), bb.position(), bb.limit() - bb.position(), StandardCharsets.UTF_8); String message = sm.getString(cookie.invalidCookieValue, headerValue); switch (logMode) { - 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-bio (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-bio has an issue affecting its community integration. This issue affects 1 projects. 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-bio : 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-bio/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -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. -INFO- Failed with reason build failed -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-trunk/output/logs-BIO -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-trunk/output/test-tmp-BIO/logs The following work was performed: http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-test-bio/gump_work/build_tomcat-trunk_tomcat-trunk-test-bio.html Work Name: build_tomcat-trunk_tomcat-trunk-test-bio (Type: Build) Work ended in a state of : Failed Elapsed: 24 mins 46 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/target/junit-4.12-SNAPSHOT.jar -Dobjenesis.jar=/srv/gump/public/workspace/objenesis/main/target/objenesis-2.2-SNAPSHOT.jar -Dtest.reports=output/logs-BIO -Dtomcat-native.tar.gz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20140901-native-src.tar.gz -Dexamples.sources.skip=true -Djdt.jar=/srv/gump/packages/eclipse/plugins/P20140317-1600/ecj-P20140317-1600.jar -Dcommons-daemon.jar=/srv/gump/public/workspace/apache-commons/daemon/dist/commons-daemon-20140901.jar -Dcommons-daemon.native.src.tgz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20140901-native-src.tar.gz -Dtest.temp=output/test-tmp-BIO -Dtest.accesslog=true -Dexecute.test.nio=false -Dtest.openssl.path=/srv/gump/public/workspace/openssl/dest-20140901/bin/ openssl -Dexecute.test.apr=false -Dexecute.test.bio=true -Dexecute.test.nio2=false -Deasymock.jar=/srv/gump/public/workspace/easymock/easymock/target/easymock-3.3-SNAPSHOT.jar -Dhamcrest.jar=/srv/gump/public/workspace/hamcrest/build/hamcrest-all-20140901.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/servlet-api.ja r:/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/bu ild/lib/tomcat-spdy.jar:/srv/gump/public/workspace
[GUMP@vmgump]: Project tomcat-trunk-test-nio2 (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-nio2 has an issue affecting its community integration. This issue affects 1 projects. 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-nio2 : 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-nio2/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -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. -INFO- Failed with reason build failed -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-trunk/output/logs-NIO2 -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-trunk/output/test-tmp-NIO2/logs The following work was performed: http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-test-nio2/gump_work/build_tomcat-trunk_tomcat-trunk-test-nio2.html Work Name: build_tomcat-trunk_tomcat-trunk-test-nio2 (Type: Build) Work ended in a state of : Failed Elapsed: 26 mins 27 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/target/junit-4.12-SNAPSHOT.jar -Dobjenesis.jar=/srv/gump/public/workspace/objenesis/main/target/objenesis-2.2-SNAPSHOT.jar -Dtest.reports=output/logs-NIO2 -Dtomcat-native.tar.gz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20140901-native-src.tar.gz -Dexamples.sources.skip=true -Djdt.jar=/srv/gump/packages/eclipse/plugins/P20140317-1600/ecj-P20140317-1600.jar -Dcommons-daemon.jar=/srv/gump/public/workspace/apache-commons/daemon/dist/commons-daemon-20140901.jar -Dcommons-daemon.native.src.tgz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20140901-native-src.tar.gz -Dtest.temp=output/test-tmp-NIO2 -Dtest.accesslog=true -Dexecute.test.nio=false -Dtest.openssl.path=/srv/gump/public/workspace/openssl/dest-20140901/bi n/openssl -Dexecute.test.apr=false -Dexecute.test.bio=false -Dexecute.test.nio2=true -Deasymock.jar=/srv/gump/public/workspace/easymock/easymock/target/easymock-3.3-SNAPSHOT.jar -Dhamcrest.jar=/srv/gump/public/workspace/hamcrest/build/hamcrest-all-20140901.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/servlet-api.ja r:/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/bu ild/lib/tomcat-spdy.jar:/srv/gump/public
[GUMP@vmgump]: Project tomcat-trunk-test-nio (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-nio has an issue affecting its community integration. This issue affects 1 projects. 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-nio : 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-nio/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -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. -INFO- Failed with reason build failed -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-trunk/output/logs-NIO -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-trunk/output/test-tmp-NIO/logs The following work was performed: http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-test-nio/gump_work/build_tomcat-trunk_tomcat-trunk-test-nio.html Work Name: build_tomcat-trunk_tomcat-trunk-test-nio (Type: Build) Work ended in a state of : Failed Elapsed: 25 mins 30 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/target/junit-4.12-SNAPSHOT.jar -Dobjenesis.jar=/srv/gump/public/workspace/objenesis/main/target/objenesis-2.2-SNAPSHOT.jar -Dtest.reports=output/logs-NIO -Dtomcat-native.tar.gz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20140901-native-src.tar.gz -Dexamples.sources.skip=true -Djdt.jar=/srv/gump/packages/eclipse/plugins/P20140317-1600/ecj-P20140317-1600.jar -Dcommons-daemon.jar=/srv/gump/public/workspace/apache-commons/daemon/dist/commons-daemon-20140901.jar -Dcommons-daemon.native.src.tgz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20140901-native-src.tar.gz -Dtest.temp=output/test-tmp-NIO -Dtest.accesslog=true -Dexecute.test.nio=true -Dtest.openssl.path=/srv/gump/public/workspace/openssl/dest-20140901/bin/o penssl -Dexecute.test.apr=false -Dexecute.test.bio=false -Dexecute.test.nio2=false -Deasymock.jar=/srv/gump/public/workspace/easymock/easymock/target/easymock-3.3-SNAPSHOT.jar -Dhamcrest.jar=/srv/gump/public/workspace/hamcrest/build/hamcrest-all-20140901.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/servlet-api.ja r:/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/bu ild/lib/tomcat-spdy.jar:/srv/gump/public/workspace
Re: [GUMP@vmgump]: Project tomcat-trunk-test-bio (in module tomcat-trunk) failed
2014-09-02 0:48 GMT+04:00 Bill Barker billbar...@apache.org: 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-bio has an issue affecting its community integration. This issue affects 1 projects. 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-bio : 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-bio/index.html There are two failed tests here: 1) TEST-org.apache.catalina.core.TestStandardContext.BIO.txt.html Testcase: testBug56903 took 0.004 sec FAILED expected:[a,b,c] but was:[b,c,a] junit.framework.AssertionFailedError: expected:[a,b,c] but was:[b,c,a] at org.apache.catalina.core.TestStandardContext.testBug56903(TestStandardContext.java:956) A new test. This issue was already reported by Felix Schumacher in Re: r1621731 2) TEST-org.apache.catalina.security.TestSecurityClassLoad.BIO.txt.html Testcase: testLoad took 0.058 sec Caused an ERROR org.apache.tomcat.util.http.parser.HttpParser$SkipResult java.lang.ClassNotFoundException: org.apache.tomcat.util.http.parser.HttpParser$SkipResult at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at org.apache.catalina.security.SecurityClassLoad.loadTomcatPackage(SecurityClassLoad.java:279) at org.apache.catalina.security.SecurityClassLoad.securityClassLoad(SecurityClassLoad.java:52) at org.apache.catalina.security.TestSecurityClassLoad.testLoad(TestSecurityClassLoad.java:29) Catches a bug from renaming the class in r1621861 - 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-apr (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-apr has an issue affecting its community integration. This issue affects 1 projects. 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-apr : 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-apr/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -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. -INFO- Failed with reason build failed -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-trunk/output/logs-APR -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-trunk/output/test-tmp-APR/logs The following work was performed: http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-test-apr/gump_work/build_tomcat-trunk_tomcat-trunk-test-apr.html Work Name: build_tomcat-trunk_tomcat-trunk-test-apr (Type: Build) Work ended in a state of : Failed Elapsed: 27 mins 58 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/target/junit-4.12-SNAPSHOT.jar -Dobjenesis.jar=/srv/gump/public/workspace/objenesis/main/target/objenesis-2.2-SNAPSHOT.jar -Dtest.reports=output/logs-APR -Dtomcat-native.tar.gz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20140901-native-src.tar.gz -Dexamples.sources.skip=true -Djdt.jar=/srv/gump/packages/eclipse/plugins/P20140317-1600/ecj-P20140317-1600.jar -Dtest.apr.loc=/srv/gump/public/workspace/tomcat-native/dest-20140901/lib -Dcommons-daemon.jar=/srv/gump/public/workspace/apache-commons/daemon/dist/commons-daemon-20140901.jar -Dcommons-daemon.native.src.tgz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20140901-native-src.tar.gz -Dtest.temp=output/test-tmp-APR -Dtest.accesslog=true -Dexecute.test.nio=false -Dtest.openssl.path=/srv/gump/public/workspace/openssl/dest-20140901/bin/openssl -Dexecute.test.apr=true -Dexecute.test.bio=false -Dexecute.test.nio2=false -Deasymock.jar=/srv/gump/public/workspace/easymock/easymock/target/easymock-3.3-SNAPSHOT.jar -Dhamcrest.jar=/srv/gump/public/workspace/hamcrest/build/hamcrest-all-20140901.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/servlet-api.ja r:/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
[GUMP@vmgump]: Project tomcat-trunk-test-bio (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-bio has an issue affecting its community integration. This issue affects 1 projects, and has been outstanding for 2 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-bio : 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-bio/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -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. -INFO- Failed with reason build failed -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-trunk/output/logs-BIO -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-trunk/output/test-tmp-BIO/logs The following work was performed: http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-test-bio/gump_work/build_tomcat-trunk_tomcat-trunk-test-bio.html Work Name: build_tomcat-trunk_tomcat-trunk-test-bio (Type: Build) Work ended in a state of : Failed Elapsed: 24 mins 34 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/target/junit-4.12-SNAPSHOT.jar -Dobjenesis.jar=/srv/gump/public/workspace/objenesis/main/target/objenesis-2.2-SNAPSHOT.jar -Dtest.reports=output/logs-BIO -Dtomcat-native.tar.gz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20140902-native-src.tar.gz -Dexamples.sources.skip=true -Djdt.jar=/srv/gump/packages/eclipse/plugins/P20140317-1600/ecj-P20140317-1600.jar -Dcommons-daemon.jar=/srv/gump/public/workspace/apache-commons/daemon/dist/commons-daemon-20140902.jar -Dcommons-daemon.native.src.tgz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20140902-native-src.tar.gz -Dtest.temp=output/test-tmp-BIO -Dtest.accesslog=true -Dexecute.test.nio=false -Dtest.openssl.path=/srv/gump/public/workspace/openssl/dest-20140902/bin/ openssl -Dexecute.test.apr=false -Dexecute.test.bio=true -Dexecute.test.nio2=false -Deasymock.jar=/srv/gump/public/workspace/easymock/easymock/target/easymock-3.3-SNAPSHOT.jar -Dhamcrest.jar=/srv/gump/public/workspace/hamcrest/build/hamcrest-all-20140902.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/servlet-api.ja r:/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/bu
[GUMP@vmgump]: Project tomcat-trunk-test-nio (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-nio has an issue affecting its community integration. This issue affects 1 projects, and has been outstanding for 2 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-nio : 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-nio/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -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. -INFO- Failed with reason build failed -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-trunk/output/logs-NIO -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-trunk/output/test-tmp-NIO/logs The following work was performed: http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-test-nio/gump_work/build_tomcat-trunk_tomcat-trunk-test-nio.html Work Name: build_tomcat-trunk_tomcat-trunk-test-nio (Type: Build) Work ended in a state of : Failed Elapsed: 25 mins 20 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/target/junit-4.12-SNAPSHOT.jar -Dobjenesis.jar=/srv/gump/public/workspace/objenesis/main/target/objenesis-2.2-SNAPSHOT.jar -Dtest.reports=output/logs-NIO -Dtomcat-native.tar.gz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20140902-native-src.tar.gz -Dexamples.sources.skip=true -Djdt.jar=/srv/gump/packages/eclipse/plugins/P20140317-1600/ecj-P20140317-1600.jar -Dcommons-daemon.jar=/srv/gump/public/workspace/apache-commons/daemon/dist/commons-daemon-20140902.jar -Dcommons-daemon.native.src.tgz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20140902-native-src.tar.gz -Dtest.temp=output/test-tmp-NIO -Dtest.accesslog=true -Dexecute.test.nio=true -Dtest.openssl.path=/srv/gump/public/workspace/openssl/dest-20140902/bin/o penssl -Dexecute.test.apr=false -Dexecute.test.bio=false -Dexecute.test.nio2=false -Deasymock.jar=/srv/gump/public/workspace/easymock/easymock/target/easymock-3.3-SNAPSHOT.jar -Dhamcrest.jar=/srv/gump/public/workspace/hamcrest/build/hamcrest-all-20140902.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/servlet-api.ja r:/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/bu
[GUMP@vmgump]: Project tomcat-trunk-test-apr (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-apr has an issue affecting its community integration. This issue affects 1 projects, and has been outstanding for 2 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-apr : 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-apr/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -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. -INFO- Failed with reason build failed -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-trunk/output/logs-APR -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-trunk/output/test-tmp-APR/logs The following work was performed: http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-test-apr/gump_work/build_tomcat-trunk_tomcat-trunk-test-apr.html Work Name: build_tomcat-trunk_tomcat-trunk-test-apr (Type: Build) Work ended in a state of : Failed Elapsed: 27 mins 11 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/target/junit-4.12-SNAPSHOT.jar -Dobjenesis.jar=/srv/gump/public/workspace/objenesis/main/target/objenesis-2.2-SNAPSHOT.jar -Dtest.reports=output/logs-APR -Dtomcat-native.tar.gz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20140902-native-src.tar.gz -Dexamples.sources.skip=true -Djdt.jar=/srv/gump/packages/eclipse/plugins/P20140317-1600/ecj-P20140317-1600.jar -Dtest.apr.loc=/srv/gump/public/workspace/tomcat-native/dest-20140902/lib -Dcommons-daemon.jar=/srv/gump/public/workspace/apache-commons/daemon/dist/commons-daemon-20140902.jar -Dcommons-daemon.native.src.tgz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20140902-native-src.tar.gz -Dtest.temp=output/test-tmp-APR -Dtest.accesslog=true -Dexecute.test.nio=false -Dtest.openssl.path=/srv/gump/public/workspace/openssl/dest-20140902/bin/openssl -Dexecute.test.apr=true -Dexecute.test.bio=false -Dexecute.test.nio2=false -Deasymock.jar=/srv/gump/public/workspace/easymock/easymock/target/easymock-3.3-SNAPSHOT.jar -Dhamcrest.jar=/srv/gump/public/workspace/hamcrest/build/hamcrest-all-20140902.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/servlet-api.ja