Java Mailing List Archive

http://www.junlu.com/

Home » dev-digest.tomcat »

dev Digest 28 Jul 2010 15:59:52 -0000 Issue 5299

dev-digest-help

2010-07-28


Author LoginPost Reply

dev Digest 28 Jul 2010 15:59:52 -0000 Issue 5299

Topics (messages 108118 through 108141):

DO NOT REPLY [Bug 49650] New: Streamline package.access property definition in catalina.properties
 108118 by: bugzilla.apache.org

Re: Project tomcat-trunk-validate (in module tomcat-trunk) failed
 108119 by: Bill Barker

svn commit: r979614 - in /tomcat/site/trunk: docs/index.html xdocs/index.xml
 108120 by: jfclere.apache.org

Re: svn commit: r964219 [1/2] - in /tomcat/trunk: java/org/apache/catalina/filters/ test/org/apache/catalina/filters/ webapps/docs/ webapps/docs/config/
 108121 by: Remy Maucherat

DO NOT REPLY [Bug 49655] New: ExpressionFactoryImpl.createMethodExpression() is not EL 2.2 Spec conform
 108122 by: bugzilla.apache.org

DO NOT REPLY [Bug 49655] ExpressionFactoryImpl.createMethodExpression() is not EL 2.2 Spec conform
 108123 by: bugzilla.apache.org

Re: svn commit: r966613 - in /tomcat/trunk: build.xml test/org/apache/catalina/startup/TestTomcatSSL.java test/org/apache/catalina/startup/TomcatBaseTest.java webapps/docs/changelog.xml
 108124 by: Mark Thomas
 108136 by: Mladen Turk
 108138 by: Rainer Jung
 108139 by: Mladen Turk

Re: More sources of Tomcat memory leaks
 108125 by: Mark Thomas

svn commit: r979844 - /tomcat/trunk/webapps/docs/changelog.xml
 108126 by: markt.apache.org

svn commit: r979849 - in /tomcat/trunk: build.properties.default build.xml
 108127 by: markt.apache.org

svn commit: r979850 - /tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java
 108128 by: markt.apache.org

svn commit: r979852 - /tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
 108129 by: markt.apache.org

svn commit: r979853 - /tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java
 108130 by: markt.apache.org

svn commit: r979854 - /tomcat/trunk/test/org/apache/catalina/startup/TestTomcatSSL.java
 108131 by: markt.apache.org

svn commit: r979865 - /tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
 108132 by: markt.apache.org

svn commit: r979872 - /tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
 108133 by: markt.apache.org

svn commit: r979896 - /tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
 108134 by: markt.apache.org

Re: svn commit: r966882 - in /tomcat/trunk: build.properties.default build.xml checkstyle.xml webapps/docs/changelog.xml
 108135 by: Bill Barker

DO NOT REPLY [Bug 49657] New: In CGI Mode, "executable" full path with spaces does not work
 108137 by: bugzilla.apache.org

Re: Project tomcat-trunk-test (in module tomcat-trunk) failed
 108140 by: Bill Barker

svn commit: r980106 - in /tomcat/trunk: build.properties.default build.xml
 108141 by: markt.apache.org

Administrivia:

---------------------------------------------------------------------
To post to the list, e-mail: dev@(protected)
To unsubscribe, e-mail: dev-digest-unsubscribe@(protected)
For additional commands, e-mail: dev-digest-help@(protected)

----------------------------------------------------------------------


Attachment: dev_108118.ezm (zipped)
https://issues.apache.org/bugzilla/show_bug.cgi?id=49650

      Summary: Streamline package.access property definition in
            catalina.properties
      Product: Tomcat 7
      Version: trunk
      Platform: All
    OS/Version: All
       Status: NEW
      Severity: enhancement
      Priority: P2
     Component: Catalina
    AssignedTo: dev@(protected)
    ReportedBy: owen.farrell@(protected)


Created an attachment (id=25804)
--> (https://issues.apache.org/bugzilla/attachment.cgi?id=25804)
catalina.properties Modifications

The package.access property defined in catalina.properties stipulates a
restrictions on both 'sun.' packages and 'sun.beans.' packages.

However, the latter restriction is implied based on the broader 'sun.' package
restriction.

Additionally, the failsafe field defined in
org.apache.catalina.security.SecurityConfig does not include sun.beans in the
default list of package access restrictions. I would think that the default
property file should match the failsafe SecurityConfig field.

--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


Attachment: dev_108119.ezm (zipped)
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 general@(protected).

Project tomcat-trunk-validate 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-validate : Java Servlet 3.0, Java Server Pages 2.2 & Expression Languag...


Full details are available at:
  http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-validate/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were provided:
-DEBUG- Dependency on checkstyle exists, no need to add for property checkstyle.jar.
-INFO- Failed with reason build failed



The following work was performed:
http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-validate/gump_work/build_tomcat-trunk_tomcat-trunk-validate.html
Work Name: build_tomcat-trunk_tomcat-trunk-validate (Type: Build)
Work ended in a state of : Failed
Elapsed: 2 secs
Command Line: /usr/lib/jvm/java-6-sun/bin/java -Djava.awt.headless=true org.apache.tools.ant.Main -Dgump.merge=/srv/gump/public/gump/work/merge.xml -Dbuild.sysclasspath=only -Dcheckstyle.jar=/srv/gump/public/workspace/checkstyle/target/dist/checkstyle-26072010/checkstyle-26072010.jar -Dexecute.validate=true validate
[Working Directory: /srv/gump/public/workspace/tomcat-trunk]
CLASSPATH: /usr/lib/jvm/java-6-sun/lib/tools.jar:/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-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/packages/junit3.8.1/junit.jar:/srv/gump/public/workspace/xml-commons/java/build/resolver.jar:/srv/gump/public/workspace/checkstyle/target/dist/checkstyle-26072010/checkstyle-26072010.jar:/srv/gump/public/workspace/checkstyle/target/dist/checkstyle-26072010/checkstyle-optional-26072010.jar:/srv/gump/packages/antlr/antlr-3.1.3.jar:/srv/gump/public/workspace/jakarta-regexp/build/jakarta-regexp-26072010.jar:/srv/gump/public/workspace/jakarta-bcel/target/bcel-5.3-SNAPSHOT.jar:/srv/gump/public/workspace/apache-commons/beanutils/dist/commons
-beanutils-26072010.jar:/srv/gump/public/workspace/apache-commons/cli/target/commons-cli-26072010.jar:/srv/gump/public/workspace/commons-collections-3.x/target/commons-collections-3.3-SNAPSHOT.jar:/srv/gump/public/workspace/apache-commons/logging/target/commons-logging-26072010.jar:/srv/gump/public/workspace/apache-commons/logging/target/commons-logging-api-26072010.jar:/srv/gump/packages/javamail-1.4/mail.jar:/srv/gump/packages/javamail-1.4/lib/mailapi.jar:/srv/gump/packages/jaf-1.1ea/activation.jar
---------------------------------------------
Buildfile: /srv/gump/public/workspace/tomcat-trunk/build.xml

download-validate:

proxyflags:

setproxy:

testexist:
  [echo] Testing for /srv/gump/public/workspace/checkstyle/target/dist/checkstyle-26072010/checkstyle-26072010.jar

downloadzip:

validate:

BUILD FAILED
/srv/gump/public/workspace/tomcat-trunk/build.xml:416: Unable to create a Checker: cannot initialize module FileTabCharacter - Unable to instantiate FileTabCharacter

Total time: 2 seconds
---------------------------------------------

To subscribe to this information via syndicated feeds:
- RSS: http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-validate/rss.xml
- Atom: http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-validate/atom.xml

============================== Gump Tracking Only ===
Produced by Gump version 2.3.
Gump Run 31001626072010, vmgump:vmgump-public:31001626072010
Gump E-mail Identifier (unique within run) #1.

--
Apache Gump
http://gump.apache.org/ [Instance: vmgump]


Attachment: dev_108120.ezm (zipped)
Author: jfclere
Date: Tue Jul 27 09:32:20 2010
New Revision: 979614

URL: http://svn.apache.org/viewvc?rev=979614&view=rev
Log:
Add a link to the Friday Schedule.

Modified:
  tomcat/site/trunk/docs/index.html
  tomcat/site/trunk/xdocs/index.xml

Modified: tomcat/site/trunk/docs/index.html
URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/index.html?rev=979614&r1=979613&r2=979614&view=diff
==============================================================================
--- tomcat/site/trunk/docs/index.html (original)
+++ tomcat/site/trunk/docs/index.html Tue Jul 27 09:32:20 2010
@@(protected)
innovations, emerging technologies, and more.</p>
<p>
The Tomcat Project Management Committee (PMC) have solicited session proposals from the
-Tomcat community and beyond. We have notified proposers of
-acceptance or rejection and will publish the track program shortly. The Tomcat track should
-take place on Thursday the 3rd and is a whole day track.
+Tomcat community and beyond.
+The Tomcat track will
+take place on <a href="http://na.apachecon.com/c/acna2010/schedule/2010/11/05">Friday the 5th</a> and is a whole day track.
Additionally we will have a meetup and/or sessions during the barcamp.
</p>
</blockquote>

Modified: tomcat/site/trunk/xdocs/index.xml
URL: http://svn.apache.org/viewvc/tomcat/site/trunk/xdocs/index.xml?rev=979614&r1=979613&r2=979614&view=diff
==============================================================================
--- tomcat/site/trunk/xdocs/index.xml (original)
+++ tomcat/site/trunk/xdocs/index.xml Tue Jul 27 09:32:20 2010
@@(protected)
innovations, emerging technologies, and more.</p>
<p>
The Tomcat Project Management Committee (PMC) have solicited session proposals from the
-Tomcat community and beyond. We have notified proposers of
-acceptance or rejection and will publish the track program shortly. The Tomcat track should
-take place on Thursday the 3rd and is a whole day track.
+Tomcat community and beyond.
+The Tomcat track will
+take place on <a href="http://na.apachecon.com/c/acna2010/schedule/2010/11/05">Friday the 5th</a> and is a whole day track.
Additionally we will have a meetup and/or sessions during the barcamp.
</p>
</section>




Attachment: dev_108121.ezm (zipped)
On Wed, 2010-07-14 at 22:11 +0000, markt@(protected):
> Author: markt
> Date: Wed Jul 14 22:11:30 2010
> New Revision: 964219
>
> URL: http://svn.apache.org/viewvc?rev=964219&view=rev
> Log:
> Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=48998
> Add the ExpiresFilter, a port of mod_expires
> Patch provided by Cyrille Le Clerc

Isn't the amount of logging high in this filter ? Esp in
getExpirationDate. I didn't try to run it, simply browsing through the
code.

Rémy




Attachment: dev_108122.ezm (zipped)
https://issues.apache.org/bugzilla/show_bug.cgi?id=49655

      Summary: ExpressionFactoryImpl.createMethodExpression() is not
            EL 2.2 Spec conform
      Product: Tomcat 7
      Version: 7.0.0
      Platform: All
    OS/Version: All
       Status: NEW
      Severity: major
      Priority: P2
     Component: Servlet & JSP API
    AssignedTo: dev@(protected)
    ReportedBy: sascha.gross@(protected)


org.apache.el.ExpressionFactoryImpl.createMethodExpression(ELContext context,
String expression, Class expectedReturnType, Class[] expectedParamTypes)

does not correctly impl EL Specification 2.2 (Maintenance Release 2 - December
10, 2009)

The spezfication say at site 72 (last paragraph):
expectedParamTypes - The expected parameter types for the method to be found.
Must be an array with no elements if there are no parameters expected. It is
illegal to pass null, unless the method is specified with arugments in the EL
expression, in which case these arguments are used for method selection, and
this parameter is ignored.

The part ", unless the method is specified...." was added in 2.2 and is not
implemented.

If i call the method with expectedParamTypes == null i get
NullPointerException,
although expression #{bean.sayHello('World')} has arguments.

The Sun 2.2.1-b04 el (com.sun.el.ExpressionFactoryImpl) has the same defect.
The
code looks identical.
JUEL 2.2.1 (http://juel.sourceforge.net/) works fine.

--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


Attachment: dev_108123.ezm (zipped)
https://issues.apache.org/bugzilla/show_bug.cgi?id=49655

--- Comment #1 from Sascha Gro <sascha.gross@(protected) ---
Bug at Sun EL https://uel.dev.java.net/issues/show_bug.cgi?id=18

--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


Attachment: dev_108124.ezm (zipped)
On 22/07/2010 14:33, Mladen Turk wrote:
> On 07/22/2010 02:22 PM, Mark Thomas wrote:
>> On 22/07/2010 13:18, markt@(protected):
>>> Author: markt
>>> Date: Thu Jul 22 12:18:59 2010
>>> New Revision: 966613
>>>
>>> URL: http://svn.apache.org/viewvc?rev=966613&view=rev
>>> Log:
>>> Run all unit tests will all connectors
>>
>> When I enable this for the APR connector it always crashes the JVM on
>> shutdown. Is this a local issue or does this happen for anyone else?
>>
>
> It happens cause the Library.shutdown is called while
> resources are still in use.
>
> What happens if you disable the terminateAPR call?

Thanks. That was it. I changed the point where that was called and that
fixed it although it did then highlight a huge delay (~30s) to shutdown
the connector. I've got to the bottom of that too and am currently
testing a patch.

Thanks again for the pointer.

Mark




Attachment: dev_108136.ezm (zipped)
On 07/27/2010 08:00 PM, Mark Thomas wrote:
>>
>> What happens if you disable the terminateAPR call?
>
> Thanks. That was it. I changed the point where that was called and that
> fixed it although it did then highlight a huge delay (~30s) to shutdown
> the connector. I've got to the bottom of that too and am currently
> testing a patch.
>

One other reason for a potential core on shutdown is
the accept call. I did however some nasty tricks to prevent that
directly in native, but the bottom line is that acceptor
should be broken before its pool gets destroyed.

With APR 1.4.x there is a new pool pre-cleanup hook
that would allow to effectively handle those situations,
but it would also mean that native won't work on pre 1.4.x APR's

Regards
--
^TM


Attachment: dev_108138.ezm (zipped)
On 28.07.2010 07:44, Mladen Turk wrote:
> On 07/27/2010 08:00 PM, Mark Thomas wrote:
>>>
>>> What happens if you disable the terminateAPR call?
>>
>> Thanks. That was it. I changed the point where that was called and that
>> fixed it although it did then highlight a huge delay (~30s) to shutdown
>> the connector. I've got to the bottom of that too and am currently
>> testing a patch.
>>
>
> One other reason for a potential core on shutdown is
> the accept call. I did however some nasty tricks to prevent that
> directly in native, but the bottom line is that acceptor
> should be broken before its pool gets destroyed.
>
> With APR 1.4.x there is a new pool pre-cleanup hook
> that would allow to effectively handle those situations,
> but it would also mean that native won't work on pre 1.4.x APR's

If it is important, we could use that for TC 7 using a newer tcnative
branch?

Regards,

Rainer


Attachment: dev_108139.ezm (zipped)
On 07/28/2010 10:23 AM, Rainer Jung wrote:
>>
>> With APR 1.4.x there is a new pool pre-cleanup hook
>> that would allow to effectively handle those situations,
>> but it would also mean that native won't work on pre 1.4.x APR's
>
> If it is important, we could use that for TC 7 using a newer tcnative
> branch?
>

Well, actually I introduced the pre-cleanups with APR 1.3.x,
so we would need to increase the dependency to that APR version.

Newer branch would be appropriate only with APR 2.x dependency
in which case our native void be tcnative-2 not tcnative-1
thought.

Using pre-cleanups wouldn't require the api change, so
even tcnative-1 with pre 1.3.x APR would work
(in some cases performing core on shutdown obviously)




Regards
--
^TM


Attachment: dev_108125.ezm (zipped)
On 26/07/2010 09:16, Arjen Knibbe wrote:
>
> After being plaged by PermGen space OutOfMemoryErrors I came across an
> http://java.dzone.com/articles/memory-leak-protection-tomcat interview with
> Mark Thomas announcing the solution for these kinds of memory leaks. I
> upgraded Tomcat 6.0.26 on Solaris 5.8 machine and repeatedly deployed and
> undeployed my applications. However, the problem remained. After many weeks,
> I think I got it:

Many, many thanks for your efforts and for writing this up. This looks
great.

Please could you create a Bugzilla entry (against Tomact 7) for each
issue you identified so that this valuable work doesn't get forgotten about?

95% of the work should just be a copy and paste.

Again, many thanks.

Mark

PS How do you fancy trying to fix some of these issues?


> Besides the enhanced WebappClassLoader the new Tomcat uses a Listener
> org.apache.catalina.core.JreMemoryLeakPreventionListener, that has to be
> included in the server.xml file. By upgrading, I missed that.
>
> The class javax.security.auth.Policy has a static member contextClassLoader
> that can refer to the WebappClassLoader.
> from jhat:
> <h3>Static reference from
> javax.security.auth.Policy.contextClassLoader<small> (from
> ../object/0xdc035580 class javax.security.auth.Policy) </small> :</h3>--&gt;
> ../object/0xeb5a84a0 org.apache.catalina.loader.WebappClassLoader@(protected)
> (157 bytes)
> <br>
>
> The class sun.rmi.server.LoaderHander has a static member LoaderTable that
> can contain the WebappClassLoader when using RMI.
> From jhat:
> <h3>Static reference from sun.rmi.server.LoaderHandler.loaderTable<small>
> (from ../object/0xdbf2b258 class sun.rmi.server.LoaderHandler) </small>
> :</h3>--&gt; ../object/0xeb7b52d0 java.util.HashMap@(protected))
>
> (field table:)<br>
> --&gt; ../object/0xeb7b52f8 [Ljava.util.HashMap$Entry;@(protected)
> bytes)
> (Element 0 of [Ljava.util.HashMap$Entry;@(protected)>
> --&gt; ../object/0xeb7b5388 java.util.HashMap$Entry@(protected))
> (field key:)<br>
> --&gt; ../object/0xeb7b53a0
> sun.rmi.server.LoaderHandler$LoaderKey@(protected))
> (field parent:)<br>
> --&gt; ../object/0xeb5a84a0
> org.apache.catalina.loader.WebappClassLoader@(protected))
> <br>
>
> The clearReferencesThreadLocals() method of WebappClassLoader clears two
> Thread tables from references to the WebappClassLoader. When using axis, the
> tables can have a HashMap as key, which contains (possibly after many nested
> HashMaps) a class that was loaded by the WebappClassLoader.
> From jhat:
> <h3>Static reference from org.apache.catalina.ServerFactory.server<small>
> (from ../object/0xdba00178 class org.apache.catalina.ServerFactory)
> </small> :</h3>--&gt; ../object/0xeb400668
> org.apache.catalina.core.StandardServer@(protected))
> (field services:)<br>
> --&gt; ../object/0xeb4b4178 [Lorg.apache.catalina.Service;@(protected)
> bytes)
> (Element 0 of [Lorg.apache.catalina.Service;@(protected)>
> --&gt; ../object/0xeb4b4188
> org.apache.catalina.core.StandardService@(protected))
> (field container:)<br>
> --&gt; ../object/0xeb4b42c8
> org.apache.catalina.core.StandardEngine@(protected))
> (field thread:)<br>
> --&gt; ../object/0xeb58b6e0 java.lang.Thread@(protected))
> (field threadLocals:)<br>
> --&gt; ../object/0xeb58b800 java.lang.ThreadLocal$ThreadLocalMap@(protected)
> (20 bytes)
> (field table:)<br>
> --&gt; ../object/0xeb58b818
> [Ljava.lang.ThreadLocal$ThreadLocalMap$Entry;@(protected))
> (Element 8 of
> [Ljava.lang.ThreadLocal$ThreadLocalMap$Entry;@(protected)>
> --&gt; ../object/0xeb58b908
> java.lang.ThreadLocal$ThreadLocalMap$Entry@(protected))
> (field value:)<br>
>
> --&gt; ../object/0xeb58b928 java.util.HashMap@(protected))
> (field table:)<br>
> --&gt; ../object/0xeb58b950 [Ljava.util.HashMap$Entry;@(protected)
> bytes)
> (Element 0 of [Ljava.util.HashMap$Entry;@(protected)>
> --&gt; ../object/0xeb58bb40 java.util.HashMap$Entry@(protected))
>
> (field key:)<br>
> --&gt; ../object/0xdbe798a0 class org.apache.axis.types.Notation (84 bytes)
> (??:)<br>
> --&gt; ../object/0xeb5a84a0
> org.apache.catalina.loader.WebappClassLoader@(protected))
> <br>
>
> Suppose there is an web application A that uses a database and registers a
> Driver with the java.sql.DriverManager, and a web application B that doesn't
> use a database but has a jar file in its WEB-INF/lib directory that contains
> the same Driver. Suppose you unload webapplication B.
> Running the org.apache.catalina.loader.JdbcLeakPrevention class will
> actually register the Driver and leave it loaded! The cause is the way the
> DriverManager checks whether a ClassLoader has permission to load the
> Driver. It does that by calling ClassForName with the ClassLoader, which
> will load the class if the class has not been loaded by that ClassLoader.
> And loading a Driver triggers the Driver to register itself.
> Seems that the loop in org.apache.catalina.loader.JdbcLeakPrevention has to
> be run twice.
>
> I included the org.apache.catalina.core.JreMemoryLeakPreventionListener in
> my server.xml file.
> In the destroy method of my servlet, I did the following:
> <ul>
> <li>Set javax.security.auth.Policy.contextClassLoader to null if it
> referenced the WebappClassLoader.</li>
> <li>Iterates over the sun.rmi.server.LoaderHandler$LoaderKey items in
> sun.rmi.server.LoaderHandler, removing items whose parent field referred to
> the WebappClassLoader.</li>
> <li>Traverse Collections and Maps in the two java.lang.ThreadLocal table
> fields, clearing all deep references to the WebappClassLoader.</li>
> </ul>
> After that, my classes were unloaded after undeploy.
>
> Arjen





Attachment: dev_108126.ezm (zipped)
Author: markt
Date: Tue Jul 27 20:24:11 2010
New Revision: 979844

URL: http://svn.apache.org/viewvc?rev=979844&view=rev
Log:
Update 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=979844&r1=979843&r2=979844&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Tue Jul 27 20:24:11 2010
@@(protected) @@
     the build process. Start with no checks. Additional checks will be
     added as they are agreed. (markt)
    </add>
+    <update>
+     Updated to Ant 1.8.1. The build now requires a minimum of Ant 1.8.x.
+     (markt)
+    </update>
  </changelog>
 </subsection>
</section>




Attachment: dev_108127.ezm (zipped)
Author: markt
Date: Tue Jul 27 20:25:35 2010
New Revision: 979849

URL: http://svn.apache.org/viewvc?rev=979849&view=rev
Log:
Provide control over which connectors are used to run tests - helpful when (as now) only one of the connectors has issues

Modified:
  tomcat/trunk/build.properties.default
  tomcat/trunk/build.xml

Modified: tomcat/trunk/build.properties.default
URL: http://svn.apache.org/viewvc/tomcat/trunk/build.properties.default?rev=979849&r1=979848&r2=979849&view=diff
==============================================================================
--- tomcat/trunk/build.properties.default (original)
+++ tomcat/trunk/build.properties.default Tue Jul 27 20:25:35 2010
@@(protected)

# ----- Build control flags -----
execute.validate=false
+execute.test.bio=true
+execute.test.nio=true
+# Still requires APR/native library to be present
+execute.test.apr=true

# ----- Default Base Path for Dependent Packages -----
# Please note this path must be absolute, not relative,

Modified: tomcat/trunk/build.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/build.xml?rev=979849&r1=979848&r2=979849&view=diff
==============================================================================
--- tomcat/trunk/build.xml (original)
+++ tomcat/trunk/build.xml Tue Jul 27 20:25:35 2010
@@(protected) @@
 </target>
 
 <target name="test-bio" description="Runs the JUnit test cases for BIO"
-       depends="test-compile,deploy" >
+       depends="test-compile,deploy" if="${execute.test.bio}">
  <runtests protocol="org.apache.coyote.http11.Http11Protocol"
         extension=".BIO.txt" />
 </target>
 
 <target name="test-nio" description="Runs the JUnit test cases for NIO"
-       depends="test-compile,deploy" >
+       depends="test-compile,deploy" if="${execute.test.nio}">
  <runtests protocol="org.apache.coyote.http11.Http11NioProtocol"
         extension=".NIO.txt" />
 </target>
@@(protected) @@
         extension=".APR.txt" />
 </target>
 
- <target name="test-apr-exists" description="Checks for APR lib">
+ <target name="test-apr-exists" description="Checks for APR lib"
+       if="${execute.test.apr}">
  <available file="${tomcat.build}/bin/native" property="apr.exists" />
 </target>





Attachment: dev_108128.ezm (zipped)
Author: markt
Date: Tue Jul 27 20:26:14 2010
New Revision: 979850

URL: http://svn.apache.org/viewvc?rev=979850&view=rev
Log:
Prevent JVM crashes caused by shutting down the APR library too early.

Modified:
  tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java

Modified: tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java?rev=979850&r1=979849&r2=979850&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java Tue Jul 27 20:26:14 2010
@@(protected)
             }
          }
        }
-     } else if (Lifecycle.AFTER_STOP_EVENT.equals(event.getType())) {
+     } else if (Lifecycle.DESTROY_EVENT.equals(event.getType())) {
        synchronized (lock) {
          if (!aprAvailable) {
             return;




Attachment: dev_108129.ezm (zipped)
Author: markt
Date: Tue Jul 27 20:27:16 2010
New Revision: 979852

URL: http://svn.apache.org/viewvc?rev=979852&view=rev
Log:
Only need to wait a single pollTime, not one pollTime for each poller.

Modified:
  tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=979852&r1=979851&r2=979852&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Tue Jul 27 20:27:16 2010
@@(protected)
     if (running) {
        running = false;
        unlockAccept();
+        // Wait for polltime before doing anything, so that the poller threads
+        // exit, otherwise parallel destruction of sockets which are still
+        // in the poller can cause problems
+        try {
+           synchronized (this) {
+             this.wait(pollTime);
+           }
+        } catch (InterruptedException e) {
+           // Ignore
+        }
        for (int i = 0; i < pollers.length; i++) {
          pollers[i].destroy();
        }
@@(protected)
      * Destroy the poller.
      */
     protected void destroy() {
-        // Wait for polltime before doing anything, so that the poller threads
-        // exit, otherwise parallel destruction of sockets which are still
-        // in the poller can cause problems
-        try {
-           synchronized (this) {
-             this.wait(pollTime);
-           }
-        } catch (InterruptedException e) {
-           // Ignore
-        }
        // Close all sockets in the add queue
        for (int i = 0; i < addCount; i++) {
          if (comet) {
@@(protected)
      * Destroy the poller.
      */
     protected void destroy() {
-        // Wait for polltime before doing anything, so that the poller threads
-        // exit, otherwise parallel destruction of sockets which are still
-        // in the poller can cause problems
-        try {
-           synchronized (this) {
-             this.wait(pollTime);
-           }
-        } catch (InterruptedException e) {
-           // Ignore
-        }
        // Close any socket remaining in the add queue
        addCount = 0;
        for (int i = (addS.size() - 1); i >= 0; i--) {




Attachment: dev_108130.ezm (zipped)
Author: markt
Date: Tue Jul 27 20:27:56 2010
New Revision: 979853

URL: http://svn.apache.org/viewvc?rev=979853&view=rev
Log:
Fix unit test failure with APR connector. Make sure MBeans are de-registered when connector stops.

Modified:
  tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java?rev=979853&r1=979852&r2=979853&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java Tue Jul 27 20:27:56 2010
@@(protected)
     if(log.isInfoEnabled())
        log.info(sm.getString("http11protocol.stop", getName()));
     endpoint.destroy();
+     cHandler.recycledProcessors.clear();
     if( tpOname!=null )
        Registry.getRegistry(null, null).unregisterComponent(tpOname);
     if( rgOname != null )




Attachment: dev_108131.ezm (zipped)
Author: markt
Date: Tue Jul 27 20:28:38 2010
New Revision: 979854

URL: http://svn.apache.org/viewvc?rev=979854&view=rev
Log:
Fix unit test failure with APR. SSL renegotiation will not work by default for this connector.

Modified:
  tomcat/trunk/test/org/apache/catalina/startup/TestTomcatSSL.java

Modified: tomcat/trunk/test/org/apache/catalina/startup/TestTomcatSSL.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/startup/TestTomcatSSL.java?rev=979854&r1=979853&r2=979854&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/startup/TestTomcatSSL.java (original)
+++ tomcat/trunk/test/org/apache/catalina/startup/TestTomcatSSL.java Tue Jul 27 20:28:38 2010
@@(protected)
     if (protocol.indexOf("Nio") != -1) {
        return; // Not supported yet (2010-07-22)
     }
+     if (protocol.indexOf("Apr") != -1) {
+        return; // Disabled by default in 1.1.20 windows binary (2010-07-27)
+     }

     SSLContext sslCtx = SSLContext.getInstance("TLS");
     sslCtx.init(null, trustAllCerts, new java.security.SecureRandom());




Attachment: dev_108132.ezm (zipped)
Author: markt
Date: Tue Jul 27 20:56:10 2010
New Revision: 979865

URL: http://svn.apache.org/viewvc?rev=979865&view=rev
Log:
Fix unit test failure. Ignore exceptions when destroying APR connector if APR was never initialised.

Modified:
  tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=979865&r1=979864&r2=979865&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Tue Jul 27 20:56:10 2010
@@(protected)
     if (running) {
        stop();
     }
-     Pool.destroy(serverSockPool);
+     try {
+        Pool.destroy(serverSockPool);
+     } catch (UnsatisfiedLinkError e) {
+        // Ignore - APR was not initialised
+     }
     serverSockPool = 0;
     // Close server socket
-     Socket.close(serverSock);
+     try {
+        Socket.close(serverSock);
+     } catch (UnsatisfiedLinkError e) {
+        // Ignore - APR was not initialised
+     }
     serverSock = 0;
     sslContext = 0;
     // Close all APR memory pools and resources
-     Pool.destroy(rootPool);
+     try {
+        Pool.destroy(rootPool);
+     } catch (UnsatisfiedLinkError e) {
+        // Ignore - APR was not initialised
+     }
     rootPool = 0;
     initialized = false;
  }




Attachment: dev_108133.ezm (zipped)
Author: markt
Date: Tue Jul 27 21:05:16 2010
New Revision: 979872

URL: http://svn.apache.org/viewvc?rev=979872&view=rev
Log:
Code clean-up
Remove deps on o.a.catalina
Fix a couple of Eclipse nags

Modified:
  tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=979872&r1=979871&r2=979872&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Tue Jul 27 21:05:16 2010
@@(protected);
import java.util.HashMap;
import java.util.concurrent.RejectedExecutionException;

-import org.apache.catalina.Globals;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
import org.apache.tomcat.jni.Address;
@@(protected);
import org.apache.tomcat.jni.SSLSocket;
import org.apache.tomcat.jni.Socket;
import org.apache.tomcat.jni.Status;
-import org.apache.catalina.core.AprLifecycleListener;


/**
@@(protected)

  private static final Log log = LogFactory.getLog(AprEndpoint.class);

+   private static final boolean IS_SECURITY_ENABLED =
+     (System.getSecurityManager() != null);

  // ----------------------------------------------------------------- Fields
  /**
@@(protected)
  public int getKeepAliveCount() {
     if (pollers == null) {
        return 0;
-     } else {
-        int keepAliveCount = 0;
-        for (int i = 0; i < pollers.length; i++) {
-           keepAliveCount += pollers[i].getKeepAliveCount();
-        }
-        return keepAliveCount;
     }
+
+     int keepAliveCount = 0;
+     for (int i = 0; i < pollers.length; i++) {
+        keepAliveCount += pollers[i].getKeepAliveCount();
+     }
+     return keepAliveCount;
  }


@@(protected)
  public int getSendfileCount() {
     if (sendfiles == null) {
        return 0;
-     } else {
-        int sendfileCount = 0;
-        for (int i = 0; i < sendfiles.length; i++) {
-           sendfileCount += sendfiles[i].getSendfileCount();
-        }
-        return sendfileCount;
     }
+    
+     int sendfileCount = 0;
+     for (int i = 0; i < sendfiles.length; i++) {
+        sendfileCount += sendfiles[i].getSendfileCount();
+     }
+     return sendfileCount;
  }


@@(protected)

     if (initialized)
        return;
-     if (!AprLifecycleListener.isAprAvailable()) {
+
+     // Create the root APR memory pool
+     try {
+        rootPool = Pool.create(0);
+     } catch (UnsatisfiedLinkError e) {
        throw new Exception(sm.getString("endpoint.init.notavail"));
     }
-    
-     // Create the root APR memory pool
-     rootPool = Pool.create(0);
+
     // Create the pool for the server socket
     serverSockPool = Pool.create(rootPool);
     // Create the APR address that will be bound
@@(protected)
             new SocketEventProcessor(socket, status);
          ClassLoader loader = Thread.currentThread().getContextClassLoader();
          try {
-             if (Globals.IS_SECURITY_ENABLED) {
+             if (IS_SECURITY_ENABLED) {
                PrivilegedAction<Void> pa = new PrivilegedSetTccl(
                     getClass().getClassLoader());
                AccessController.doPrivileged(pa);
@@(protected)
             }          
             getExecutor().execute(proc);
          } finally {
-             if (Globals.IS_SECURITY_ENABLED) {
+             if (IS_SECURITY_ENABLED) {
                PrivilegedAction<Void> pa = new PrivilegedSetTccl(loader);
                AccessController.doPrivileged(pa);
             } else {
@@(protected)
                  // Break the loop and add the socket to poller.
                  break;
                }
-             } else {
-                data.pos = data.pos + nw;
-                if (data.pos >= data.end) {
-                   // Entire file has been sent
-                   Pool.destroy(data.fdpool);
-                   // Set back socket to blocking mode
-                   Socket.timeoutSet(data.socket, socketProperties.getSoTimeout() * 1000);
-                   return true;
-                }
+             }
+
+             data.pos = data.pos + nw;
+             if (data.pos >= data.end) {
+                // Entire file has been sent
+                Pool.destroy(data.fdpool);
+                // Set back socket to blocking mode
+                Socket.timeoutSet(data.socket, socketProperties.getSoTimeout() * 1000);
+                return true;
             }
          }
        } catch (Exception e) {




Attachment: dev_108134.ezm (zipped)
Author: markt
Date: Tue Jul 27 22:36:06 2010
New Revision: 979896

URL: http://svn.apache.org/viewvc?rev=979896&view=rev
Log:
More unit test fixes - better handling when APR/native connector is not started

Modified:
  tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=979896&r1=979895&r2=979896&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Tue Jul 27 22:36:06 2010
@@(protected)
     if (running) {
        stop();
     }
-     try {
+    
+     // Destroy pool if it was initialised
+     if (serverSockPool != 0) {
        Pool.destroy(serverSockPool);
-     } catch (UnsatisfiedLinkError e) {
-        // Ignore - APR was not initialised
+        serverSockPool = 0;
     }
-     serverSockPool = 0;
-     // Close server socket
-     try {
+    
+     // Close server socket if it was initialised
+     if (serverSock != 0) {
        Socket.close(serverSock);
-     } catch (UnsatisfiedLinkError e) {
-        // Ignore - APR was not initialised
+        serverSock = 0;
     }
-     serverSock = 0;
+    
     sslContext = 0;
-     // Close all APR memory pools and resources
-     try {
+    
+     // Close all APR memory pools and resources if initialised
+     if (rootPool != 0) {
        Pool.destroy(rootPool);
-     } catch (UnsatisfiedLinkError e) {
-        // Ignore - APR was not initialised
+        rootPool = 0;
     }
-     rootPool = 0;
+    
     initialized = false;
  }





Attachment: dev_108135.ezm (zipped)


"Bill Barker" <billwbarker@(protected)
news:i2dl9b$i62$1@(protected)...
>
>
> "Bill Barker" <billwbarker@(protected)
> news:i2dje8$es0$1@(protected)...
>>
>>
>> <markt@(protected)
>> news:20100722223130.A183D23889E0@(protected)...
>>> Author: markt
>>> Date: Thu Jul 22 22:31:30 2010
>>> New Revision: 966882
>>>
>>> URL: http://svn.apache.org/viewvc?rev=966882&view=rev
>>> Log:
>>> Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=49268
>>> Add necessary plumbing to enable Checkstyle
>>> The config file is deliberately empty. The check will be uncommented
>>> once the source code has been fixed (~200 files contain tabs).
>>>
>>> Added:
>>>   tomcat/trunk/checkstyle.xml  (with props)
>>> Modified:
>>>   tomcat/trunk/build.properties.default
>>>   tomcat/trunk/build.xml
>>>   tomcat/trunk/webapps/docs/changelog.xml
>>>
>>> Modified: tomcat/trunk/build.properties.default
>>> URL:
>>> http://svn.apache.org/viewvc/tomcat/trunk/build.properties.default?rev=966882&r1=966881&r2=966882&view=diff
>>> ==============================================================================
>>> --- tomcat/trunk/build.properties.default (original)
>>> +++ tomcat/trunk/build.properties.default Thu Jul 22 22:31:30 2010
>>> @@(protected)}
>>> junit.jar=${junit.lib}/junit.jar
>>> junit.loc=${base-sf.loc}/junit/junit3.8.2.zip
>>>
>>> +# ----- Checkstyle, version 5.1 or later -----
>>> +checkstyle.version=5.1
>>> +checkstyle.home=${base.path}/checkstyle-${checkstyle.version}
>>> +checkstyle.loc=${base-sf.loc}/checkstyle/checkstyle-${checkstyle.version}.zip
>>> +checkstyle.jar=${checkstyle.home}/checkstyle-all-${checkstyle.version}.jar
>>> +
>>> # ----- JSON Libraries (for bayeux module) -----
>>> json-lib.home=${base.path}/json-20080701
>>> json-lib.lib=http://repo1.maven.org/maven2/org/json/json/20080701/json-20080701.jar
>>>
>>> Modified: tomcat/trunk/build.xml
>>> URL:
>>> http://svn.apache.org/viewvc/tomcat/trunk/build.xml?rev=966882&r1=966881&r2=966882&view=diff
>>> ==============================================================================
>>> --- tomcat/trunk/build.xml (original)
>>> +++ tomcat/trunk/build.xml Thu Jul 22 22:31:30 2010
>>> @@(protected) @@
>>>
>>>  </target>
>>>
>>> - <target name="compile" depends="build-prepare,download-compile">
>>> + <target name="validate" depends="download-validate">
>>> +   <taskdef resource="checkstyletask.properties"
>>> +       classpath="${checkstyle.jar}" />
>>> + <checkstyle config="checkstyle.xml">
>>> +    <fileset dir="java">
>>> +    <include name="**/*.java" />
>>> +     <exclude name="org/apache/tomcat/util/bcel/**" />
>>> +   </fileset>
>>> + </checkstyle>
>>> + </target>
>>> +
>>> + <target name="compile"
>>> depends="build-prepare,download-compile,validate">
>>>
>>
>> I'm -1 (vote, not veto) on having validate be a dependency for compile.
>> Historically, Tomcat has been very lenient about what is required just to
>> build the project, and I can't see the reason to force checkstyle just to
>> be able to build.  Mostly my concern is with Gump (which I can fix the
>> metadata when svn comes up again). But that puts a transitive dependency
>> on bcel that will get fixed who knows when.
>>
>> I'm more than happy to add a tomcat-trunk-validate project to Gump if it
>> is split from compile.
>>
>
> Having tried this (yes, I should have done this first), changing to -1
> veto. In the OS world of cat herding, we should allow for the fact that
> somebody mistakenly violates the checkstyle rules and commits without
> building. It happens all the time, and then they go off to sleep and
> nobody else can build the project with a fresh checkout for hours.
>

This is probably cruelty against dead horses, but shouldn't the download
target be conditional as well? Since checkstyle is LGPL licensed, I really
don't think that we should be installing it by default for anyone that wants
to build Tomcat. Being an extremist on this issue, I would actually prefer
that we remove the download-validate target. This would mean that anyone
that wants to use it has to have installed it already, and so have accepted
the LGPL license. I for one, expect that when I download an Apache product,
that it will only install compatibly licensed software. At least not
without warning me otherwise.

This is a -0: vent. There is nothing wrong from a licensing stand point on
how we are using it.

> As I've said, I'm happy to add this to Gump (assuming that bcel ever
> builds ever again) if it a separate target to get regular automated
> notices. But developers can run a separate target themselves (just like
> test).





Attachment: dev_108137.ezm (zipped)
https://issues.apache.org/bugzilla/show_bug.cgi?id=49657

      Summary: In CGI Mode, "executable" full path with spaces does
            not work
      Product: Tomcat 6
      Version: 6.0.29
      Platform: PC
    OS/Version: Windows Server 2003
       Status: NEW
      Severity: normal
      Priority: P2
     Component: Catalina
    AssignedTo: dev@(protected)
    ReportedBy: jean.de.ratuld@(protected)


In CGI mode, if you specify a full path for a command, containing blank,
it does not work

example :
    <init-param>
       <param-name>executable</param-name>
       <param-value>c:\Tools\mycommand</param-value>
    </init-param>
is OK but

    <init-param>
       <param-name>executable</param-name>
       <param-value>c:\Program Files\mycommand</param-value>
      </init-param>
does not work well with error like


7 juil. 2010 15:51:52 org.apache.catalina.core.ApplicationContext log
INFO: cgi: runCGI (stderr):'C:\Program' is not recognized as an internal or
external command,

Need probably to add " in for cgiExcecutable in CGIServlet.java, like it is
done
for CmdAndArgs

--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


Attachment: dev_108140.ezm (zipped)
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 general@(protected).

Project tomcat-trunk-test 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 : Java Servlet 3.0, Java Server Pages 2.2 & Expression Languag...


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 tomcat-trunk-dbcp exists, no need to add for property tomcat-dbcp-src.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-dbcp 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: 6 mins 49 secs
Command Line: /usr/lib/jvm/java-6-sun/bin/java -Djava.awt.headless=true org.apache.tools.ant.Main -Dgump.merge=/srv/gump/public/gump/work/merge.xml -Dbuild.sysclasspath=only -Djunit.jar=/srv/gump/public/workspace/junit/dist/junit-28072010.jar -Dcommons-daemon.native.src.tgz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-28072010-native-src.tar.gz -Dtomcat-native.tar.gz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-28072010-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-28072010.jar -Dtomcat-dbcp-src.jar=/srv/gump/public/workspace/tomcat-trunk/tomcat-deps/tomcat-dbcp-src.jar -Dcommons-pool.home=/srv/gump/public/workspace/apache-commons/pool -Dcommons-dbcp.home=/srv/gump/public/workspa
ce/apache-commons/dbcp -Dcheckstyle.jar=/srv/gump/public/workspace/checkstyle/target/dist/checkstyle-28072010/checkstyle-all-28072010.jar -Dtomcat-dbcp.jar=/srv/gump/public/workspace/tomcat-trunk/tomcat-deps/tomcat-dbcp-28072010.jar test
[Working Directory: /srv/gump/public/workspace/tomcat-trunk]
CLASSPATH: /usr/lib/jvm/java-6-sun/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-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/packages/junit3.8.1/junit.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.jar:/srv/gum
p/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/catalina.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-ant.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-util.jar:/srv/gump/packages/javamail-1.4/mail.jar:/srv/gump/packages/javamail-1.4/lib/mailapi.jar:/srv/gump/packages/jaf-1.1ea/activation.jar:/srv/gump/packages/eclipse/plugins/org.eclipse.jdt.core_3.4.2/jdtcore.jar:
/srv/gump/public/workspace/tomcat-trunk/tomcat-deps/tomcat-dbcp-28072010.jar:/srv/gump/public/workspace/apache-commons/daemon/dist/commons-daemon-28072010.jar:/srv/gump/public/workspace/junit/dist/junit-28072010.jar
---------------------------------------------
  [junit] INFO: Starting Servlet Engine: Apache Tomcat/7.0.1-dev
  [junit] Jul 28, 2010 5:20:18 AM org.apache.coyote.http11.Http11Protocol start
  [junit] INFO: Starting Coyote HTTP/1.1 on http-8001
  [junit] Jul 28, 2010 5:20:18 AM org.apache.coyote.http11.AbstractHttp11Protocol pause
  [junit] INFO: Pausing Coyote HTTP/1.1 on http-8001
  [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 2.369 sec
  [junit] Jul 28, 2010 5:20:19 AM org.apache.catalina.core.StandardService stopInternal
  [junit] INFO: Stopping service Tomcat
  [junit] Jul 28, 2010 5:20:19 AM org.apache.coyote.http11.AbstractHttp11Protocol destroy
  [junit] INFO: Stopping Coyote HTTP/1.1 on http-8001
  [junit] Running org.apache.tomcat.util.http.TestCookiesNoStrictNamingSysProps
  [junit] Jul 28, 2010 5:20:21 AM org.apache.coyote.http11.Http11Protocol init
  [junit] INFO: Initializing Coyote HTTP/1.1 on http-8001
  [junit] Jul 28, 2010 5:20:21 AM org.apache.catalina.core.StandardService startInternal
  [junit] INFO: Starting service Tomcat
  [junit] Jul 28, 2010 5:20:21 AM org.apache.catalina.core.StandardEngine startInternal
  [junit] INFO: Starting Servlet Engine: Apache Tomcat/7.0.1-dev
  [junit] Jul 28, 2010 5:20:22 AM org.apache.coyote.http11.Http11Protocol start
  [junit] INFO: Starting Coyote HTTP/1.1 on http-8001
  [junit] Jul 28, 2010 5:20:22 AM org.apache.coyote.http11.AbstractHttp11Protocol pause
  [junit] INFO: Pausing Coyote HTTP/1.1 on http-8001
  [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 2.43 sec
  [junit] Jul 28, 2010 5:20:23 AM org.apache.catalina.core.StandardService stopInternal
  [junit] INFO: Stopping service Tomcat
  [junit] Jul 28, 2010 5:20:23 AM org.apache.coyote.http11.AbstractHttp11Protocol destroy
  [junit] INFO: Stopping Coyote HTTP/1.1 on http-8001
  [junit] Running org.apache.tomcat.util.http.TestCookiesStrictSysProps
  [junit] Jul 28, 2010 5:20:25 AM org.apache.coyote.http11.Http11Protocol init
  [junit] INFO: Initializing Coyote HTTP/1.1 on http-8001
  [junit] Jul 28, 2010 5:20:25 AM org.apache.catalina.core.StandardService startInternal
  [junit] INFO: Starting service Tomcat
  [junit] Jul 28, 2010 5:20:25 AM org.apache.catalina.core.StandardEngine startInternal
  [junit] INFO: Starting Servlet Engine: Apache Tomcat/7.0.1-dev
  [junit] Jul 28, 2010 5:20:25 AM org.apache.coyote.http11.Http11Protocol start
  [junit] INFO: Starting Coyote HTTP/1.1 on http-8001
  [junit] Jul 28, 2010 5:20:26 AM org.apache.coyote.http11.AbstractHttp11Protocol pause
  [junit] INFO: Pausing Coyote HTTP/1.1 on http-8001
  [junit] Jul 28, 2010 5:20:27 AM org.apache.catalina.core.StandardService stopInternal
  [junit] INFO: Stopping service Tomcat
  [junit] Jul 28, 2010 5:20:27 AM org.apache.coyote.http11.AbstractHttp11Protocol destroy
  [junit] INFO: Stopping Coyote HTTP/1.1 on http-8001
  [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 2.548 sec
  [junit] Running org.apache.tomcat.util.res.TestStringManager
  [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0.011 sec

BUILD FAILED
/srv/gump/public/workspace/tomcat-trunk/build.xml:957: The following error occurred while executing this line:
/srv/gump/public/workspace/tomcat-trunk/build.xml:1015: Some tests completed with a Failure. See /srv/gump/public/workspace/tomcat-trunk/output/build/logs for details.

Total time: 6 minutes 46 seconds
---------------------------------------------

To subscribe to this information via syndicated feeds:
- RSS: http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-test/rss.xml
- Atom: http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-test/atom.xml

============================== Gump Tracking Only ===
Produced by Gump version 2.3.
Gump Run 07000028072010, vmgump:vmgump-public:07000028072010
Gump E-mail Identifier (unique within run) #22.

--
Apache Gump
http://gump.apache.org/ [Instance: vmgump]


Attachment: dev_108141.ezm (zipped)
Author: markt
Date: Wed Jul 28 15:58:30 2010
New Revision: 980106

URL: http://svn.apache.org/viewvc?rev=980106&view=rev
Log:
Only download Checkstyle if it is going to be used
Add note the Checkstyle is LGPL
Add option (off by default) to fail test target as soon as one test fails.

Modified:
  tomcat/trunk/build.properties.default
  tomcat/trunk/build.xml

Modified: tomcat/trunk/build.properties.default
URL: http://svn.apache.org/viewvc/tomcat/trunk/build.properties.default?rev=980106&r1=980105&r2=980106&view=diff
==============================================================================
--- tomcat/trunk/build.properties.default (original)
+++ tomcat/trunk/build.properties.default Wed Jul 28 15:58:30 2010
@@(protected)
version.suffix=-dev

# ----- Build control flags -----
+# Note enabling validation uses Checkstyle which is LGPL licensed
execute.validate=false
execute.test.bio=true
execute.test.nio=true
# Still requires APR/native library to be present
execute.test.apr=true
+test.haltonfailure=false

# ----- Default Base Path for Dependent Packages -----
# Please note this path must be absolute, not relative,

Modified: tomcat/trunk/build.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/build.xml?rev=980106&r1=980105&r2=980106&view=diff
==============================================================================
--- tomcat/trunk/build.xml (original)
+++ tomcat/trunk/build.xml Wed Jul 28 15:58:30 2010
@@(protected) @@

     <!-- If test.entry is defined, run a single test, otherwise run all valid tests -->
     <test todir="${tomcat.build}/logs" name="${test.entry}" if="test.entry"/>
-     <batchtest todir="${tomcat.build}/logs" unless="test.entry"
-       errorproperty="test.result.error" failureproperty="test.result.failure"
-       >
+     <batchtest todir="${tomcat.build}/logs"
+             unless="test.entry"
+             errorproperty="test.result.error"
+           failureproperty="test.result.failure"
+             haltonfailure="${test.haltonfailure}">
      <fileset dir="test" >
        <!-- Include all by default -->
        <include name="**/Test*.java" />
@@(protected)
 <!-- ================ Download and dependency building =================== -->

 <target name="download-validate"
-       description="Download components necessary to validate source" >
+       description="Download components necessary to validate source"
+      if="${execute.validate}">

  <antcall target="downloadzip">
    <param name="sourcefile" value="${checkstyle.loc}"/>



©2008 junlu.com - Jax Systems, LLC, U.S.A.