[Bug 54040] I found my flex application doesn't work anymore after tomcat version 7.0.27

2012-10-23 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54040

Mark Thomas ma...@apache.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |INVALID
 OS||All

--- Comment #1 from Mark Thomas ma...@apache.org ---
There is no need to quote the change log. A link would suffice.

Bugzilla is not a support forum. You have not provided anywhere near enough
information to demonstrate that there is a Tomcat bug here, neither have you
provided any information that would enable the Tomcat developers to reproduce
the issue.

Please use the Tomcat users mailing list for further assistance. If that
discussion identifies a Tomcat bug then feel free to re-open this issue and
provide the necessary steps to reproduce the problem.

-- 
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 54036] currentThreadsBusy issue in centos 6

2012-10-23 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54036

francesco vigo...@gmail.com changed:

   What|Removed |Added

 Status|NEEDINFO|NEW

--- Comment #9 from francesco vigo...@gmail.com ---
i've used for bot centos 5 and 6, 

tomcat-native-1.1.24
and 
apr-1.4.6
*all tested environments are 64 bit 

but as i've tested yesterday this issue happens also with bio connectors

the problem anyway exists since some months i have never got a working tomcat
in centos 6 (and maybe in fedora/RH lastest releases, i don't have tested there
but should be almost the same),
and because centos  is one of the top used server distro i think that this
issue should be treated as critical
i think that people which try to use tomcat in centos into a server with a
quite high load, see the resource usage and think that tomcat is slow
which is not! they don't fill a bug report because they don't think is a but
(but instead it is because threads and connections doesn't close when tcp/ip
transmission end)

now i have reinstalled again centos 5.8 on that server (i'm stuck to centos 5
:( ) and the server is replying at about 4k connections / seconds with 
8 cuncurrentthreadsBusy and 19 connectionCount (using APR) everything it's
exactly the same as previously tested in centos 6 (which was unable to go over
200 connections/seconds  without beign slow because threads count would always
max out )
same sysctl.conf, firewall disabled , same tomcat version and same servlet
(servlet is compiled locally then rsync'ed ) 

i think that someone should take a look at this issue, if i have a bit of time
in next months i'll try to setup iptables to try to forward multiple packets to
virtual machine
with centos 5 and 6, simulating multiple ip connections (if u know a better way
to do that let me know ) anyway if someone is running tomcat on centos 6 with a
busy site
and don't have this problem tell there and you can say then that it's me that
i'm wrong, 
elseway i'm pretty sure that there is a very important issue there  --
indipendent of servlet served -- that should need attention :)

thank you,
Francesco

-- 
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 54036] currentThreadsBusy issue in centos 6

2012-10-23 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54036

--- Comment #10 from francesco vigo...@gmail.com ---
this error happened with java version since 1.6.xx to 1.7.xx last attempt of
yesterday has been done using the lastest  7u9-b05 ,  are months that i always
try with newer software available to get tomcat working correctly on centos 6
but nothing at the end i have always to giveup and reinstall centos 5 and with
same identical releases of software everything works correctly... the problem
here i think is that if you have never tryed with tomcat  centos 5 you think
that this is just a problem of performance but i can't believe that in centos 6
threads  connections remain opened this IS a bug, performance serving small
static content (to multiple destinations, apache benchmark tests doesn't show
this issue) are 100x worse in centos 6 and i mean 100x!! == 10 000% !

obviously if you have a huge servlet which take 1 second to serve just 1
request you may be not seeing this issue because the bottleneck is not so
evident so...

-- 
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



[ANN] Apache Tomcat 6.0.36 released

2012-10-23 Thread jean-frederic clere

The Apache Tomcat team announces the immediate availability of Apache
Tomcat 6.0.36 stable.

Apache Tomcat 6.0.36 is primarily a security and bug fix release. All 
users of older versions of the Tomcat 6.0 family should upgrade to 6.0.36.



Note that is version has 4 zip binaries: a generic one and three
bundled with Tomcat native binaries for different CPU architectures.

Apache Tomcat 6.0 includes new features over Apache Tomcat 5.5,
including support for the new Servlet 2.5 and JSP 2.1 specifications, a
refactored clustering implementation, advanced IO features, and
improvements in memory usage.

Please refer to the change log for the list of changes:
http://tomcat.apache.org/tomcat-6.0-doc/changelog.html

Downloads:
http://tomcat.apache.org/download-60.cgi

Migration guide from Apache Tomcat 5.5.x:
http://tomcat.apache.org/migration.html

Thank you,

-- The Apache Tomcat Team

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1401227 - /tomcat/maven-plugin/trunk/tomcat6-maven-plugin/pom.xml

2012-10-23 Thread olamy
Author: olamy
Date: Tue Oct 23 09:54:21 2012
New Revision: 1401227

URL: http://svn.apache.org/viewvc?rev=1401227view=rev
Log:
use last tomcat 6.0.36

Modified:
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/pom.xml

Modified: tomcat/maven-plugin/trunk/tomcat6-maven-plugin/pom.xml
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat6-maven-plugin/pom.xml?rev=1401227r1=1401226r2=1401227view=diff
==
--- tomcat/maven-plugin/trunk/tomcat6-maven-plugin/pom.xml (original)
+++ tomcat/maven-plugin/trunk/tomcat6-maven-plugin/pom.xml Tue Oct 23 09:54:21 
2012
@@ -33,7 +33,7 @@
   /description
 
   properties
-tomcat6Version6.0.35/tomcat6Version
+tomcat6Version6.0.36/tomcat6Version
 managerWebAppPath${basedir}/target//managerWebAppPath
 
warTestPath${basedir}/src/test/simple-war-project-1.0-SNAPSHOT.war/warTestPath
 keystoreTestPath${basedir}/src/test/keystore/keystoreTestPath



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: Resources - merging back the changes

2012-10-23 Thread Mark Thomas
On 23/10/2012 01:01, Konstantin Kolinko wrote:
 2012/10/17 Mark Thomas ma...@apache.org:
 On 17/10/2012 15:07, Konstantin Kolinko wrote:

 1. Are PreResource and PostResource able to inject individual files?

 Not yet, but that should be relatively simple to implement.

 2. I am -1 on removal of VirtualWebappLoader.

 The feature of injecting additional classpath entries into
 WebappClassLoader.super.addURL() is an important one and I use it a
 lot to inject external dependent libraries into web applications.

 I do not like your approach as a replacement, because classpath
 entries handling (jars handling) in URLClassLoader and in
 WebappClassLoader is based on different requirements. I think that
 URLClassLoader serves better for external libraries

 Could you expand on this please. I'm struggling to see the difference
 between using the VirtualWebappLoader and mapping JARs into WEB-INF/lib
 and directories containing classes onto WEB-INF/classes

 
 There is a difference,
 but after thinking about it I am removing my veto.

OK. Thanks. I might start porting this back quite soon as I have some
test cases I want to write that would be a lot easier with the new
implementation.

 1. If I consider the following two operations
 a. adding a library to the classpath
 b. maintaining it as a proper webapplication resource
 
 if a. is all that I need, then having (a. + b.) will have an
 additional overhead.

Yes, there is an additional overhead. Exactly what that overhead is will
vary on a case by case basis and I'd hope was at least partially
compensated for by a simpler resources implementation.


 What VirtualWebappLoader does is essentially similar to putting a
 library into  $CATALINA_BASE/shared.
 
 
 I know of the following overheads:
 1.1.) An additional resource participates in resource lookups
 
 In my use case I insert a dozen of libraries into the classpath. I do
 not use VirtualWebappLoader directly, I am calling the API that it
 uses - WebappLoader.addRepository().
 
 Looking at the example of Tomcat 7 aliases, if you have 100 aliases
 then every resource lookup will perform a linear search through all
 the aliases.
 
 Regarding my question of injecting individual files into resources -
 maybe it would be better to support collections of individual files
 rather than files themselves. E.g. wrap a dozen of libraries into
 single collection for /WEB-INF/lib.

You could place all the JARs you wanted to map in a single directory and
map that although if you want a single, central library of JARs from
which to work from you'd need a custom ResourceSet implementation which
should be pretty simple for the situation you describe.

 This way the individual libraries will be enumerated only when one is
 searching for something with a prefix of /WEB-INF/lib. Searching for
 any other prefix will skip the libraries.

Agreed, with a custom ResourceSet.

Rather than a custom ResourceSet, the ResourceSet implementation could
be part of the standard distribution.

 1.2.) WebappClassLoader#closeJARs(..)
 WebappClassLoader closes unused JARs after some time of inactivity.
 
 Discussed here:
 https://issues.apache.org/bugzilla/show_bug.cgi?id=52448
 
 I do not see much sense in this jar closing feature. Anyway,
 URLClassLoader keeps its jars open.
 
 (Not much of an issue, though. If it were a real nuisance, we can make
 it configurable).

It is probably worth some svn archaeology to see if we can figure out
why this feature was added in the first place.

 2. There will be small difference with handling of
 VirtualWebappLoader#setSearchVirtualFirst( ) property.
 
  With VirtualWebappLoader and searchVirtualFirst=true the order of
 precedence when looking of a class is
{external classes and libs, webapp classes, webapp libs}.
 
 With webresources I think the order will be different, because
 WEB-INF/classes takes precedence over WEB-INF/lib:
{external classes, webapp classes, external libs, webapp libs}.
 
 It is a little nuance. I do not think there will be much confusion from it.

Agreed.

Cheers,

Mark


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[GUMP@vmgump]: Project tomcat-tc7.0.x-validate (in module tomcat-7.0.x) failed

2012-10-23 Thread Bill Barker
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-tc7.0.x-validate has an issue affecting its community 
integration.
This issue affects 1 projects,
 and has been outstanding for 76 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
- tomcat-tc7.0.x-validate :  Tomcat 7.x, a web server implementing Java 
Servlet 3.0,
...


Full details are available at:

http://vmgump.apache.org/gump/public/tomcat-7.0.x/tomcat-tc7.0.x-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-7.0.x/tomcat-tc7.0.x-validate/gump_work/build_tomcat-7.0.x_tomcat-tc7.0.x-validate.html
Work Name: build_tomcat-7.0.x_tomcat-tc7.0.x-validate (Type: Build)
Work ended in a state of : Failed
Elapsed: 2 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 
-Dcheckstyle.jar=/srv/gump/public/workspace/checkstyle/target/checkstyle-5.7-SNAPSHOT.jar
 -Dexecute.validate=true validate 
[Working Directory: /srv/gump/public/workspace/tomcat-7.0.x]
CLASSPATH: 
/usr/lib/jvm/java-7-oracle/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/public/workspace/xml-commons/java/build/resolver.jar:/srv/gump/public/workspace/checkstyle/target/checkstyle-5.7-SNAPSHOT.jar:/srv/gump/public/workspace/apache-commons/beanutils/dist/commons-beanutils-23102012.jar:/srv/gump/public/workspace/apache-commons/cli/target/commons-cli-1.3-SNAPSHOT.jar:/srv/gump/public/workspace/apache-commons/exec/target/commons-exec-1.1.1-SNAPSHOT.jar:/srv/gump/public/workspace/apache-commons/validator/dist/commons-validator-23102012.jar:/srv/gump/public/workspace/junit/dist/junit-23102012.jar:/srv/gump/
 
public/workspace/junit/dist/junit-dep-23102012.jar:/srv/gump/public/workspace/google-guava/guava/target/guava-*[0-9T].jar:/srv/gump/public/workspace/apache-commons/logging/target/commons-logging-23102012.jar:/srv/gump/public/workspace/apache-commons/logging/target/commons-logging-api-23102012.jar:/srv/gump/public/workspace/commons-collections-3.x/target/commons-collections-3.3-SNAPSHOT.jar:/srv/gump/packages/antlr/antlr-3.1.3.jar:/srv/gump/public/workspace/jdom/build/jdom.jar:/srv/gump/public/workspace/velocity-engine/bin/velocity-23102012.jar:/srv/gump/public/workspace/velocity-engine/bin/velocity-23102012-dep.jar
-

proxyflags:

setproxy:

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

downloadzip:

validate:
[mkdir] Created dir: 
/srv/gump/public/workspace/tomcat-7.0.x/output/res/checkstyle

BUILD FAILED
/srv/gump/public/workspace/tomcat-7.0.x/build.xml:450: Could not create type 
checkstyle due to java.lang.NoClassDefFoundError: 
com/google/common/collect/Lists
at 
com.puppycrawl.tools.checkstyle.CheckStyleTask.init(CheckStyleTask.java:78)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at 
org.apache.tools.ant.AntTypeDefinition.innerCreateAndSet(AntTypeDefinition.java:328)
at 
org.apache.tools.ant.AntTypeDefinition.createAndSet(AntTypeDefinition.java:274)
at 
org.apache.tools.ant.AntTypeDefinition.icreate(AntTypeDefinition.java:219)
at 
org.apache.tools.ant.AntTypeDefinition.create(AntTypeDefinition.java:206)
at 
org.apache.tools.ant.ComponentHelper.createComponent(ComponentHelper.java:285)
at 
org.apache.tools.ant.ComponentHelper.createComponent(ComponentHelper.java:263)
at 
org.apache.tools.ant.UnknownElement.makeObject(UnknownElement.java:417)
at 
org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:163)
at org.apache.tools.ant.Task.perform(Task.java:347)
at 

[GUMP@vmgump]: Project tomcat-trunk-validate (in module tomcat-trunk) failed

2012-10-23 Thread Bill Barker
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-validate has an issue affecting its community integration.
This issue affects 1 projects,
 and has been outstanding for 76 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-validate :  Tomcat 8.x, a web server implementing Java 
Servlet 3.1,
...


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-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 
-Dcheckstyle.jar=/srv/gump/public/workspace/checkstyle/target/checkstyle-5.7-SNAPSHOT.jar
 -Dexecute.validate=true validate 
[Working Directory: /srv/gump/public/workspace/tomcat-trunk]
CLASSPATH: 
/usr/lib/jvm/java-7-oracle/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/public/workspace/xml-commons/java/build/resolver.jar:/srv/gump/public/workspace/checkstyle/target/checkstyle-5.7-SNAPSHOT.jar:/srv/gump/public/workspace/apache-commons/beanutils/dist/commons-beanutils-23102012.jar:/srv/gump/public/workspace/apache-commons/cli/target/commons-cli-1.3-SNAPSHOT.jar:/srv/gump/public/workspace/apache-commons/exec/target/commons-exec-1.1.1-SNAPSHOT.jar:/srv/gump/public/workspace/apache-commons/validator/dist/commons-validator-23102012.jar:/srv/gump/public/workspace/junit/dist/junit-23102012.jar:/srv/gump/
 
public/workspace/junit/dist/junit-dep-23102012.jar:/srv/gump/public/workspace/google-guava/guava/target/guava-*[0-9T].jar:/srv/gump/public/workspace/apache-commons/logging/target/commons-logging-23102012.jar:/srv/gump/public/workspace/apache-commons/logging/target/commons-logging-api-23102012.jar:/srv/gump/public/workspace/commons-collections-3.x/target/commons-collections-3.3-SNAPSHOT.jar:/srv/gump/packages/antlr/antlr-3.1.3.jar:/srv/gump/public/workspace/jdom/build/jdom.jar:/srv/gump/public/workspace/velocity-engine/bin/velocity-23102012.jar:/srv/gump/public/workspace/velocity-engine/bin/velocity-23102012-dep.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
-

proxyflags:

setproxy:

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

downloadzip:

validate:
[mkdir] Created dir: 
/srv/gump/public/workspace/tomcat-trunk/output/res/checkstyle

BUILD FAILED
/srv/gump/public/workspace/tomcat-trunk/build.xml:469: Could not create type 
checkstyle due to java.lang.NoClassDefFoundError: 
com/google/common/collect/Lists
at 
com.puppycrawl.tools.checkstyle.CheckStyleTask.init(CheckStyleTask.java:78)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at 
org.apache.tools.ant.AntTypeDefinition.innerCreateAndSet(AntTypeDefinition.java:328)
at 
org.apache.tools.ant.AntTypeDefinition.createAndSet(AntTypeDefinition.java:274)
at 
org.apache.tools.ant.AntTypeDefinition.icreate(AntTypeDefinition.java:219)
at 
org.apache.tools.ant.AntTypeDefinition.create(AntTypeDefinition.java:206)
at 
org.apache.tools.ant.ComponentHelper.createComponent(ComponentHelper.java:285)
at 
org.apache.tools.ant.ComponentHelper.createComponent(ComponentHelper.java:263)
at 
org.apache.tools.ant.UnknownElement.makeObject(UnknownElement.java:417)
at 

svn commit: r1401253 [4/4] - in /tomcat/sandbox/trunk-resources: ./ java/javax/net/ java/javax/servlet/ java/javax/servlet/http/ java/org/apache/catalina/connector/ java/org/apache/catalina/core/ java

2012-10-23 Thread markt
Modified: 
tomcat/sandbox/trunk-resources/java/org/apache/tomcat/util/bcel/classfile/Utility.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/tomcat/util/bcel/classfile/Utility.java?rev=1401253r1=1401252r2=1401253view=diff
==
--- 
tomcat/sandbox/trunk-resources/java/org/apache/tomcat/util/bcel/classfile/Utility.java
 (original)
+++ 
tomcat/sandbox/trunk-resources/java/org/apache/tomcat/util/bcel/classfile/Utility.java
 Tue Oct 23 11:34:15 2012
@@ -17,10 +17,9 @@
  */
 package org.apache.tomcat.util.bcel.classfile;
 
+import java.io.DataInput;
 import java.io.IOException;
 
-import org.apache.tomcat.util.bcel.Constants;
-import org.apache.tomcat.util.bcel.util.ByteSequence;
 
 /**
  * Utility functions that do not really belong to any class in particular.
@@ -30,396 +29,6 @@ import org.apache.tomcat.util.bcel.util.
  */
 public abstract class Utility {
 
-private static int unwrap( ThreadLocalInteger tl ) {
-return tl.get().intValue();
-}
-
-
-private static void wrap( ThreadLocalInteger tl, int value ) {
-tl.set(Integer.valueOf(value));
-}
-
-private static ThreadLocalInteger consumed_chars =
-new ThreadLocalInteger() {
-@Override
-protected Integer initialValue() {
-return Integer.valueOf(0);
-}
-};/* How many chars have been consumed
- * during parsing in signatureToString().
- * Read by methodSignatureToString().
- * Set by side effect,but only internally.
- */
-private static boolean wide = false; /* The `WIDE' instruction is used in 
the
- * byte code to allow 16-bit wide indices
- * for local variables. This opcode
- * precedes an `ILOAD', e.g.. The opcode
- * immediately following takes an extra
- * byte which is combined with the
- * following byte to form a
- * 16-bit value.
- */
-
-
-/**
- * Convert bit field of flags into string such as `static final'.
- *
- * @param  access_flags Access flags
- * @return String representation of flags
- */
-public static final String accessToString( int access_flags ) {
-return accessToString(access_flags, false);
-}
-
-
-/**
- * Convert bit field of flags into string such as `static final'.
- *
- * Special case: Classes compiled with new compilers and with the
- * `ACC_SUPER' flag would be said to be synchronized. This is
- * because SUN used the same value for the flags `ACC_SUPER' and
- * `ACC_SYNCHRONIZED'.
- *
- * @param  access_flags Access flags
- * @param  for_class access flags are for class qualifiers ?
- * @return String representation of flags
- */
-public static final String accessToString( int access_flags, boolean 
for_class ) {
-StringBuilder buf = new StringBuilder();
-int p = 0;
-for (int i = 0; p  Constants.MAX_ACC_FLAG; i++) { // Loop through 
known flags
-p = pow2(i);
-if ((access_flags  p) != 0) {
-/* Special case: Classes compiled with new compilers and with 
the
- * `ACC_SUPER' flag would be said to be synchronized. This is
- * because SUN used the same value for the flags `ACC_SUPER' 
and
- * `ACC_SYNCHRONIZED'.
- */
-if (for_class  ((p == Constants.ACC_SUPER) || (p == 
Constants.ACC_INTERFACE))) {
-continue;
-}
-buf.append(Constants.ACCESS_NAMES[i]).append( );
-}
-}
-return buf.toString().trim();
-}
-
-
-/**
- * @param access_flags the class flags
- *
- * @return class or interface, depending on the ACC_INTERFACE flag
- */
-public static final String classOrInterface( int access_flags ) {
-return ((access_flags  Constants.ACC_INTERFACE) != 0) ? interface : 
class;
-}
-
-
-/**
- * Disassemble a byte array of JVM byte codes starting from code line
- * `index' and return the disassembled string representation. Decode only
- * `num' opcodes (including their operands), use -1 if you want to
- * decompile everything.
- *
- * @param  code byte code array
- * @param  constant_pool Array of constants
- * @param  index offset in `code' array
- * EM(number of opcodes, not bytes!)/EM
- * @param  length number of opcodes to decompile, -1 for all
- * @param  verbose be verbose, e.g. print constant pool index
- * @return String representation of byte codes
- */
-public static final String codeToString( byte[] code, ConstantPool 
constant_pool, int index,
-int length, boolean verbose ) {
-StringBuilder buf = new StringBuilder(code.length * 20); // Should be 
sufficient
-ByteSequence stream = new ByteSequence(code);
-try {
-for (int i = 0; i  

svn commit: r1401258 - in /tomcat/sandbox/trunk-resources/java/org/apache/catalina: WebResource.java WebResourceRoot.java webresources/Cache.java webresources/DirResourceSet.java webresources/JarResou

2012-10-23 Thread markt
Author: markt
Date: Tue Oct 23 12:06:55 2012
New Revision: 1401258

URL: http://svn.apache.org/viewvc?rev=1401258view=rev
Log:
Javadoc cleanup

Modified:
tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResource.java
tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java

tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java

tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/DirResourceSet.java

tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/JarResourceSet.java

tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/StandardRoot.java

Modified: 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResource.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResource.java?rev=1401258r1=1401257r2=1401258view=diff
==
--- tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResource.java 
(original)
+++ tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResource.java 
Tue Oct 23 12:06:55 2012
@@ -91,13 +91,11 @@ public interface WebResource {
 
 /**
  * Set the MIME type for this Resource.
- * TODO: Previous implementation cached this
  */
 void setMimeType(String mimeType);
 
 /**
  * Get the MIME type for this Resource.
- * TODO: Previous implementation cached this
  */
 String getMimeType();
 

Modified: 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java?rev=1401258r1=1401257r2=1401258view=diff
==
--- 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java 
(original)
+++ 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java 
Tue Oct 23 12:06:55 2012
@@ -67,7 +67,7 @@ import java.util.Set;
  * liResource JARs - Same feature but implemented using the same
  * mechanism as all the other additional
  * resources./li
- * liTBD   - More to list here/li
+ * liTODO  - More to list here/li
  * /ul
  */
 /*
@@ -126,7 +126,7 @@ public interface WebResourceRoot extends
 /**
  * Obtain the Set of the web applications pathnames of all of the files and
  * directories located in the specified directory. Paths representing
- * directories will end with a / character.
+ * directories will end with a '/' character.
  *
  * @param path  The path for the resource of interest relative to the root
  *  of the web application. It must start with '/'.
@@ -172,15 +172,6 @@ public interface WebResourceRoot extends
 boolean write(String path, InputStream is);
 
 /**
- *
- * @param url   Identifies the root of the new {@link WebResourceSet}. It
- *  must point to a JAR, directory or file.
- * @param initialPath   Identifies any initial path (only in a JAR) that
- *  must be skipped when matching web application paths
- *  to paths in the new {@link WebResourceSet}
- */
-
-/**
  * Creates a new {@link WebResourceSet} for this {@link WebResourceRoot}
  * based on the provided parameters.
  *
@@ -210,8 +201,22 @@ public interface WebResourceRoot extends
 String webAppMount, String internalPath);
 
 
+/**
+ * Adds the provided WebResourceSet to this web application as a 'Pre'
+ * resource.
+ */
 void addPreResources(WebResourceSet webResourceSet);
+
+/**
+ * Adds the provided WebResourceSet to this web application as a 'Jar'
+ * resource.
+ */
 void addJarResources(WebResourceSet webResourceSet);
+
+/**
+ * Adds the provided WebResourceSet to this web application as a 'Post'
+ * resource.
+ */
 void addPostResources(WebResourceSet webResourceSet);
 
 /**
@@ -238,7 +243,17 @@ public interface WebResourceRoot extends
  */
 boolean getAllowLinking();
 
+/**
+ * Set whether or not caching is permitted for this web application.
+ *
+ * @param cachingAllowedcodetrue/code to enable caching, else
+ *  codefalse/code
+ */
 void setCachingAllowed(boolean cachingAllowed);
+
+/**
+ * Get whether or not caching is permitted for this web application.
+ */
 boolean isCachingAllowed();
 
 /**
@@ -255,10 +270,33 @@ public interface WebResourceRoot extends
  */
 long getCacheTtl();
 
+/**
+ * Set the maximum permitted size for the cache.
+ *
+ * @param cacheMaxSize  Maximum cache size in kilobytes
+ */
 void setCacheMaxSize(long cacheMaxSize);
+
+/**
+  

svn commit: r1401259 - /tomcat/sandbox/trunk-resources/java/org/apache/tomcat/JarScannerCallback.java

2012-10-23 Thread markt
Author: markt
Date: Tue Oct 23 12:08:29 2012
New Revision: 1401259

URL: http://svn.apache.org/viewvc?rev=1401259view=rev
Log:
Fix typo

Modified:

tomcat/sandbox/trunk-resources/java/org/apache/tomcat/JarScannerCallback.java

Modified: 
tomcat/sandbox/trunk-resources/java/org/apache/tomcat/JarScannerCallback.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/tomcat/JarScannerCallback.java?rev=1401259r1=1401258r2=1401259view=diff
==
--- 
tomcat/sandbox/trunk-resources/java/org/apache/tomcat/JarScannerCallback.java 
(original)
+++ 
tomcat/sandbox/trunk-resources/java/org/apache/tomcat/JarScannerCallback.java 
Tue Oct 23 12:08:29 2012
@@ -21,7 +21,7 @@ import java.io.IOException;
 import java.net.JarURLConnection;
 
 /**
- * This interface is implemented by clients of the {@link JatScanner} to enable
+ * This interface is implemented by clients of the {@link JarScanner} to enable
  * them to receive notification of a discovered JAR.
  */
 public interface JarScannerCallback {



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1401260 - /tomcat/sandbox/trunk-resources/webapps/docs/config/resources.xml

2012-10-23 Thread markt
Author: markt
Date: Tue Oct 23 12:11:25 2012
New Revision: 1401260

URL: http://svn.apache.org/viewvc?rev=1401260view=rev
Log:
Add caching info

Modified:
tomcat/sandbox/trunk-resources/webapps/docs/config/resources.xml

Modified: tomcat/sandbox/trunk-resources/webapps/docs/config/resources.xml
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/webapps/docs/config/resources.xml?rev=1401260r1=1401259r2=1401260view=diff
==
--- tomcat/sandbox/trunk-resources/webapps/docs/config/resources.xml (original)
+++ tomcat/sandbox/trunk-resources/webapps/docs/config/resources.xml Tue Oct 23 
12:11:25 2012
@@ -42,7 +42,9 @@
   for files stored in other forms such as in a database or a versioned
   repository./p
 
-  pCaching: TBC - currently none./p
+  pResources are cached by default. Caching may be controlled by configuring
+  the appropriate caching attributes on the containing a href=context.html
+  Context/a./p
 
   pstrongNote: Running a webapp with non-filesystem based
   Resources implementations is only possible when the webapp does not



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1401263 - in /tomcat/sandbox/trunk-resources: java/org/apache/naming/resources/ test/org/apache/naming/resources/TestDirContextURLStreamHandlerFactory.java test/org/apache/naming/resource

2012-10-23 Thread markt
Author: markt
Date: Tue Oct 23 12:17:06 2012
New Revision: 1401263

URL: http://svn.apache.org/viewvc?rev=1401263view=rev
Log:
Remove old resources implementation

Removed:
tomcat/sandbox/trunk-resources/java/org/apache/naming/resources/

tomcat/sandbox/trunk-resources/test/org/apache/naming/resources/TestDirContextURLStreamHandlerFactory.java
Modified:

tomcat/sandbox/trunk-resources/test/org/apache/naming/resources/TestNamingContext.java

Modified: 
tomcat/sandbox/trunk-resources/test/org/apache/naming/resources/TestNamingContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/test/org/apache/naming/resources/TestNamingContext.java?rev=1401263r1=1401262r2=1401263view=diff
==
--- 
tomcat/sandbox/trunk-resources/test/org/apache/naming/resources/TestNamingContext.java
 (original)
+++ 
tomcat/sandbox/trunk-resources/test/org/apache/naming/resources/TestNamingContext.java
 Tue Oct 23 12:17:06 2012
@@ -17,9 +17,7 @@
 package org.apache.naming.resources;
 
 import java.io.File;
-import java.io.FileOutputStream;
 import java.io.IOException;
-import java.io.InputStream;
 import java.io.PrintWriter;
 
 import javax.naming.Binding;
@@ -43,7 +41,6 @@ import org.junit.Test;
 import org.apache.catalina.core.StandardContext;
 import org.apache.catalina.deploy.ContextEnvironment;
 import org.apache.catalina.deploy.ContextResource;
-import org.apache.catalina.startup.ExpandWar;
 import org.apache.catalina.startup.Tomcat;
 import org.apache.catalina.startup.TomcatBaseTest;
 import org.apache.tomcat.util.buf.ByteChunk;
@@ -95,137 +92,6 @@ public class TestNamingContext extends T
 
 }
 
-@Test
-public void testAliases() throws Exception {
-// Some sample text
-String foxText = The quick brown fox jumps over the lazy dog;
-String loremIpsum = Lorem ipsum dolor sit amet, consectetur 
adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna 
aliqua.;
-
-// Set up a temporary docBase and some alternates that we can
-// set up as aliases.
-File tmpDir = new File(getTemporaryDirectory(),
-   tomcat-unit-test. + 
TestNamingContext.class.getName());
-
-// Make sure we've got a clean slate
-ExpandWar.delete(tmpDir);
-
-File docBase = new File(tmpDir, docBase);
-File alternate1 = new File(tmpDir, alternate1);
-File alternate2 = new File(tmpDir, alternate2);
-
-// Register for clean-up
-addDeleteOnTearDown(tmpDir);
-
-if(!tmpDir.mkdirs())
-throw new IOException(Could not create temp directory  + tmpDir);
-if(!docBase.mkdir())
-throw new IOException(Could not create temp directory  + 
docBase);
-if(!alternate1.mkdir())
-throw new IOException(Could not create temp directory  + 
alternate1);
-if(!alternate2.mkdir())
-throw new IOException(Could not create temp directory  + 
alternate2);
-
-// Create a file in each alternate directory that we can attempt to 
access
-FileOutputStream fos = new FileOutputStream(new File(alternate1, 
test1.txt));
-try {
-fos.write(foxText.getBytes(UTF-8));
-fos.flush();
-} finally {
-fos.close();
-}
-
-fos = new FileOutputStream(new File(alternate2, test2.txt));
-try {
-fos.write(loremIpsum.getBytes(UTF-8));
-fos.flush();
-} finally {
-fos.close();
-}
-
-// Finally, create the Context
-FileDirContext ctx = new FileDirContext();
-ctx.setDocBase(docBase.getCanonicalPath());
-ctx.setAliases(/a1= + alternate1.getCanonicalPath()
-   +,/a2= + alternate2.getCanonicalPath());
-
-// Check first alias
-Object file = ctx.lookup(/a1/test1.txt);
-
-Assert.assertNotNull(file);
-Assert.assertTrue(file instanceof Resource);
-
-byte[] buffer = new byte[4096];
-Resource res = (Resource)file;
-
-InputStream is = res.streamContent();
-int len;
-try {
-len = is.read(buffer);
-} finally {
-is.close();
-}
-String contents = new String(buffer, 0, len, UTF-8);
-
-assertEquals(foxText, contents);
-
-// Check second alias
-file = ctx.lookup(/a2/test2.txt);
-
-Assert.assertNotNull(file);
-Assert.assertTrue(file instanceof Resource);
-
-res = (Resource)file;
-is = res.streamContent();
-try {
-len = is.read(buffer);
-} finally {
-is.close();
-}
-contents = new String(buffer, 0, len, UTF-8);
-
-assertEquals(loremIpsum, contents);
-
-// Test aliases with spaces around the separators
-ctx.setAliases(   /a1=  + alternate1.getCanonicalPath()
-

svn commit: r1401270 - /tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java

2012-10-23 Thread markt
Author: markt
Date: Tue Oct 23 12:24:04 2012
New Revision: 1401270

URL: http://svn.apache.org/viewvc?rev=1401270view=rev
Log:
Fix test
Fix typos

Modified:

tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java

Modified: 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java?rev=1401270r1=1401269r2=1401270view=diff
==
--- 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java 
(original)
+++ 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java 
Tue Oct 23 12:24:04 2012
@@ -128,7 +128,7 @@ public class Cache {
 maxSize * (100 - TARGET_FREE_PERCENT_BACKGROUND) / 100;
 long newSize = evict(targetSize, iter);
 
-if (targetSize  newSize) {
+if (newSize  targetSize) {
 log.info(sm.getString(cache.backgroundEvictFail,
 Long.valueOf(TARGET_FREE_PERCENT_BACKGROUND),
 root.getContext().getName(),
@@ -179,12 +179,12 @@ public class Cache {
 }
 
 public long getMaxSize() {
-// Internally bytes, externally kiobytes
+// Internally bytes, externally kilobytes
 return maxSize / 1024;
 }
 
 public void setMaxSize(long maxSize) {
-// Internally bytes, externally kiobytes
+// Internally bytes, externally kilobytes
 this.maxSize = maxSize * 1024;
 }
 



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1401271 - /tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java

2012-10-23 Thread markt
Author: markt
Date: Tue Oct 23 12:25:58 2012
New Revision: 1401271

URL: http://svn.apache.org/viewvc?rev=1401271view=rev
Log:
Fix test

Modified:

tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java

Modified: 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java?rev=1401271r1=1401270r2=1401271view=diff
==
--- 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java 
(original)
+++ 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java 
Tue Oct 23 12:25:58 2012
@@ -142,7 +142,7 @@ public class Cache {
 
 long newSize = size.get();
 
-while (targetSize  newSize  iter.hasNext()) {
+while (newSize  targetSize  iter.hasNext()) {
 CachedResource resource = iter.next();
 
 // Don't expire anything that has been checked within the TTL



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1401275 - /tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java

2012-10-23 Thread markt
Author: markt
Date: Tue Oct 23 12:42:59 2012
New Revision: 1401275

URL: http://svn.apache.org/viewvc?rev=1401275view=rev
Log:
When removing an item from the cache, only reduce the current cache size of the 
item was added to the cache.
Provide conversions (bytes/kilobytes) for maxCacheObjectSize

Modified:

tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java

Modified: 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java?rev=1401275r1=1401274r2=1401275view=diff
==
--- 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java 
(original)
+++ 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java 
Tue Oct 23 12:42:59 2012
@@ -62,7 +62,7 @@ public class Cache {
 CachedResource cacheEntry = resourceCache.get(path);
 
 if (cacheEntry != null  !cacheEntry.validate()) {
-removeCacheEntry(path);
+removeCacheEntry(path, true);
 cacheEntry = null;
 }
 
@@ -77,7 +77,8 @@ public class Cache {
 cacheEntry = newCacheEntry;
 cacheEntry.validate();
 if (newCacheEntry.getContentLength()  getMaxObjectSize()) {
-removeCacheEntry(path);
+// Cache size has not been updated at this point
+removeCacheEntry(path, false);
 return newCacheEntry;
 }
 
@@ -100,7 +101,7 @@ public class Cache {
 if (newSize  maxSize) {
 // Unable to create sufficient space for this resource
 // Remove it from the cache
-removeCacheEntry(path);
+removeCacheEntry(path, true);
 log.warn(sm.getString(cache.addFail));
 }
 }
@@ -151,7 +152,7 @@ public class Cache {
 }
 
 // Remove the entry from the cache
-removeCacheEntry(resource.getWebappPath());
+removeCacheEntry(resource.getWebappPath(), true);
 
 newSize = size.get();
 }
@@ -159,11 +160,11 @@ public class Cache {
 return newSize;
 }
 
-private void removeCacheEntry(String path) {
+private void removeCacheEntry(String path, boolean updateSize) {
 // With concurrent calls for the same path, the entry is only removed
-// once and the cache size is only updated once.
+// once and the cache size is only updated (if required) once.
 CachedResource cachedResource = resourceCache.remove(path);
-if (cachedResource != null) {
+if (cachedResource != null  updateSize) {
 long delta =
 0 - CACHE_ENTRY_SIZE - cachedResource.getContentLength();
 size.addAndGet(delta);
@@ -190,11 +191,13 @@ public class Cache {
 
 
 public void setMaxObjectSize(long maxObjectSize) {
-this.maxObjectSize = maxObjectSize;
+// Internally bytes, externally kilobytes
+this.maxObjectSize = maxObjectSize * 1024;
 }
 
 public long getMaxObjectSize() {
-return maxObjectSize;
+// Internally bytes, externally kilobytes
+return maxObjectSize / 1024;
 }
 
 private static class EvictionOrder implements ComparatorCachedResource {



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1401277 - in /tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources: FileResource.java JarResource.java

2012-10-23 Thread markt
Author: markt
Date: Tue Oct 23 12:50:14 2012
New Revision: 1401277

URL: http://svn.apache.org/viewvc?rev=1401277view=rev
Log:
More Javadoc

Modified:

tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/FileResource.java

tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/JarResource.java

Modified: 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/FileResource.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/FileResource.java?rev=1401277r1=1401276r2=1401277view=diff
==
--- 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/FileResource.java
 (original)
+++ 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/FileResource.java
 Tue Oct 23 12:50:14 2012
@@ -30,6 +30,10 @@ import org.apache.catalina.WebResourceRo
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 
+/**
+ * Represents a single resource (file or directory) that is located on a file
+ * system.
+ */
 public class FileResource extends AbstractResource {
 
 private static final Log log = LogFactory.getLog(FileResource.class);

Modified: 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/JarResource.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/JarResource.java?rev=1401277r1=1401276r2=1401277view=diff
==
--- 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/JarResource.java
 (original)
+++ 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/JarResource.java
 Tue Oct 23 12:50:14 2012
@@ -27,6 +27,10 @@ import org.apache.catalina.WebResourceRo
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 
+/**
+ * Represents a single resource (file or directory) that is located within a
+ * JAR.
+ */
 public class JarResource extends AbstractResource {
 
 private static final Log log = LogFactory.getLog(JarResource.class);



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[GUMP@vmgump]: Project tomcat-taglibs-standard (in module tomcat-taglibs) failed

2012-10-23 Thread Gump
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-taglibs-standard has an issue affecting its community 
integration.
This issue affects 2 projects,
 and has been outstanding for 143 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
- tomcat-taglibs-standard :  Standard Taglib
- tomcat-taglibs-standard-install :  JSP Taglibs


Full details are available at:

http://vmgump.apache.org/gump/public/tomcat-taglibs/tomcat-taglibs-standard/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were 
provided:
 -INFO- Optional dependency httpunit failed with reason build failed
 -DEBUG- (Apache Gump generated) Apache Maven Settings in: 
/srv/gump/public/workspace/tomcat-taglibs/standard/gump_mvn_settings.xml
 -INFO- Failed with reason build failed
 -DEBUG- Maven POM in: 
/srv/gump/public/workspace/tomcat-taglibs/standard/pom.xml
 -INFO- Failed to extract fallback artifacts from Gump Repository



The following work was performed:
http://vmgump.apache.org/gump/public/tomcat-taglibs/tomcat-taglibs-standard/gump_work/build_tomcat-taglibs_tomcat-taglibs-standard.html
Work Name: build_tomcat-taglibs_tomcat-taglibs-standard (Type: Build)
Work ended in a state of : Failed
Elapsed: 24 secs
Command Line: /opt/maven2/bin/mvn --batch-mode -DskipTests=true --settings 
/srv/gump/public/workspace/tomcat-taglibs/standard/gump_mvn_settings.xml 
install 
[Working Directory: /srv/gump/public/workspace/tomcat-taglibs/standard]
M2_HOME: /opt/maven2
-
[debug] execute contextualize
[INFO] [resources:testResources {execution: default-testResources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory 
/srv/gump/public/workspace/tomcat-taglibs/standard/spec/src/test/resources
[INFO] Copying 3 resources
[INFO] [compiler:testCompile {execution: default-testCompile}]
[INFO] No sources to compile
[INFO] [surefire:test {execution: default-test}]
[INFO] Tests are skipped.
[INFO] [bundle:bundle {execution: default-bundle}]
[INFO] [install:install {execution: default-install}]
[INFO] Installing 
/srv/gump/public/workspace/tomcat-taglibs/standard/spec/target/taglibs-standard-spec-1.2-SNAPSHOT.jar
 to 
/srv/gump/public/workspace/mvnlocalrepo/shared/org/apache/taglibs/taglibs-standard-spec/1.2-SNAPSHOT/taglibs-standard-spec-1.2-SNAPSHOT.jar
[INFO] [bundle:install {execution: default-install}]
[INFO] Parsing 
file:/srv/gump/public/workspace/mvnlocalrepo/shared/repository.xml
[INFO] Installing 
org/apache/taglibs/taglibs-standard-spec/1.2-SNAPSHOT/taglibs-standard-spec-1.2-SNAPSHOT.jar
[INFO] Writing OBR metadata
[INFO] 
[INFO] Building JSTL Implementation
[INFO]task-segment: [install]
[INFO] 
[INFO] [remote-resources:process {execution: default}]
[INFO] snapshot org.apache.taglibs:taglibs-standard-spec:1.2-SNAPSHOT: checking 
for updates from apache.snapshots
Downloading: 
http://localhost:8192/maven2/org/easymock/easymock/3.0/easymock-3.0.jar
111K downloaded  (easymock-3.0.jar)
[debug] execute contextualize
[INFO] [resources:resources {execution: default-resources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 14 resources
[INFO] Copying 3 resources
[INFO] [compiler:compile {execution: default-compile}]
[INFO] Compiling 96 source files to 
/srv/gump/public/workspace/tomcat-taglibs/standard/impl/target/classes
[INFO] -
[ERROR] COMPILATION ERROR : 
[INFO] -
[ERROR] 
/srv/gump/public/workspace/tomcat-taglibs/standard/impl/src/main/java/org/apache/taglibs/standard/tag/common/sql/DataSourceWrapper.java:[38,7]
 error: DataSourceWrapper is not abstract and does not override abstract method 
getParentLogger() in CommonDataSource
[INFO] 1 error
[INFO] -
[INFO] 
[ERROR] BUILD FAILURE
[INFO] 
[INFO] Compilation failure
/srv/gump/public/workspace/tomcat-taglibs/standard/impl/src/main/java/org/apache/taglibs/standard/tag/common/sql/DataSourceWrapper.java:[38,7]
 error: DataSourceWrapper is not abstract and does not override abstract method 
getParentLogger() in CommonDataSource

[INFO] 
[INFO] For more information, run Maven with the -e 

[jira] [Created] (MTOMCAT-182) Typo in Tomcat6 AbstractRunWarMojo MOJO

2012-10-23 Thread Steve Jerman (JIRA)
Steve Jerman created MTOMCAT-182:


 Summary: Typo in Tomcat6 AbstractRunWarMojo MOJO
 Key: MTOMCAT-182
 URL: https://issues.apache.org/jira/browse/MTOMCAT-182
 Project: Apache Tomcat Maven Plugin
  Issue Type: Bug
  Components: tomcat6
Affects Versions: 2.0
Reporter: Steve Jerman
Assignee: Olivier Lamy (*$^¨%`£)


Hi,

There is a typo introduced in the 2.0 release:

[AbstractRunWarMojo|http://tomcat.apache.org/maven-plugin-2.0/tomcat6-maven-plugin/xref/org/apache/tomcat/maven/plugin/tomcat6/AbstractRunWarMojo.html]

42  @Parameter( defaultValue = 
${project.build.directory}/${project.build.finalName, required = true )
43  private File warDirectory;

I can work around .. but I think it will affect everyone...


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 54044] New: AccessLogValve using stale date/time with SimpleDateFormat

2012-10-23 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54044

  Priority: P2
Bug ID: 54044
  Assignee: dev@tomcat.apache.org
   Summary: AccessLogValve using stale date/time with
SimpleDateFormat
  Severity: normal
Classification: Unclassified
OS: Solaris
  Reporter: clu...@e-miles.com
  Hardware: Sun
Status: NEW
   Version: 7.0.30
 Component: Catalina
   Product: Tomcat 7

We are noticing old/stale date/times in out access logs. I copied (and
scrubbed) the entries below from an access log from 2012-10-22.

...,2012-10-15 18:00:56.705-0500,GET ...
...,2012-10-22 10:29:01.801-0500,GET ...
...,2012-10-22 10:29:01.802-0500,GET ...
...,2012-10-22 10:29:01.803-0500,GET ...
...,2012-10-22 10:29:01.804-0500,GET ...
...,2012-10-15 18:00:56.804-0500,GET ...
...,2012-10-15 18:00:56.857-0500,GET ...

We use using the SimpleDateFormat functionality and the beginTime prefix.  Our
pattern is:

%{X-Tomcat-Session}i,%S,%{X-Forwarded-For}i,%h,%u,%{begin:-MM-dd
HH:mm:ss.SSSZ}t,quot;%rquot;,%s,%b,%p,%{Referer}i,quot;%{User-Agent}iquot;,%T

In the example above, jvm/tomcat instance was started on 2012-10-15 at 18:00:41
(a few seconds before the stuck time in the access log) so the  2012-10-15
18:00:56 times are likely related to some caching issues/problems.  We also
occasionally see other log entries with incorrect (but not startup)
dates/times.  For, example, we sometimes see yesterday's date in the access
log.

Also, note that the millisecond times do appear to be correct in that they
increase in a reasonable way and are unrelated to the date and second-truncated
time.

-- 
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 54045] New: ReplicatedMap don't like TcpFailureDetector in static configuration

2012-10-23 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54045

  Priority: P2
Bug ID: 54045
  Assignee: dev@tomcat.apache.org
   Summary: ReplicatedMap don't like TcpFailureDetector in static
configuration
  Severity: major
Classification: Unclassified
  Reporter: frederic.arn...@gmail.com
  Hardware: PC
Status: NEW
   Version: 7.0.32
 Component: Cluster
   Product: Tomcat 7

Tribes stack using:
* TcpPingInterceptor
* TcpFailureDetector
* MessageDispatchInterceptor
* StaticMembershipInterceptor
Do not work well in static cluster.

First side (ie one thread):
* call to TcpFailureDetector.heartbeat()
* call to checkMembers(false)
* call to performBasicCheck() in synchronized(membership)
* in performBasicCheck, for a missing static node:
*   add missing member to membership with membership.memberAlive(m)
*   HERE THE SECOND THREAD HAVE SOME TIME TO WORK
*   check it with memberAlive(m)
*   remove it since if it doesn't exist

Second side (ie another thread):
* some call to channel.getMembers() like what the done by AbstractReplicatedMap
* this call will call the TcpFailureDetector.getMembers()
* this one could return a wrong value since it can contains unavailable nodes

Note:
* synchronize on membership isn't use by TcpFailureDetector in getMember(),
getMembers(), hasMembers(), neither in Membership equivalent method (maybe
because it's too heavy to lock every thread while the TcpFailureDetector check
if node are alive).

It must not be an issue for AbstractReplicatedMap since with or without
TcpFailureDetector a node could disapear while replicated map try to use it.
But ReplicatedMap use always Channel.SEND_OPTIONS_DEFAULT where the value is
Channel.SEND_OPTIONS_USE_ACK. So a message sent to a missing node will fail
with an exception.

Personnaly I override TcpFailureDetector.heartbeat() to avoid
performBasicCheck() if I use a static configuration (TcpPingInterceptor call
performForcedCheck()).
But this doesn't fix ReplicatedMap issue.

Better fix could avoid adding missing member to membership list:
* Add a method like memberAlive(MemberImpl) to Membership without side effect
(add the member)
* in TcpFailureDetector.performBasicCheck(): check this new method before
adding the node


This doesn't fix the AbstractReplicatedMap issue which work always with
acknoledge from other nodes.


Same code for Tomcat 6.


best regards
F.Arnoud

-- 
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 54046] New: JVM crashed with EXCEPTION_ACCESS_VIOLATION, problematic frame C [tcnative-1.dll+0x57d0]

2012-10-23 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54046

  Priority: P2
Bug ID: 54046
  Assignee: dev@tomcat.apache.org
   Summary: JVM crashed with EXCEPTION_ACCESS_VIOLATION,
problematic frame C  [tcnative-1.dll+0x57d0]
  Severity: major
Classification: Unclassified
  Reporter: cristian.vu...@siemens.com
  Hardware: PC
Status: NEW
   Version: 7.0.32
 Component: Connectors
   Product: Tomcat 7

Created attachment 29507
  -- https://issues.apache.org/bugzilla/attachment.cgi?id=29507action=edit
JVM crash log

Unfortunately I was not able to reproduce this problem yet (I happened once on
our systems).

I have attached the error log generated by the JVM when it crashed.

More details about the environment (although this information is also available
in the log):

OS: Windows 2008 R2 64 bit

JVM:
# JRE version: 6.0_30-b12
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20.5-b03 mixed mode windows-amd64
compressed oops)

Tomcat: 7.0.32 windows 64 bit

Web server: Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/0.9.8r mod_jk/1.2.32 

One important note is that this problem appeared after we upgraded from Tomcat
7.0.23 to 7.0.32.

Please let me know if more symptoms are needed.

-- 
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 54046] JVM crashed with EXCEPTION_ACCESS_VIOLATION, problematic frame C [tcnative-1.dll+0x57d0]

2012-10-23 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54046

Cristi Vulpe cristian.vu...@siemens.com changed:

   What|Removed |Added

 OS||Windows Server 2008

-- 
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 54046] JVM crashed with EXCEPTION_ACCESS_VIOLATION, problematic frame C [tcnative-1.dll+0x57d0]

2012-10-23 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54046

Cristi Vulpe cristian.vu...@siemens.com changed:

   What|Removed |Added

 OS||Windows Server 2008

-- 
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: r1401468 - /tomcat/sandbox/trunk-resources/test/org/apache/catalina/webresources/TestFileResourceSet.java

2012-10-23 Thread markt
Author: markt
Date: Tue Oct 23 20:58:29 2012
New Revision: 1401468

URL: http://svn.apache.org/viewvc?rev=1401468view=rev
Log:
Missed file

Added:

tomcat/sandbox/trunk-resources/test/org/apache/catalina/webresources/TestFileResourceSet.java
   (with props)

Added: 
tomcat/sandbox/trunk-resources/test/org/apache/catalina/webresources/TestFileResourceSet.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/test/org/apache/catalina/webresources/TestFileResourceSet.java?rev=1401468view=auto
==
--- 
tomcat/sandbox/trunk-resources/test/org/apache/catalina/webresources/TestFileResourceSet.java
 (added)
+++ 
tomcat/sandbox/trunk-resources/test/org/apache/catalina/webresources/TestFileResourceSet.java
 Tue Oct 23 20:58:29 2012
@@ -0,0 +1,63 @@
+/*
+ * 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.catalina.webresources;
+
+import java.io.File;
+
+import org.apache.catalina.WebResourceRoot;
+import org.apache.catalina.WebResourceSet;
+
+public class TestFileResourceSet extends AbstractTestResourceSet {
+
+@Override
+public WebResourceRoot getWebResourceRoot() {
+File f = new File(getBaseDir());
+TesterWebResourceRoot root = new TesterWebResourceRoot();
+WebResourceSet webResourceSet =
+new DirResourceSet(new TesterWebResourceRoot(),
+f.getAbsolutePath(), , );
+root.setWebResourceSet(webResourceSet);
+
+WebResourceSet f1 = new FileResourceSet(root,
+test/webresources/dir1/f1.txt, f1.txt, );
+root.addPreResources(f1);
+
+WebResourceSet f2 = new FileResourceSet(root,
+test/webresources/dir1/f2.txt, f2.txt, );
+root.addPreResources(f2);
+
+WebResourceSet d1f1 = new FileResourceSet(root,
+test/webresources/dir1/d1/d1-f1.txt, d1/d1-f1.txt, );
+root.addPreResources(d1f1);
+
+WebResourceSet d2f1 = new FileResourceSet(root,
+test/webresources/dir1/d2/d2-f1.txt, d2/d2-f1.txt, );
+root.addPreResources(d2f1);
+
+return root;
+}
+
+@Override
+protected boolean isWriteable() {
+return true;
+}
+
+@Override
+public String getBaseDir() {
+return test/webresources/dir2;
+}
+}

Propchange: 
tomcat/sandbox/trunk-resources/test/org/apache/catalina/webresources/TestFileResourceSet.java
--
svn:eol-style = native



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1401470 - /tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/AbstractFileResourceSet.java

2012-10-23 Thread markt
Author: markt
Date: Tue Oct 23 20:58:55 2012
New Revision: 1401470

URL: http://svn.apache.org/viewvc?rev=1401470view=rev
Log:
Another one

Added:

tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/AbstractFileResourceSet.java
   (with props)

Added: 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/AbstractFileResourceSet.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/AbstractFileResourceSet.java?rev=1401470view=auto
==
--- 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/AbstractFileResourceSet.java
 (added)
+++ 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/AbstractFileResourceSet.java
 Tue Oct 23 20:58:55 2012
@@ -0,0 +1,121 @@
+/*
+ * 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.catalina.webresources;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.apache.catalina.LifecycleException;
+import org.apache.tomcat.util.http.RequestUtil;
+
+public abstract class AbstractFileResourceSet extends AbstractResourceSet {
+
+protected static final String[] EMPTY_STRING_ARRAY = new String[0];
+
+protected final String internalPath;
+protected File fileBase;
+protected String absoluteBase;
+protected String canonicalBase;
+
+protected AbstractFileResourceSet(String internalPath) {
+this.internalPath = internalPath;
+}
+
+protected File file(String name, boolean mustExist) {
+
+File file = new File(fileBase, name);
+if (file.exists()  file.canRead() || !mustExist) {
+
+if (getRoot().getAllowLinking()) {
+return file;
+}
+
+// Check that this file is located under the WebResourceSet's base
+String canPath = null;
+try {
+canPath = file.getCanonicalPath();
+} catch (IOException e) {
+// Ignore
+}
+if (canPath == null)
+return null;
+
+if (!canPath.startsWith(canonicalBase)) {
+return null;
+}
+
+// Case sensitivity check
+// Note: We know the resource is located somewhere under base at
+//   point. The purpose of this code is to check in a case
+//   sensitive manner, the path to the resource under base
+//   agrees with what was requested
+String fileAbsPath = file.getAbsolutePath();
+if (fileAbsPath.endsWith(.))
+fileAbsPath = fileAbsPath + /;
+String absPath = normalize(fileAbsPath);
+if ((absoluteBase.length()  absPath.length())
+ (canonicalBase.length()  canPath.length())) {
+absPath = absPath.substring(absoluteBase.length() + 1);
+if (absPath.equals())
+absPath = /;
+canPath = canPath.substring(canonicalBase.length() + 1);
+if (canPath.equals())
+canPath = /;
+if (!canPath.equals(absPath))
+return null;
+}
+
+} else {
+return null;
+}
+return file;
+}
+
+/**
+ * Return a context-relative path, beginning with a /, that represents
+ * the canonical version of the specified path after .. and . elements
+ * are resolved out.  If the specified path attempts to go outside the
+ * boundaries of the current context (i.e. too many .. path elements
+ * are present), return codenull/code instead.
+ *
+ * @param path Path to be normalized
+ */
+protected String normalize(String path) {
+return RequestUtil.normalize(path, File.separatorChar == '/');
+}
+
+// Lifecycle 
methods
+@Override
+protected void initInternal() throws LifecycleException {
+fileBase = new File(getBase(), internalPath);
+checkType(fileBase);
+
+String absolutePath = fileBase.getAbsolutePath();
+if 

svn commit: r1401472 - /tomcat/trunk/java/org/apache/catalina/loader/VirtualWebappLoader.java

2012-10-23 Thread rjung
Author: rjung
Date: Tue Oct 23 21:00:19 2012
New Revision: 1401472

URL: http://svn.apache.org/viewvc?rev=1401472view=rev
Log:
Fix NPE in unconfigured VirtualWebappLoader.
StringTokenizer throws the NPE if the virtualClassPath
wasn't explicitely configured (null by default).

This might not be observed in the wild because a
VirtualWebappLoader without a configured virtualClassPath
isn't expected. But if you extend the class and add
features, then this might well happen.

Modified:
tomcat/trunk/java/org/apache/catalina/loader/VirtualWebappLoader.java

Modified: tomcat/trunk/java/org/apache/catalina/loader/VirtualWebappLoader.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/VirtualWebappLoader.java?rev=1401472r1=1401471r2=1401472view=diff
==
--- tomcat/trunk/java/org/apache/catalina/loader/VirtualWebappLoader.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/loader/VirtualWebappLoader.java Tue 
Oct 23 21:00:19 2012
@@ -57,7 +57,7 @@ public class VirtualWebappLoader extends
 /**
  * code;/code separated list of additional path elements.
  */
-private String virtualClasspath;
+private String virtualClasspath = ;
 
 /**
  * Construct a new WebappLoader with no defined parent class loader (so 
that



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1401477 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/loader/VirtualWebappLoader.java

2012-10-23 Thread rjung
Author: rjung
Date: Tue Oct 23 21:04:54 2012
New Revision: 1401477

URL: http://svn.apache.org/viewvc?rev=1401477view=rev
Log:
Fix NPE in unconfigured VirtualWebappLoader.
StringTokenizer throws the NPE if the virtualClassPath
wasn't explicitely configured (null by default).

This might not be observed in the wild because a
VirtualWebappLoader without a configured virtualClassPath
isn't expected. But if you extend the class and add
features, then this might well happen.

Backport of r1401472 from trunk.

Modified:
tomcat/tc7.0.x/trunk/   (props changed)

tomcat/tc7.0.x/trunk/java/org/apache/catalina/loader/VirtualWebappLoader.java

Propchange: tomcat/tc7.0.x/trunk/
--
  Merged /tomcat/trunk:r1401472

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/loader/VirtualWebappLoader.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/loader/VirtualWebappLoader.java?rev=1401477r1=1401476r2=1401477view=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/loader/VirtualWebappLoader.java 
(original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/loader/VirtualWebappLoader.java 
Tue Oct 23 21:04:54 2012
@@ -57,7 +57,7 @@ public class VirtualWebappLoader extends
 /**
  * code;/code separated list of additional path elements.
  */
-private String virtualClasspath;
+private String virtualClasspath = ;
 
 /**
  * Construct a new WebappLoader with no defined parent class loader (so 
that



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1401489 - in /tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources: AbstractFileResourceSet.java FileResourceSet.java

2012-10-23 Thread markt
Author: markt
Date: Tue Oct 23 21:18:24 2012
New Revision: 1401489

URL: http://svn.apache.org/viewvc?rev=1401489view=rev
Log:
Review use of '/'

Modified:

tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/AbstractFileResourceSet.java

tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/FileResourceSet.java

Modified: 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/AbstractFileResourceSet.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/AbstractFileResourceSet.java?rev=1401489r1=1401488r2=1401489view=diff
==
--- 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/AbstractFileResourceSet.java
 (original)
+++ 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/AbstractFileResourceSet.java
 Tue Oct 23 21:18:24 2012
@@ -65,7 +65,7 @@ public abstract class AbstractFileResour
 //   agrees with what was requested
 String fileAbsPath = file.getAbsolutePath();
 if (fileAbsPath.endsWith(.))
-fileAbsPath = fileAbsPath + /;
+fileAbsPath = fileAbsPath + '/';
 String absPath = normalize(fileAbsPath);
 if ((absoluteBase.length()  absPath.length())
  (canonicalBase.length()  canPath.length())) {
@@ -106,7 +106,7 @@ public abstract class AbstractFileResour
 
 String absolutePath = fileBase.getAbsolutePath();
 if (absolutePath.endsWith(.)) {
-absolutePath = absolutePath + /;
+absolutePath = absolutePath + '/';
 }
 this.absoluteBase = normalize(absolutePath);
 

Modified: 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/FileResourceSet.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/FileResourceSet.java?rev=1401489r1=1401488r2=1401489view=diff
==
--- 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/FileResourceSet.java
 (original)
+++ 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/FileResourceSet.java
 Tue Oct 23 21:18:24 2012
@@ -77,7 +77,7 @@ public class FileResourceSet extends Abs
 public WebResource getResource(String path) {
 checkPath(path);
 
-String webAppMount = / + getWebAppMount();
+String webAppMount = '/' + getWebAppMount();
 WebResourceRoot root = getRoot();
 if (path.equals(webAppMount)) {
 File f = file(, true);
@@ -95,9 +95,9 @@ public class FileResourceSet extends Abs
 checkPath(path);
 
 if (path.charAt(path.length() - 1) != '/') {
-path = path + /;
+path = path + '/';
 }
-String webappMount = / + getWebAppMount();
+String webappMount = '/' + getWebAppMount();
 
 if (webappMount.startsWith(path)) {
 webappMount = webappMount.substring(path.length());
@@ -115,9 +115,9 @@ public class FileResourceSet extends Abs
 ResourceSetString result = new ResourceSet();
 
 if (path.charAt(path.length() - 1) != '/') {
-path = path + /;
+path = path + '/';
 }
-String webappMount = / + getWebAppMount();
+String webappMount = '/' + getWebAppMount();
 
 if (webappMount.startsWith(path)) {
 webappMount = webappMount.substring(path.length());



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 54036] currentThreadsBusy issue in centos 6

2012-10-23 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54036

--- Comment #11 from Pid bugzi...@pidster.com ---
Creating a load test that sends 100s of requests per second isn't so hard.

A test case that reproduces a particular outcome is the only way for the Tomcat
community to analyse and fix an issue.

-- 
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 54044] AccessLogValve using stale date/time with SimpleDateFormat

2012-10-23 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54044

--- Comment #1 from Rainer Jung rainer.j...@kippdata.de ---
Note that begin times can be old if your request take a long time to finish.

Can you please add %D to your pattern, which will output the request duration
in milliseconds. This is to check, whether the old time stamps belong to
requests that took very long in processing.

I suggest:

%{X-Tomcat-Session}i,%S,%{X-Forwarded-For}i,%h,%u,%{begin:-MM-dd
HH:mm:ss.SSSZ}t,quot;%rquot;,%s,%b,%p,%{Referer}i,quot;%{User-Agent}iquot;,%T,%{begin},%{end},%{end:-MM-dd
HH:mm:ss.SSSZ}t,%D

during this debugging so you can check the consistency of begin time, end time
and duration as well as consistency with the CLF formatted begin and end time
stamps which are formatted by a slightly different format cache.

-- 
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



[jira] [Closed] (MTOMCAT-182) Typo in Tomcat6 AbstractRunWarMojo MOJO

2012-10-23 Thread *$^¨%`£

 [ 
https://issues.apache.org/jira/browse/MTOMCAT-182?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Olivier Lamy (*$^¨%`£) closed MTOMCAT-182.
--

   Resolution: Duplicate
Fix Version/s: 2.1

thanks for the report.
already fixed see MTOMCAT-175

 Typo in Tomcat6 AbstractRunWarMojo MOJO
 ---

 Key: MTOMCAT-182
 URL: https://issues.apache.org/jira/browse/MTOMCAT-182
 Project: Apache Tomcat Maven Plugin
  Issue Type: Bug
  Components: tomcat6
Affects Versions: 2.0
Reporter: Steve Jerman
Assignee: Olivier Lamy (*$^¨%`£)
 Fix For: 2.1


 Hi,
 There is a typo introduced in the 2.0 release:
 [AbstractRunWarMojo|http://tomcat.apache.org/maven-plugin-2.0/tomcat6-maven-plugin/xref/org/apache/tomcat/maven/plugin/tomcat6/AbstractRunWarMojo.html]
 42  @Parameter( defaultValue = 
 ${project.build.directory}/${project.build.finalName, required = true )
 43  private File warDirectory;
 I can work around .. but I think it will affect everyone...

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1401496 - /tomcat/sandbox/trunk-resources/

2012-10-23 Thread markt
Author: markt
Date: Tue Oct 23 21:37:45 2012
New Revision: 1401496

URL: http://svn.apache.org/viewvc?rev=1401496view=rev
Log:
Sync with trunk

Modified:
tomcat/sandbox/trunk-resources/   (props changed)

Propchange: tomcat/sandbox/trunk-resources/
--
  Merged /tomcat/trunk:r1401253-1401495



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 54044] AccessLogValve using stale date/time with SimpleDateFormat

2012-10-23 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54044

--- Comment #2 from Casey Lucas clu...@e-miles.com ---
I restarted earlier today with an updated pattern trying to get some more
useful information.  The format was not the one you recommended (since it was
before your request) but I added:

%I - thread - in case the problem is thread related
%t
%{sec}t

For a final pattern of:

%{X-Tomcat-Session}i,%S,%{X-Forwarded-For}i,%h,%u,%I,%t,%{sec}t,%{begin:-MM-dd
HH:mm:ss.SSSZ}t,quot;%rquot;,%s,%b,%p,%{Referer}i,quot;%{User-Agent}iquot;,%T

The actual time of capture was 23/Oct/2012:14:49:59. I left on the %T data
which is small.  These were not long duration requests.  Note the 11:18:18
entries. 11:18:18 is a few seconds after the jvm was started. I thought this
might be relavent because of the child/parent caching logic in AccessLogValve.

 ... ,tomcat-exec-20,[23/Oct/2012:14:49:59 -0500],1351021799,2012-10-23
14:49:59.341-0500,GET ... ,0.000
 ... ,tomcat-exec-5,[23/Oct/2012:14:49:59 -0500],1351021799,2012-10-23
14:49:59.337-0500,GET ... ,0.005
 ... ,tomcat-exec-18,[23/Oct/2012:14:49:59 -0500],1351021799,2012-10-23
14:49:58.833-0500,GET ... ,0.590
 ... ,tomcat-exec-20,[23/Oct/2012:14:49:59 -0500],1351021799,2012-10-23
14:49:59.424-0500,GET ... ,0.002
 ... ,tomcat-exec-5,[23/Oct/2012:14:49:59 -0500],1351021799,2012-10-23
14:49:59.424-0500,GET ... ,0.009
 ... ,tomcat-exec-18,[23/Oct/2012:14:49:59 -0500],1351021799,2012-10-23
11:18:18.433-0500,GET ... ,0.001
 ... ,tomcat-exec-20,[23/Oct/2012:14:49:59 -0500],1351021799,2012-10-23
14:49:59.431-0500,GET ... ,0.008
 ... ,tomcat-exec-25,[23/Oct/2012:14:49:59 -0500],1351021799,2012-10-23
11:18:18.444-0500,GET ... ,0.007
 ... ,tomcat-exec-25,[23/Oct/2012:14:49:59 -0500],1351021799,2012-10-23
11:18:18.545-0500,GET ... ,0.007
 ... ,tomcat-exec-25,[23/Oct/2012:14:49:59 -0500],1351021799,2012-10-23
11:18:18.555-0500,GET ... ,0.009
 ... ,tomcat-exec-25,[23/Oct/2012:14:49:59 -0500],1351021799,2012-10-23
11:18:18.645-0500,GET ... ,0.004
 ... ,tomcat-exec-18,[23/Oct/2012:14:49:59 -0500],1351021799,2012-10-23
11:18:18.645-0500,GET ... ,0.006
 ... ,tomcat-exec-25,[23/Oct/2012:14:49:59 -0500],1351021799,2012-10-23
11:18:18.654-0500,GET ... ,0.001
 ... ,tomcat-exec-18,[23/Oct/2012:14:49:59 -0500],1351021799,2012-10-23
11:18:18.653-0500,GET ... ,0.012
 ... ,tomcat-exec-25,[23/Oct/2012:14:49:59 -0500],1351021799,2012-10-23
11:18:18.665-0500,GET ... ,0.012
 ... ,tomcat-exec-25,[23/Oct/2012:14:49:59 -0500],1351021799,2012-10-23
11:18:18.765-0500,GET ... ,0.006
 ... ,tomcat-exec-25,[23/Oct/2012:14:49:59 -0500],1351021799,2012-10-23
11:18:18.855-0500,GET ... ,0.006
 ... ,tomcat-exec-25,[23/Oct/2012:14:49:59 -0500],1351021799,2012-10-23
11:18:18.865-0500,GET ... ,0.008
 ... ,tomcat-exec-25,[23/Oct/2012:14:49:59 -0500],1351021799,2012-10-23
11:18:18.885-0500,GET ... ,0.012
 ... ,tomcat-exec-25,[23/Oct/2012:14:49:59 -0500],1351021799,2012-10-23
11:18:18.901-0500,GET ... ,0.007
 ... ,tomcat-exec-25,[23/Oct/2012:14:49:59 -0500],1351021799,2012-10-23
11:18:18.911-0500,GET ... ,0.010
 ... ,tomcat-exec-25,[23/Oct/2012:14:49:59 -0500],1351021799,2012-10-23
11:18:18.925-0500,GET ... ,0.010
 ... ,tomcat-exec-25,[23/Oct/2012:14:50:00 -0500],1351021800,2012-10-23
11:18:18.976-0500,GET ... ,0.082
 ... ,tomcat-exec-5,[23/Oct/2012:14:50:00 -0500],1351021800,2012-10-23
14:50:00.075-0500,GET ... ,0.010
 ... ,tomcat-exec-5,[23/Oct/2012:14:50:00 -0500],1351021800,2012-10-23
14:50:00.146-0500,GET ... ,0.011
 ... ,tomcat-exec-5,[23/Oct/2012:14:50:00 -0500],1351021800,2012-10-23
14:50:00.161-0500,GET ... ,0.012

I can update the pattern to be the one you requested but it may take some time
to see the issue crop up again. In the mean time the above data may be useful.

-- 
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



buildbot failure in ASF Buildbot on tomcat-trunk

2012-10-23 Thread buildbot
The Buildbot has detected a new failure on builder tomcat-trunk while building 
ASF Buildbot.
Full details are available at:
 http://ci.apache.org/builders/tomcat-trunk/builds/3484

Buildbot URL: http://ci.apache.org/

Buildslave for this Build: bb-vm_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch tomcat/trunk] 1401503
Blamelist: markt

BUILD FAILED: failed compile_1

sincerely,
 -The Buildbot