Re: [VOTE] Release Apache Tomcat 8.0.0-RC9

2013-12-18 Thread Rémy Maucherat
2013/12/18 Mark Thomas ma...@apache.org

 The proposed Apache Tomcat 8.0.0 release candidate 9 is now available
 for voting.

 Given this is a release candidate I am working on the basis that it is
 equivalent to an alpha. The main changes since RC5 are:
 - Better handling of generic types in the WebSocket 1.0 implementation
 - Refactor resource handling for the class loader
 - Add Cobertura support to the unit tests
 - Remove anti-Jar locking feature and replace it with open stream
   tracking
 - Update to a post Commons Pool 2.0 release snapshot
 - Complete refactoring of TLD handling including caching of parsed TLDs
 - More consistent handling of XML validation options
 - Much more detailed visibility of DBCP connections pools in JMX
 - Better organisation of JMX beans in the default JConsole view
 - Performance improvements
 - Numerous bug fixes

 It can be obtained from:
 https://dist.apache.org/repos/dist/dev/tomcat/tomcat-8/v8.0.0-RC9/
 The Maven staging repo is:
 https://repository.apache.org/content/repositories/orgapachetomcat-063/
 The svn tag is:
 http://svn.apache.org/repos/asf/tomcat/tags/TOMCAT_8_0_0_RC9/

 The proposed 8.0.0-RC9 release is:
 [ ] Broken - do not release
 [X] Alpha - go ahead and release as 8.0.0-RC9 alpha


Rémy


Re: svn commit: r1551729 - /tomcat/tc7.0.x/trunk/test/org/apache/catalina/websocket/TestWebSocket.java

2013-12-18 Thread Rainer Jung
On 17.12.2013 23:06, sebb wrote:
 On 17 December 2013 21:43,  rj...@apache.org wrote:
 Author: rjung
 Date: Tue Dec 17 21:43:02 2013
 New Revision: 1551729

 URL: http://svn.apache.org/r1551729
 Log:
 Fix occasional test failure.

 The WebSocketClient first read headers via
 a BufferedReader, then tried to read the body
 via the underlying InputStream. Depending on
 the structure of the incoming packets reading
 the body failed because some bytes were already
 buffered in the reader and no longer available
 by the stream. The switch between rader and stream
 was motivated, because the decoding also had to
 switch from ISO-8859-1 (headers) to UTF-8 (body).

 We now simulate a rudimentary reader which always
 reads from the stream and allows to change the
 decoding charset while reading.
 
 It would be helpful to include this log message in the code comments.
 
 The commit log is basically ephemeral - it should (only) document why
 the commit was made.
 In this case Fix occasional test failure. would be sufficient.
 
 Comments that may be needed to understand why the code behaves in a
 particular way belong as comments in the code.
 After all, the mission of the ASF is to release source, which should
 be able to stand on its own.

That's why I added the comment

+/*
+ * This is not a real reader but just a thin wrapper around
+ * an input stream that allows to switch encoding during
+ * reading.
+ * An example is reading headers using ISO-8859-1 and a body
+ * using UTF-8.
+ * The class is not thread-safe and not well-performing.
+ */

to the class. IMHO here it doesn't make sense to add an explanation for
the old no longer existing bug. IMHO it is a general anti-pattern not
especially related to this test class so it doesn't make sense to
document any past bugs in the code.

Regards,

Rainer

 Modified:
 
 tomcat/tc7.0.x/trunk/test/org/apache/catalina/websocket/TestWebSocket.java

 Modified: 
 tomcat/tc7.0.x/trunk/test/org/apache/catalina/websocket/TestWebSocket.java
 URL: 
 http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/org/apache/catalina/websocket/TestWebSocket.java?rev=1551729r1=1551728r2=1551729view=diff
 ==
 --- 
 tomcat/tc7.0.x/trunk/test/org/apache/catalina/websocket/TestWebSocket.java 
 (original)
 +++ 
 tomcat/tc7.0.x/trunk/test/org/apache/catalina/websocket/TestWebSocket.java 
 Tue Dec 17 21:43:02 2013
 @@ -16,13 +16,11 @@
   */
  package org.apache.catalina.websocket;

 -import java.io.BufferedReader;
 +import java.io.BufferedInputStream;
  import java.io.IOException;
  import java.io.InputStream;
 -import java.io.InputStreamReader;
  import java.io.OutputStream;
  import java.io.OutputStreamWriter;
 -import java.io.Reader;
  import java.io.Writer;
  import java.net.InetSocketAddress;
  import java.net.Socket;
 @@ -382,12 +380,11 @@ public class TestWebSocket extends Tomca

  private static class WebSocketClient {
  private OutputStream os;
 -private InputStream is;
  private boolean isContinuation = false;
  final String encoding = ISO-8859-1;
 -private Socket socket ;
 -private Writer writer ;
 -private BufferedReader reader;
 +private Socket socket;
 +private Writer writer;
 +private CustomReader reader;

  public WebSocketClient(int port) {
  SocketAddress addr = new InetSocketAddress(localhost, port);
 @@ -397,9 +394,7 @@ public class TestWebSocket extends Tomca
  socket.connect(addr, 1);
  os = socket.getOutputStream();
  writer = new OutputStreamWriter(os, encoding);
 -is = socket.getInputStream();
 -Reader r = new InputStreamReader(is, encoding);
 -reader = new BufferedReader(r);
 +reader = new CustomReader(socket.getInputStream(), 
 encoding);
  } catch (Exception e) {
  throw new RuntimeException(e);
  }
 @@ -449,28 +444,100 @@ public class TestWebSocket extends Tomca
  }

  private String readMessage() throws IOException {
 -ByteChunk bc = new ByteChunk(125);
 -CharChunk cc = new CharChunk(125);

  // Skip first byte
 -is.read();
 +reader.read();

  // Get payload length
 -int len = is.read()  0x7F;
 +int len = reader.read()  0x7F;
  assertTrue(len  126);

  // Read payload
 -int read = 0;
 -while (read  len) {
 -read = read + is.read(bc.getBytes(), read, len - read);
 +reader.setEncoding(UTF-8);
 +return reader.read(len);
 +}
 +/*
 + * This is not a real reader but just a thin wrapper around
 + * an input stream that allows to switch encoding during
 

svn commit: r1551885 - /tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

2013-12-18 Thread kkolinko
Author: kkolinko
Date: Wed Dec 18 08:53:56 2013
New Revision: 1551885

URL: http://svn.apache.org/r1551885
Log:
Followup to r1551495: Fix typo in changelog.

Modified:
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1551885r1=1551884r2=1551885view=diff
==
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Wed Dec 18 08:53:56 2013
@@ -105,7 +105,7 @@
 received the codeMapMessage.MSG_STOP/code. (kfujino)
   /fix
   fix
-Add time stamp to codeGET_ALL_SESSION/code message. (kfujino)
+Add time stamp to codeGET_ALL_SESSIONS/code message. (kfujino)
   /fix
 /changelog
   /subsection



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



[Bug 55903] New: tomcat7-mango service on server is stopped unexpectedly and there is a java core file

2013-12-18 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=55903

Bug ID: 55903
   Summary: tomcat7-mango service on server is stopped
unexpectedly and there is a java core file
   Product: Tomcat 7
   Version: 7.0.37
  Hardware: PC
OS: Linux
Status: NEW
  Severity: critical
  Priority: P2
 Component: Catalina
  Assignee: dev@tomcat.apache.org
  Reporter: ekh...@mera.ru

Created attachment 31130
  -- https://issues.apache.org/bugzilla/attachment.cgi?id=31130action=edit
log file

Tomcat unexpectedly stopped after several hours traffic
we are using TC_37 with lib  tcnative-1.1.28 as recomended in bug
https://issues.apache.org/bugzilla/show_bug.cgi?id=55588
but we're still experiencing the following error:

# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x, pid=7770, tid=935426960
#
# JRE version: 6.0_43-b01
# Java VM: Java HotSpot(TM) Server VM (20.14-b01 mixed mode linux-x86 )
# Problematic frame:
# C  0x
#
# An error report file with more information is saved as:
# /tmp/hs_err_pid7770.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

please give me know if it is worth to attach core file?

-- 
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 55903] tomcat7-mango service on server is stopped unexpectedly and there is a java core file

2013-12-18 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=55903

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

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WORKSFORME

--- Comment #1 from Mark Thomas ma...@apache.org ---
You need to upgrade to tcnative-1.1.29 and the latest (or at least 7.0.47)
Tomcat 7.0.x release.

-- 
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 55903] tomcat7-mango service on server is stopped unexpectedly and there is a java core file

2013-12-18 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=55903

--- Comment #2 from Ekaterina ekh...@mera.ru ---
hello Mark,
Thank you for so quick answer.
Sorry for mistype. we are using tcnative-1.1.29 and TC_37.

please give me know if it is possible to solve this issue without upgrade on
7.0.47. We have no possibility to do this upgrade now.

-- 
You are receiving this mail because:
You are the assignee for the bug.

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



Re: [VOTE] Release Apache Tomcat 8.0.0-RC9

2013-12-18 Thread Mark Thomas
On 18/12/2013 00:59, Mark Thomas wrote:
 The proposed Apache Tomcat 8.0.0 release candidate 9 is now available
 for voting.
 
 Given this is a release candidate I am working on the basis that it is
 equivalent to an alpha. The main changes since RC5 are:
 - Better handling of generic types in the WebSocket 1.0 implementation
 - Refactor resource handling for the class loader
 - Add Cobertura support to the unit tests
 - Remove anti-Jar locking feature and replace it with open stream
   tracking
 - Update to a post Commons Pool 2.0 release snapshot
 - Complete refactoring of TLD handling including caching of parsed TLDs
 - More consistent handling of XML validation options
 - Much more detailed visibility of DBCP connections pools in JMX
 - Better organisation of JMX beans in the default JConsole view
 - Performance improvements
 - Numerous bug fixes
 
 It can be obtained from:
 https://dist.apache.org/repos/dist/dev/tomcat/tomcat-8/v8.0.0-RC9/
 The Maven staging repo is:
 https://repository.apache.org/content/repositories/orgapachetomcat-063/
 The svn tag is:
 http://svn.apache.org/repos/asf/tomcat/tags/TOMCAT_8_0_0_RC9/
 
 The proposed 8.0.0-RC9 release is:
 [ ] Broken - do not release
 [X] Alpha - go ahead and release as 8.0.0-RC9 alpha

Unit tests pass on 64-bit Windows, Linux and OSX.

Mark


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



Re: Current sporadic test suite failures

2013-12-18 Thread Rainer Jung
On 17.12.2013 11:01, Rainer Jung wrote:
 A) TC 7
 ===
 
 3) org.apache.tomcat.websocket.TestWsSubprotocols
 -
 
 1 x bio, 1 x nio
 
 
 Failure:
 
 Testcase: testWsSubprotocols took 4.005 sec
 Caused an ERROR
 null
 java.lang.NullPointerException
 at
 org.apache.tomcat.websocket.TestWsSubprotocols.testWsSubprotocols(TestWsSubprotocols.java:89)
 
 
 Logs: Nothing interesting
 
 
 Next steps: I'll add some debug logs locally to TestWsSubprotocols and
 see how far I get.

Added logging shows:

- Most often the sequence is SubProtocolsEndpoint.processOpen(), then
the subprotocol assertion check which comes after
wsContainer.connectToServer() and wsSession.isOpen() and finally another
SubProtocolsEndpoint.processOpen(). In this case the test succeeds.

- Rarely the assertion check comes after both
SubProtocolsEndpoint.processOpen() calls, then the test also succeeds

- Rarely the assertion check comes before the two calls to
SubProtocolsEndpoint.processOpen(), then the test fails with NPE,
because SubProtocolsEndpoint.subprotocols wasn't assigned yet (that
happens in SubProtocolsEndpoint.processOpen()).

Would it be OK to add a short sleep before the assertion or does that
changed order of execution in fact indicate a server side problem
instead of a test impl problem?

Regards,

Rainer


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



Re: Code signing trial - volunteers wanted

2013-12-18 Thread Rainer Jung
On 18.12.2013 01:24, Mark Thomas wrote:
 The infrastructure team is about to start a trial of a code signing
 service provided by Symantec. Tomcat is going to be the guinea pig for
 this trial. As part of the trial we want to test the mapping of the
 roles in the service to the roles at the ASF. We are therefore looking
 for two volunteers. Both volunteers need to be Tomcat committers. At
 least one of the volunteers needs to be a PMC member.
 
 My outline plan at the moment is something like:
 - Set up the test signing service
 - Figure out how to sign our Windows installer
 - Script the process
 - Get volunteer one (who will have RM permissions) to do a test release
 - Get volunteer two (who will have PMC permissions) to approve the test
 release for signing
 
 The idea is that any committer can be a release manager and upload a
 release for signing but only a PMC member can approve the upload for
 signing. Figuring out if that process is workable is part of the trial.

If you like, I can try the approval step. It depends a bit on the
infrastructure needed and during the next 2 weeks I might not always be
available.

Regards,

Rainer


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



Re: [VOTE] Release Apache Tomcat 8.0.0-RC9

2013-12-18 Thread Daniel Mikusa
On Dec 17, 2013, at 7:59 PM, Mark Thomas ma...@apache.org wrote:

 The proposed Apache Tomcat 8.0.0 release candidate 9 is now available
 for voting.
 
 Given this is a release candidate I am working on the basis that it is
 equivalent to an alpha. The main changes since RC5 are:
 - Better handling of generic types in the WebSocket 1.0 implementation
 - Refactor resource handling for the class loader
 - Add Cobertura support to the unit tests
 - Remove anti-Jar locking feature and replace it with open stream
  tracking
 - Update to a post Commons Pool 2.0 release snapshot
 - Complete refactoring of TLD handling including caching of parsed TLDs
 - More consistent handling of XML validation options
 - Much more detailed visibility of DBCP connections pools in JMX
 - Better organisation of JMX beans in the default JConsole view
 - Performance improvements
 - Numerous bug fixes
 
 It can be obtained from:
 https://dist.apache.org/repos/dist/dev/tomcat/tomcat-8/v8.0.0-RC9/
 The Maven staging repo is:
 https://repository.apache.org/content/repositories/orgapachetomcat-063/
 The svn tag is:
 http://svn.apache.org/repos/asf/tomcat/tags/TOMCAT_8_0_0_RC9/
 
 The proposed 8.0.0-RC9 release is:
 [ ] Broken - do not release
 [X] Alpha - go ahead and release as 8.0.0-RC9 alpha

Dan

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


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



svn commit: r1551933 - /tomcat/tc7.0.x/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java

2013-12-18 Thread rjung
Author: rjung
Date: Wed Dec 18 13:16:54 2013
New Revision: 1551933

URL: http://svn.apache.org/r1551933
Log:
- Add a 100 ms sleep to allow for the server side to
  handle the request the client generated before
  checking for the side-effects
- Clean up subprotocols at end of test to keep
  the two tests independent of each other

Modified:

tomcat/tc7.0.x/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java

Modified: 
tomcat/tc7.0.x/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java?rev=1551933r1=1551932r2=1551933view=diff
==
--- 
tomcat/tc7.0.x/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java 
(original)
+++ 
tomcat/tc7.0.x/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java 
Wed Dec 18 13:16:54 2013
@@ -72,11 +72,17 @@ public class TestWsSubprotocols extends 
 .build(), new URI(ws://localhost: + getPort()
 + SubProtocolsEndpoint.PATH_BASIC));
 
+try {
+Thread.sleep(100);
+} catch (InterruptedException e) {
+// Ignore
+}
 Assert.assertTrue(wsSession.isOpen());
 if (wsSession.getNegotiatedSubprotocol() != null) {
 Assert.assertTrue(wsSession.getNegotiatedSubprotocol().isEmpty());
 }
 wsSession.close();
+SubProtocolsEndpoint.recycle();
 
 wsSession = wsContainer.connectToServer(
 TesterProgrammaticEndpoint.class, ClientEndpointConfig.Builder
@@ -84,11 +90,17 @@ public class TestWsSubprotocols extends 
 .build(), new URI(ws://localhost: + getPort()
 + SubProtocolsEndpoint.PATH_BASIC));
 
+try {
+Thread.sleep(100);
+} catch (InterruptedException e) {
+// Ignore
+}
 Assert.assertTrue(wsSession.isOpen());
 Assert.assertEquals(sp2, wsSession.getNegotiatedSubprotocol());
 Assert.assertArrayEquals(new String[]{sp1,sp2},
 SubProtocolsEndpoint.subprotocols.toArray(new String[2]));
 wsSession.close();
+SubProtocolsEndpoint.recycle();
 }
 
 @ServerEndpoint(value = /echo, subprotocols = {sp1,sp2})
@@ -102,6 +114,10 @@ public class TestWsSubprotocols extends 
 subprotocols = ((ServerEndpointConfig)epc).getSubprotocols();
 }
 
+public static void recycle() {
+subprotocols = null;
+}
+
 }
 
 public static class Config extends WsContextListener {
@@ -118,4 +134,4 @@ public class TestWsSubprotocols extends 
 }
 }
 }
-}
\ No newline at end of file
+}



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



Re: Current sporadic test suite failures

2013-12-18 Thread Rainer Jung
On 18.12.2013 13:12, Rainer Jung wrote:
 On 17.12.2013 11:01, Rainer Jung wrote:
 A) TC 7
 ===

 3) org.apache.tomcat.websocket.TestWsSubprotocols
 -

 1 x bio, 1 x nio


 Failure:

 Testcase: testWsSubprotocols took 4.005 sec
 Caused an ERROR
 null
 java.lang.NullPointerException
 at
 org.apache.tomcat.websocket.TestWsSubprotocols.testWsSubprotocols(TestWsSubprotocols.java:89)


 Added logging shows:
 
 - Most often the sequence is SubProtocolsEndpoint.processOpen(), then
 the subprotocol assertion check which comes after
 wsContainer.connectToServer() and wsSession.isOpen() and finally another
 SubProtocolsEndpoint.processOpen(). In this case the test succeeds.
 
 - Rarely the assertion check comes after both
 SubProtocolsEndpoint.processOpen() calls, then the test also succeeds
 
 - Rarely the assertion check comes before the two calls to
 SubProtocolsEndpoint.processOpen(), then the test fails with NPE,
 because SubProtocolsEndpoint.subprotocols wasn't assigned yet (that
 happens in SubProtocolsEndpoint.processOpen()).
 
 Would it be OK to add a short sleep before the assertion or does that
 changed order of execution in fact indicate a server side problem
 instead of a test impl problem?

OK, it is expected that sometimes the main (client) thread proceeds to
fast and the server side hasn't yet done what the client expects, so the
subprotocols side-effect that is used to check for success hasn't yet
materialized. Adding a 100ms sleep seems to be long enough (probably in
combination with the associated thread yield) to allow the server side
to make progress.

I also added a reset for the subprotocols field to the end of the two
tests, so that the first test doesn't influence the result of the second
(which was actually the case for most runs here).

So this was also only a problem in the test impl.

Regards,

Rainer


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



Re: Code signing trial - volunteers wanted

2013-12-18 Thread Mark Thomas
On 18/12/2013 13:05, Rainer Jung wrote:
 On 18.12.2013 01:24, Mark Thomas wrote:
 The infrastructure team is about to start a trial of a code signing
 service provided by Symantec. Tomcat is going to be the guinea pig for
 this trial. As part of the trial we want to test the mapping of the
 roles in the service to the roles at the ASF. We are therefore looking
 for two volunteers. Both volunteers need to be Tomcat committers. At
 least one of the volunteers needs to be a PMC member.

 My outline plan at the moment is something like:
 - Set up the test signing service
 - Figure out how to sign our Windows installer
 - Script the process
 - Get volunteer one (who will have RM permissions) to do a test release
 - Get volunteer two (who will have PMC permissions) to approve the test
 release for signing

 The idea is that any committer can be a release manager and upload a
 release for signing but only a PMC member can approve the upload for
 signing. Figuring out if that process is workable is part of the trial.
 
 If you like, I can try the approval step. It depends a bit on the
 infrastructure needed and during the next 2 weeks I might not always be
 available.

Thanks. I suspect things won't progress that fast any way. This is more
likely to be a task for January. There is a web based GUI and an API.
Part of the test is to figure out which works best for us but either way
the local infrastructure requirements should be minimal.

Cheers,

Mark


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



Re: Current sporadic test suite failures

2013-12-18 Thread Mark Thomas
On 18/12/2013 13:20, Rainer Jung wrote:
 On 18.12.2013 13:12, Rainer Jung wrote:
 On 17.12.2013 11:01, Rainer Jung wrote:
 A) TC 7
 ===

 3) org.apache.tomcat.websocket.TestWsSubprotocols
 -

 1 x bio, 1 x nio


 Failure:

 Testcase: testWsSubprotocols took 4.005 sec
 Caused an ERROR
 null
 java.lang.NullPointerException
 at
 org.apache.tomcat.websocket.TestWsSubprotocols.testWsSubprotocols(TestWsSubprotocols.java:89)


 Added logging shows:

 - Most often the sequence is SubProtocolsEndpoint.processOpen(), then
 the subprotocol assertion check which comes after
 wsContainer.connectToServer() and wsSession.isOpen() and finally another
 SubProtocolsEndpoint.processOpen(). In this case the test succeeds.

 - Rarely the assertion check comes after both
 SubProtocolsEndpoint.processOpen() calls, then the test also succeeds

 - Rarely the assertion check comes before the two calls to
 SubProtocolsEndpoint.processOpen(), then the test fails with NPE,
 because SubProtocolsEndpoint.subprotocols wasn't assigned yet (that
 happens in SubProtocolsEndpoint.processOpen()).

 Would it be OK to add a short sleep before the assertion or does that
 changed order of execution in fact indicate a server side problem
 instead of a test impl problem?
 
 OK, it is expected that sometimes the main (client) thread proceeds to
 fast and the server side hasn't yet done what the client expects, so the
 subprotocols side-effect that is used to check for success hasn't yet
 materialized. Adding a 100ms sleep seems to be long enough (probably in
 combination with the associated thread yield) to allow the server side
 to make progress.

Based on previous experience a fixed sleep approach can be fragile. It
often continued to fail on heavily loaded systems (like the CI system
often is). The wait up to ~5 seconds with a while loop that tests every
10/50/100ms (take your pick) approach was more robust and tended to
result in more stable test results.

 I also added a reset for the subprotocols field to the end of the two
 tests, so that the first test doesn't influence the result of the second
 (which was actually the case for most runs here).

Good idea.

 So this was also only a problem in the test impl.

Agreed. Thanks for looking into this.

Mark


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



svn commit: r1551952 - /tomcat/tc6.0.x/trunk/webapps/docs/config/context.xml

2013-12-18 Thread markt
Author: markt
Date: Wed Dec 18 14:25:40 2013
New Revision: 1551952

URL: http://svn.apache.org/r1551952
Log:
CTR Docs only
Order attributes alphabetically
Move TLD attributes to the common section since they are part of the Context 
interface definition

Modified:
tomcat/tc6.0.x/trunk/webapps/docs/config/context.xml

Modified: tomcat/tc6.0.x/trunk/webapps/docs/config/context.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/config/context.xml?rev=1551952r1=1551951r2=1551952view=diff
==
--- tomcat/tc6.0.x/trunk/webapps/docs/config/context.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/config/context.xml Wed Dec 18 14:25:40 
2013
@@ -337,18 +337,34 @@
 be overridden by the strongemptySessionPath/strong attribute on the
 connector used to access this Context./p
   /attribute
+  
+  attribute name=tldNamespaceAware required=false
+pIf the value of this flag is codetrue/code, the TLD files
+XML validation will be namespace-aware.  If you turn this flag on,
+you should probably also turn codetldValidation/code on.  The
+default value for this flag is codefalse/code, and setting it
+to true will incur a performance penalty.
+/p
+  /attribute
 
-  attribute name=wrapperClass required=false
-pJava class name of the codeorg.apache.catalina.Wrapper/code
-implementation class that will be used for servlets managed by this
-Context.  If not specified, a standard default value will be used./p
+  attribute name=tldValidation required=false
+pIf the value of this flag is codetrue/code, the TLD files
+will be XML validated on context startup.  The default value for
+this flag is codefalse/code, and setting it to true will incur
+a performance penalty./p
   /attribute
-  
+
   attribute name=useHttpOnly required=false
pShould the HttpOnly flag be set on session cookies to prevent client
   side script from accessing the session ID? Defaults to
   codefalse/code./p
   /attribute
+
+  attribute name=wrapperClass required=false
+pJava class name of the codeorg.apache.catalina.Wrapper/code
+implementation class that will be used for servlets managed by this
+Context.  If not specified, a standard default value will be used./p
+  /attribute
   
 
 /attributes
@@ -504,22 +520,6 @@
 of the flag is codefalse/code./p
   /attribute
 
-  attribute name=tldNamespaceAware required=false
-pIf the value of this flag is codetrue/code, the TLD files
-XML validation will be namespace-aware.  If you turn this flag on,
-you should probably also turn codetldValidation/code on.  The
-default value for this flag is codefalse/code, and setting it
-to true will incur a performance penalty.
-/p
-  /attribute
-
-  attribute name=tldValidation required=false
-pIf the value of this flag is codetrue/code, the TLD files
-will be XML validated on context startup.  The default value for
-this flag is codefalse/code, and setting it to true will incur
-a performance penalty./p
-  /attribute
-
   attribute name=unloadDelay required=false
 pNumber of ms that the container will wait for servlets to unload.
 If not specified, the default value is code2000/code ms./p



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



[Bug 55905] New: Error message unhelpful when web.xml references a tld file that doesn't exist

2013-12-18 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=55905

Bug ID: 55905
   Summary: Error message unhelpful when web.xml references a tld
file that doesn't exist
   Product: Tomcat 7
   Version: 7.0.47
  Hardware: All
OS: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: Catalina
  Assignee: dev@tomcat.apache.org
  Reporter: anthonygerrard+apache@gmail.com

In your web-application web.xml add a taglib element but get the
taglib-location wrong or forgot to include *.tld when packaging your archive

  jsp-config
taglib
taglib-urihttp://www.example.org/mytaglib/taglib-uri
taglib-location/WEB-INF/wrong.tld/taglib-location
/taglib
  /jsp-config

Start you web-app.

Expected:

Get a helpful message like

WARN  org.apache.catalina.startup.TldConfig - Failed to process TLD with path
[/WEB-INF/wrong.tld] and URI [http://www.example.org/mytaglib]
java.io.FileNotFoundException: /WEB-INF/wrong.tld
...

Actual:

WARN  org.apache.catalina.startup.TldConfig - Failed to process TLD with path
[http://www.example.org/mytaglib] and URI [/WEB-INF/wrong.tld]
java.net.MalformedURLException: null
...

Note also that with the current error message the path is labelled at the URI
and vice versa, adding to the confusion.

-- 
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: r1551953 - /tomcat/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java

2013-12-18 Thread rjung
Author: rjung
Date: Wed Dec 18 14:33:48 2013
New Revision: 1551953

URL: http://svn.apache.org/r1551953
Log:
Reset test side-efect between test cases.

Modified:
tomcat/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java

Modified: tomcat/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java?rev=1551953r1=1551952r2=1551953view=diff
==
--- tomcat/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java 
(original)
+++ tomcat/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java Wed 
Dec 18 14:33:48 2013
@@ -77,6 +77,7 @@ public class TestWsSubprotocols extends 
 Assert.assertTrue(wsSession.getNegotiatedSubprotocol().isEmpty());
 }
 wsSession.close();
+SubProtocolsEndpoint.recycle();
 
 wsSession = wsContainer.connectToServer(
 TesterProgrammaticEndpoint.class, ClientEndpointConfig.Builder
@@ -97,6 +98,7 @@ public class TestWsSubprotocols extends 
 Assert.assertArrayEquals(new String[]{sp1,sp2},
 SubProtocolsEndpoint.subprotocols.toArray(new String[2]));
 wsSession.close();
+SubProtocolsEndpoint.recycle();
 }
 
 @ServerEndpoint(value = /echo, subprotocols = {sp1,sp2})
@@ -110,6 +112,10 @@ public class TestWsSubprotocols extends 
 subprotocols = ((ServerEndpointConfig)epc).getSubprotocols();
 }
 
+public static void recycle() {
+subprotocols = null;
+}
+
 }
 
 public static class Config extends WsContextListener {
@@ -126,4 +132,4 @@ public class TestWsSubprotocols extends 
 }
 }
 }
-}
\ No newline at end of file
+}



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



svn commit: r1551955 - in /tomcat/tc7.0.x/trunk: ./ test/org/apache/tomcat/websocket/TestWsSubprotocols.java

2013-12-18 Thread rjung
Author: rjung
Date: Wed Dec 18 14:38:35 2013
New Revision: 1551955

URL: http://svn.apache.org/r1551955
Log:
Sync TestWsSubprotocols with trunk to prevent
occasional test failures.

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

tomcat/tc7.0.x/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java

Propchange: tomcat/tc7.0.x/trunk/
--
  Merged /tomcat/trunk:r1524978,1551953

Modified: 
tomcat/tc7.0.x/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java?rev=1551955r1=1551954r2=1551955view=diff
==
--- 
tomcat/tc7.0.x/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java 
(original)
+++ 
tomcat/tc7.0.x/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java 
Wed Dec 18 14:38:35 2013
@@ -72,11 +72,6 @@ public class TestWsSubprotocols extends 
 .build(), new URI(ws://localhost: + getPort()
 + SubProtocolsEndpoint.PATH_BASIC));
 
-try {
-Thread.sleep(100);
-} catch (InterruptedException e) {
-// Ignore
-}
 Assert.assertTrue(wsSession.isOpen());
 if (wsSession.getNegotiatedSubprotocol() != null) {
 Assert.assertTrue(wsSession.getNegotiatedSubprotocol().isEmpty());
@@ -90,13 +85,16 @@ public class TestWsSubprotocols extends 
 .build(), new URI(ws://localhost: + getPort()
 + SubProtocolsEndpoint.PATH_BASIC));
 
-try {
-Thread.sleep(100);
-} catch (InterruptedException e) {
-// Ignore
-}
 Assert.assertTrue(wsSession.isOpen());
 Assert.assertEquals(sp2, wsSession.getNegotiatedSubprotocol());
+// Client thread might move faster than server. Wait for upto 5s for 
the
+// subProtocols to be set
+int count = 0;
+while (count  50  SubProtocolsEndpoint.subprotocols == null) {
+count++;
+Thread.sleep(100);
+}
+Assert.assertNotNull(SubProtocolsEndpoint.subprotocols);
 Assert.assertArrayEquals(new String[]{sp1,sp2},
 SubProtocolsEndpoint.subprotocols.toArray(new String[2]));
 wsSession.close();
@@ -106,7 +104,7 @@ public class TestWsSubprotocols extends 
 @ServerEndpoint(value = /echo, subprotocols = {sp1,sp2})
 public static class SubProtocolsEndpoint {
 public static String PATH_BASIC = /echo;
-public static ListString subprotocols;
+public static volatile ListString subprotocols;
 
 @OnOpen
 public void processOpen(@SuppressWarnings(unused) Session session,



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



Re: [VOTE] Release Apache Tomcat 8.0.0-RC9

2013-12-18 Thread Jeanfrancois Arcand


On 2013-12-17 7:59 PM, Mark Thomas wrote:


The proposed 8.0.0-RC9 release is:
[X] Broken - do not release
[ ] Alpha - go ahead and release as 8.0.0-RC9 alpha
Atmosphere stopped working with 8.0.0-RC9. With all previous RC from 1 
to 7 it worked (didn't test 8) and websockets properly handled for this 
request


   https://gist.github.com/jfarcand/8023402

You can test it by downloading the .war from here

  http://goo.gl/36PSaz

It seems this line:

container.addEndpoint(ServerEndpointConfig.Builder.create(JSR356Endpoint.class, 
b.toString()).configurator(configurator).build());


has no effect anymore (see: http://goo.gl/POL9Ce).

Ping me if you need more information.

-- Jeanfrancois



Cheers,

Mark

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




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



svn commit: r1551966 - /tomcat/tc6.0.x/trunk/java/org/apache/catalina/Context.java

2013-12-18 Thread markt
Author: markt
Date: Wed Dec 18 14:58:57 2013
New Revision: 1551966

URL: http://svn.apache.org/r1551966
Log:
Better Javadoc

Modified:
tomcat/tc6.0.x/trunk/java/org/apache/catalina/Context.java

Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/Context.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/Context.java?rev=1551966r1=1551965r2=1551966view=diff
==
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/Context.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/Context.java Wed Dec 18 
14:58:57 2013
@@ -1100,63 +1100,72 @@ public interface Context extends Contain
 
 
 /**
- * Get the server.xml context attribute's xmlNamespaceAware.
- * @return true if namespace awarenes is enabled.
+ * Will the parsing of the web.xml file for this Context be performed by a
+ * namespace aware parser?
  *
+ * @return true if namespace awareness is enabled.
  */
 public boolean getXmlNamespaceAware();
 
 
 /**
- * Get the server.xml context attribute's xmlValidation.
- * @return true if validation is enabled.
+ * Will the parsing of the web.xml file for this Context be performed by a
+ * validating parser?
  *
+ * @return true if validation is enabled.
  */
 public boolean getXmlValidation();
 
 
 /**
- * Set the validation feature of the XML parser used when
- * parsing xml instances.
- * @param xmlValidation true to enable xml instance validation
+ * Controls whether the parsing of the web.xml file for this Context will 
be
+ * performed by a validating parser.
+ *
+ * @param xmlValidation true to enable xml validation
  */
 public void setXmlValidation(boolean xmlValidation);
 
 
-   /**
- * Set the namespace aware feature of the XML parser used when
- * parsing xml instances.
+/**
+ * Controls whether the parsing of the web.xml file for this Context will 
be
+ * performed by a namespace aware parser.
+ *
  * @param xmlNamespaceAware true to enable namespace awareness
  */
 public void setXmlNamespaceAware(boolean xmlNamespaceAware);
  
 
 /**
- * Set the validation feature of the XML parser used when
- * parsing tlds files. 
- * @param tldValidation true to enable xml instance validation
+ * Controls whether the parsing of *.tld files for this Context will be
+ * performed by a validating parser.
+ *
+ * @param tldValidation true to enable xml validation
  */
 public void setTldValidation(boolean tldValidation);
 
 
 /**
- * Get the validation feature of the XML parser used when
- * parsing tlds files. 
+ * Will the parsing of *.tld files for this Context be performed by a
+ * validating parser?
+ *
  * @return true if validation is enabled.
  */
 public boolean getTldValidation();
 
 
 /**
- * Get the server.xml lt;hostgt; attribute's xmlNamespaceAware.
- * @return true if namespace awarenes is enabled.
+ * Will the parsing of *.tld files for this Context be performed by a
+ * namespace aware parser?
+ *
+ * @return true if namespace awareness is enabled.
  */
 public boolean getTldNamespaceAware();
 
 
 /**
- * Set the namespace aware feature of the XML parser used when
- * parsing xml instances.
+ * Controls whether the parsing of *.tld files for this Context will be
+ * performed by a namespace aware parser.
+ *
  * @param tldNamespaceAware true to enable namespace awareness
  */
 public void setTldNamespaceAware(boolean tldNamespaceAware);



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



svn commit: r1551967 - /tomcat/tc6.0.x/trunk/

2013-12-18 Thread markt
Author: markt
Date: Wed Dec 18 15:00:38 2013
New Revision: 1551967

URL: http://svn.apache.org/r1551967
Log:
Update mergeinfo

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

Propchange: tomcat/tc6.0.x/trunk/
--
  Merged /tomcat/tc7.0.x/trunk:r1544469



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



svn commit: r1551975 - in /tomcat/tc6.0.x/trunk: ./ java/org/apache/catalina/core/StandardContext.java

2013-12-18 Thread markt
Author: markt
Date: Wed Dec 18 15:16:59 2013
New Revision: 1551975

URL: http://svn.apache.org/r1551975
Log:
CTR: Javadoc + method re-ordering. No functional change.

Modified:
tomcat/tc6.0.x/trunk/   (props changed)
tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardContext.java

Propchange: tomcat/tc6.0.x/trunk/
--
  Merged /tomcat/tc7.0.x/trunk:r1544473

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1551975r1=1551974r2=1551975view=diff
==
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardContext.java 
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardContext.java Wed 
Dec 18 15:16:59 2013
@@ -5,9 +5,9 @@
  * 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.
@@ -191,33 +191,33 @@ public class StandardContext
  */
 private boolean antiJARLocking = false;
 
-
+
 /**
  * The antiResourceLocking flag for this Context.
  */
 private boolean antiResourceLocking = false;
 
-
+
 /**
  * The set of application listener class names configured for this
  * application, in the order they were encountered in the web.xml file.
  */
 private String applicationListeners[] = new String[0];
-
+
 private final Object applicationListenersLock = new Object();
 
 
 /**
  * The set of instantiated application event listener objects/code.
  */
-private transient Object applicationEventListenersObjects[] = 
+private transient Object applicationEventListenersObjects[] =
 new Object[0];
 
 
 /**
  * The set of instantiated application lifecycle listener objects/code.
  */
-private transient Object applicationLifecycleListenersObjects[] = 
+private transient Object applicationLifecycleListenersObjects[] =
 new Object[0];
 
 
@@ -228,18 +228,18 @@ public class StandardContext
 new ApplicationParameter[0];
 
 private final Object applicationParametersLock = new Object();
-
+
 
 /**
  * The application available flag for this Context.
  */
 private boolean available = false;
-
+
 /**
- * The broadcaster that sends j2ee notifications. 
+ * The broadcaster that sends j2ee notifications.
  */
 private NotificationBroadcasterSupport broadcaster = null;
-
+
 /**
  * The Locale to character set mapper for this application.
  */
@@ -269,7 +269,7 @@ public class StandardContext
  * The security constraints for this web application.
  */
 private SecurityConstraint constraints[] = new SecurityConstraint[0];
-
+
 private final Object constraintsLock = new Object();
 
 
@@ -297,12 +297,12 @@ public class StandardContext
  */
 private boolean crossContext = false;
 
-
+
 /**
  * Encoded path.
  */
 private String encodedPath = null;
-
+
 
 /**
  * The follow standard delegation model flag that will be used to
@@ -317,13 +317,13 @@ public class StandardContext
 private String displayName = null;
 
 
-/** 
+/**
  * Override the default context xml location.
  */
 private String defaultContextXml;
 
 
-/** 
+/**
  * Override the default web xml location.
  */
 private String defaultWebXml;
@@ -342,7 +342,7 @@ public class StandardContext
 
 
 /**
- * Has URL rewriting been disabled. 
+ * Has URL rewriting been disabled.
  */
 private boolean disableURLRewriting = false;
 
@@ -373,7 +373,7 @@ public class StandardContext
  * they were defined in the deployment descriptor.
  */
 private FilterMap filterMaps[] = new FilterMap[0];
-
+
 private final Object filterMapsLock = new Object();
 
 
@@ -401,7 +401,7 @@ public class StandardContext
 /**
  * The mapper associated with this context.
  */
-private org.apache.tomcat.util.http.mapper.Mapper mapper = 
+private org.apache.tomcat.util.http.mapper.Mapper mapper =
 new org.apache.tomcat.util.http.mapper.Mapper();
 
 
@@ -478,8 +478,8 @@ public class StandardContext
  * The original document root for this web application.
  */
 private String originalDocBase = null;
-
-
+
+
 /**
  * The privileged flag for this web application.
  */
@@ -516,7 

Re: [VOTE] Release Apache Tomcat 8.0.0-RC9

2013-12-18 Thread Mark Thomas
On 18/12/2013 14:51, Jeanfrancois Arcand wrote:
 
 On 2013-12-17 7:59 PM, Mark Thomas wrote:

 The proposed 8.0.0-RC9 release is:
 [X] Broken - do not release
 [ ] Alpha - go ahead and release as 8.0.0-RC9 alpha
 Atmosphere stopped working with 8.0.0-RC9. With all previous RC from 1
 to 7 it worked (didn't test 8) and websockets properly handled for this
 request
 
https://gist.github.com/jfarcand/8023402
 
 You can test it by downloading the .war from here
 
   http://goo.gl/36PSaz
 
 It seems this line:
 
 container.addEndpoint(ServerEndpointConfig.Builder.create(JSR356Endpoint.class,
 b.toString()).configurator(configurator).build());
 
 has no effect anymore (see: http://goo.gl/POL9Ce).
 
 Ping me if you need more information.

That should be enough for me to track this down. The likely culprit is
the change I made to switch to lazy init for WebSocket. I'll take a look.

Mark


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



svn commit: r1551986 - /tomcat/trunk/java/org/apache/catalina/core/StandardContext.java

2013-12-18 Thread markt
Author: markt
Date: Wed Dec 18 15:51:32 2013
New Revision: 1551986

URL: http://svn.apache.org/r1551986
Log:
Clean-up. No functional change.

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

Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1551986r1=1551985r2=1551986view=diff
==
--- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Wed Dec 18 
15:51:32 2013
@@ -35,6 +35,7 @@ import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.Set;
 import java.util.Stack;
 import java.util.TreeMap;
@@ -4629,34 +4630,33 @@ public class StandardContext extends Con
  */
 public boolean filterStart() {
 
-if (getLogger().isDebugEnabled())
+if (getLogger().isDebugEnabled()) {
 getLogger().debug(Starting filters);
+}
 // Instantiate and record a FilterConfig for each defined filter
 boolean ok = true;
 synchronized (filterConfigs) {
 filterConfigs.clear();
-IteratorString names = filterDefs.keySet().iterator();
-while (names.hasNext()) {
-String name = names.next();
-if (getLogger().isDebugEnabled())
+for (EntryString,FilterDef entry : filterDefs.entrySet()) {
+String name = entry.getKey();
+if (getLogger().isDebugEnabled()) {
 getLogger().debug( Starting filter ' + name + ');
-ApplicationFilterConfig filterConfig = null;
+}
 try {
-filterConfig =
-new ApplicationFilterConfig(this, 
filterDefs.get(name));
+ApplicationFilterConfig filterConfig =
+new ApplicationFilterConfig(this, 
entry.getValue());
 filterConfigs.put(name, filterConfig);
 } catch (Throwable t) {
 t = ExceptionUtils.unwrapInvocationTargetException(t);
 ExceptionUtils.handleThrowable(t);
-getLogger().error
-(sm.getString(standardContext.filterStart, name), t);
+getLogger().error(sm.getString(
+standardContext.filterStart, name), t);
 ok = false;
 }
 }
 }
 
-return (ok);
-
+return ok;
 }
 
 



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



svn commit: r1551991 - /tomcat/trunk/java/org/apache/catalina/core/StandardContext.java

2013-12-18 Thread markt
Author: markt
Date: Wed Dec 18 15:57:22 2013
New Revision: 1551991

URL: http://svn.apache.org/r1551991
Log:
Refactoring the starting of individual filters into a separate private method 
so it can be reused elsewhere in the class.

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

Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1551991r1=1551990r2=1551991view=diff
==
--- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Wed Dec 18 
15:57:22 2013
@@ -4638,19 +4638,7 @@ public class StandardContext extends Con
 synchronized (filterConfigs) {
 filterConfigs.clear();
 for (EntryString,FilterDef entry : filterDefs.entrySet()) {
-String name = entry.getKey();
-if (getLogger().isDebugEnabled()) {
-getLogger().debug( Starting filter ' + name + ');
-}
-try {
-ApplicationFilterConfig filterConfig =
-new ApplicationFilterConfig(this, 
entry.getValue());
-filterConfigs.put(name, filterConfig);
-} catch (Throwable t) {
-t = ExceptionUtils.unwrapInvocationTargetException(t);
-ExceptionUtils.handleThrowable(t);
-getLogger().error(sm.getString(
-standardContext.filterStart, name), t);
+if (!filterStart(entry.getKey(), entry.getValue())) {
 ok = false;
 }
 }
@@ -4660,6 +4648,25 @@ public class StandardContext extends Con
 }
 
 
+private boolean filterStart(String name, FilterDef filterDef) {
+if (getLogger().isDebugEnabled()) {
+getLogger().debug( Starting filter ' + name + ');
+}
+try {
+ApplicationFilterConfig filterConfig =
+new ApplicationFilterConfig(this, filterDef);
+filterConfigs.put(name, filterConfig);
+} catch (Throwable t) {
+t = ExceptionUtils.unwrapInvocationTargetException(t);
+ExceptionUtils.handleThrowable(t);
+getLogger().error(sm.getString(
+standardContext.filterStart, name), t);
+return false;
+}
+return true;
+}
+
+
 /**
  * Finalize and release the set of filters for this Context.
  * Return codetrue/code if all filter finalization completed



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



buildbot retry in ASF Buildbot on tomcat-trunk

2013-12-18 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/5348

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

Buildslave for this Build: bb-vm_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch tomcat/trunk] 1551953
Blamelist: rjung

BUILD FAILED: build successful exception slave lost

sincerely,
 -The Buildbot





svn commit: r1552029 - /tomcat/trunk/java/org/apache/catalina/core/StandardContext.java

2013-12-18 Thread markt
Author: markt
Date: Wed Dec 18 17:09:08 2013
New Revision: 1552029

URL: http://svn.apache.org/r1552029
Log:
Revert r1551991 - The solution I had in mind isn't spec compliant

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

Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1552029r1=1552028r2=1552029view=diff
==
--- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Wed Dec 18 
17:09:08 2013
@@ -4638,7 +4638,19 @@ public class StandardContext extends Con
 synchronized (filterConfigs) {
 filterConfigs.clear();
 for (EntryString,FilterDef entry : filterDefs.entrySet()) {
-if (!filterStart(entry.getKey(), entry.getValue())) {
+String name = entry.getKey();
+if (getLogger().isDebugEnabled()) {
+getLogger().debug( Starting filter ' + name + ');
+}
+try {
+ApplicationFilterConfig filterConfig =
+new ApplicationFilterConfig(this, 
entry.getValue());
+filterConfigs.put(name, filterConfig);
+} catch (Throwable t) {
+t = ExceptionUtils.unwrapInvocationTargetException(t);
+ExceptionUtils.handleThrowable(t);
+getLogger().error(sm.getString(
+standardContext.filterStart, name), t);
 ok = false;
 }
 }
@@ -4648,25 +4660,6 @@ public class StandardContext extends Con
 }
 
 
-private boolean filterStart(String name, FilterDef filterDef) {
-if (getLogger().isDebugEnabled()) {
-getLogger().debug( Starting filter ' + name + ');
-}
-try {
-ApplicationFilterConfig filterConfig =
-new ApplicationFilterConfig(this, filterDef);
-filterConfigs.put(name, filterConfig);
-} catch (Throwable t) {
-t = ExceptionUtils.unwrapInvocationTargetException(t);
-ExceptionUtils.handleThrowable(t);
-getLogger().error(sm.getString(
-standardContext.filterStart, name), t);
-return false;
-}
-return true;
-}
-
-
 /**
  * Finalize and release the set of filters for this Context.
  * Return codetrue/code if all filter finalization completed



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



svn commit: r1552035 - /tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java

2013-12-18 Thread markt
Author: markt
Date: Wed Dec 18 17:14:53 2013
New Revision: 1552035

URL: http://svn.apache.org/r1552035
Log:
Revert r1551352. Lazy init of WsServerContainer causes problems with Atmosphere 
that can't easily be avoided.

Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java?rev=1552035r1=1552034r2=1552035view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java 
Wed Dec 18 17:14:53 2013
@@ -87,91 +87,76 @@ public class WsServerContainer extends W
 private volatile boolean addAllowed = true;
 private final ConcurrentHashMapString,SetWsSession 
authenticatedSessions =
 new ConcurrentHashMap();
-private ExecutorService executorService;
-private volatile boolean initialized = false;
+private final ExecutorService executorService;
 
 WsServerContainer(ServletContext servletContext) {
-this.servletContext = servletContext;
-}
 
-private void init() {
+this.servletContext = servletContext;
 
-// Double checked locking. This is safe since Java  1.5 and 
initialized
-// is volatile
-if (initialized) {
-return;
+// Configure servlet context wide defaults
+String value = servletContext.getInitParameter(
+Constants.BINARY_BUFFER_SIZE_SERVLET_CONTEXT_INIT_PARAM);
+if (value != null) {
+setDefaultMaxBinaryMessageBufferSize(Integer.parseInt(value));
+}
+
+value = servletContext.getInitParameter(
+Constants.TEXT_BUFFER_SIZE_SERVLET_CONTEXT_INIT_PARAM);
+if (value != null) {
+setDefaultMaxTextMessageBufferSize(Integer.parseInt(value));
+}
+
+value = servletContext.getInitParameter(
+Constants.ENFORCE_NO_ADD_AFTER_HANDSHAKE_CONTEXT_INIT_PARAM);
+if (value != null) {
+setEnforceNoAddAfterHandshake(Boolean.parseBoolean(value));
+}
+// Executor config
+int executorCoreSize = 0;
+int executorMaxSize = 10;
+long executorKeepAliveTimeSeconds = 60;
+value = servletContext.getInitParameter(
+Constants.EXECUTOR_CORE_SIZE_INIT_PARAM);
+if (value != null) {
+executorCoreSize = Integer.parseInt(value);
+}
+value = servletContext.getInitParameter(
+Constants.EXECUTOR_MAX_SIZE_INIT_PARAM);
+if (value != null) {
+executorMaxSize = Integer.parseInt(value);
+}
+value = servletContext.getInitParameter(
+Constants.EXECUTOR_KEEPALIVETIME_SECONDS_INIT_PARAM);
+if (value != null) {
+executorKeepAliveTimeSeconds = Long.parseLong(value);
+}
+
+FilterRegistration.Dynamic fr = servletContext.addFilter(
+Tomcat WebSocket (JSR356) Filter, new WsFilter());
+fr.setAsyncSupported(true);
+
+EnumSetDispatcherType types = EnumSet.of(DispatcherType.REQUEST,
+DispatcherType.FORWARD);
+
+fr.addMappingForUrlPatterns(types, true, /*);
+
+// Use a per web application executor for any threads the the WebSocket
+// server code needs to create. Group all of the threads under a single
+// ThreadGroup.
+StringBuffer threadGroupName = new StringBuffer(WebSocketServer-);
+threadGroupName.append(servletContext.getVirtualServerName());
+threadGroupName.append('-');
+if (.equals(servletContext.getContextPath())) {
+threadGroupName.append(ROOT);
+} else {
+threadGroupName.append(servletContext.getContextPath());
 }
-synchronized (this) {
-if (initialized) {
-return;
-}
-initialized = true;
-
-// Configure servlet context wide defaults
-String value = servletContext.getInitParameter(
-Constants.BINARY_BUFFER_SIZE_SERVLET_CONTEXT_INIT_PARAM);
-if (value != null) {
-setDefaultMaxBinaryMessageBufferSize(Integer.parseInt(value));
-}
-
-value = servletContext.getInitParameter(
-Constants.TEXT_BUFFER_SIZE_SERVLET_CONTEXT_INIT_PARAM);
-if (value != null) {
-setDefaultMaxTextMessageBufferSize(Integer.parseInt(value));
-}
+ThreadGroup threadGroup = new ThreadGroup(threadGroupName.toString());
+WsThreadFactory wsThreadFactory = new WsThreadFactory(threadGroup);
 
-value = servletContext.getInitParameter(
-  

svn commit: r1552042 - in /tomcat/trunk/java/org/apache/tomcat/websocket/server: WsFilter.java WsServerContainer.java

2013-12-18 Thread markt
Author: markt
Date: Wed Dec 18 17:29:08 2013
New Revision: 1552042

URL: http://svn.apache.org/r1552042
Log:
Alternative partial fix for 
https://issues.apache.org/bugzilla/show_bug.cgi?id=55855. Don't do the 
expensive 'Is this a WebSocket upgrade request check' if no endpoints have been 
registered

Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java?rev=1552042r1=1552041r2=1552042view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java Wed Dec 
18 17:29:08 2013
@@ -47,7 +47,8 @@ public class WsFilter implements Filter 
 FilterChain chain) throws IOException, ServletException {
 
 // This filter only needs to handle WebSocket upgrade requests
-if (!UpgradeUtil.isWebSocketUpgradeRequest(request, response)) {
+if (!sc.areEndpointsRegistered() ||
+!UpgradeUtil.isWebSocketUpgradeRequest(request, response)) {
 chain.doFilter(request, response);
 return;
 }

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java?rev=1552042r1=1552041r2=1552042view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java 
Wed Dec 18 17:29:08 2013
@@ -88,6 +88,7 @@ public class WsServerContainer extends W
 private final ConcurrentHashMapString,SetWsSession 
authenticatedSessions =
 new ConcurrentHashMap();
 private final ExecutorService executorService;
+private volatile boolean endpointsRegistered = false;
 
 WsServerContainer(ServletContext servletContext) {
 
@@ -210,6 +211,8 @@ public class WsServerContainer extends W
 sm.getString(serverContainer.duplicatePaths, path));
 }
 }
+
+endpointsRegistered = true;
 }
 
 
@@ -267,6 +270,11 @@ public class WsServerContainer extends W
 }
 
 
+boolean areEndpointsRegistered() {
+return endpointsRegistered;
+}
+
+
 public void doUpgrade(HttpServletRequest request,
 HttpServletResponse response, ServerEndpointConfig sec,
 MapString,String pathParams)



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



buildbot success in ASF Buildbot on tomcat-trunk

2013-12-18 Thread buildbot
The Buildbot has detected a restored build on builder tomcat-trunk while 
building ASF Buildbot.
Full details are available at:
 http://ci.apache.org/builders/tomcat-trunk/builds/5349

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

Buildslave for this Build: bb-vm_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch tomcat/trunk] 1551991
Blamelist: markt,rjung

Build succeeded!

sincerely,
 -The Buildbot





svn commit: r1552071 - in /tomcat/trunk/java/org/apache/jasper: resources/LocalStrings.properties servlet/TldScanner.java

2013-12-18 Thread violetagg
Author: violetagg
Date: Wed Dec 18 19:28:21 2013
New Revision: 1552071

URL: http://svn.apache.org/r1552071
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=55905
Prevent NPE when the specified tld resource does not exists.

Modified:
tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties
tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java

Modified: tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties?rev=1552071r1=1552070r2=1552071view=diff
==
--- tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties 
(original)
+++ tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties Wed 
Dec 18 19:28:21 2013
@@ -402,4 +402,4 @@ org.apache.jasper.compiler.TldCache.serv
 org.apache.jasper.servlet.JasperInitializer.onStartup=Initializing Jasper for 
context [{0}]
 org.apache.jasper.servlet.TldScanner.webxmlSkip=Skipping load of TLD for URI 
{1} from resource path {0} as it has already been defined in jsp-config
 org.apache.jasper.servlet.TldScanner.webxmlAdd=Loading TLD for URI {1} from 
resource path {0}
-
+org.apache.jasper.servlet.TldScanner.webxmlFailPathDoesNotExist=Failed to 
process TLD with path [{0}] and URI [{1}]. The specified path does not exist.

Modified: tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java?rev=1552071r1=1552070r2=1552071view=diff
==
--- tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java (original)
+++ tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java Wed Dec 18 
19:28:21 2013
@@ -175,21 +175,27 @@ public class TldScanner {
 }
 
 URL url = context.getResource(resourcePath);
-TldResourcePath tldResourcePath;
-if (resourcePath.endsWith(.jar)) {
-// if the path points to a jar file, the TLD is presumed to be
-// inside at META-INF/taglib.tld
-tldResourcePath = new TldResourcePath(
-url, resourcePath, META-INF/taglib.tld);
+if (url != null) {
+TldResourcePath tldResourcePath;
+if (resourcePath.endsWith(.jar)) {
+// if the path points to a jar file, the TLD is presumed 
to be
+// inside at META-INF/taglib.tld
+tldResourcePath = new TldResourcePath(url, resourcePath, 
META-INF/taglib.tld);
+} else {
+tldResourcePath = new TldResourcePath(url, resourcePath);
+}
+// parse TLD but store using the URI supplied in the descriptor
+TaglibXml tld = tldParser.parse(tldResourcePath);
+uriTldResourcePathMap.put(taglibURI, tldResourcePath);
+tldResourcePathTaglibXmlMap.put(tldResourcePath, tld);
+if (tld.getListeners() != null) {
+listeners.addAll(tld.getListeners());
+}
 } else {
-tldResourcePath = new TldResourcePath(url, resourcePath);
-}
-// parse TLD but store using the URI supplied in the descriptor
-TaglibXml tld = tldParser.parse(tldResourcePath);
-uriTldResourcePathMap.put(taglibURI, tldResourcePath);
-tldResourcePathTaglibXmlMap.put(tldResourcePath, tld);
-if (tld.getListeners() != null) {
-listeners.addAll(tld.getListeners());
+log.warn(Localizer.getMessage(MSG + 
.webxmlFailPathDoesNotExist,
+resourcePath,
+taglibURI));
+continue;
 }
 }
 }



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



svn commit: r1552074 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/startup/LocalStrings.properties java/org/apache/catalina/startup/TldConfig.java webapps/docs/changelog.xml

2013-12-18 Thread violetagg
Author: violetagg
Date: Wed Dec 18 19:48:53 2013
New Revision: 1552074

URL: http://svn.apache.org/r1552074
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=55905
Merged revision 1552071 from tomcat/trunk:
Prevent NPE when the specified tld resource does not exists.

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

tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/LocalStrings.properties
tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

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

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/LocalStrings.properties?rev=1552074r1=1552073r2=1552074view=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/LocalStrings.properties 
(original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/LocalStrings.properties 
Wed Dec 18 19:48:53 2013
@@ -126,7 +126,8 @@ tldConfig.jarFail=Failed to process JAR 
 tldConfig.webinfFail=Failed to process TLD found at [{0}]
 tldConfig.webinfScan=Scanning WEB-INF for TLD files in [{0}]
 tldConfig.webxmlAdd=Adding path [{0}] for URI [{1}]
-tldConfig.webxmlFail=Failed to process TLD with path [{1}] and URI [{0}]
+tldConfig.webxmlFail=Failed to process TLD with path [{0}] and URI [{1}]
+tldConfig.webxmlFailPathDoesNotExist=Failed to process TLD with path [{0}] and 
URI [{1}]. The specified path does not exist.
 tldConfig.webxmlSkip=Path [{1}] skipped since URI [{0}] is a duplicate
 tldConfig.webxmlStart=Scanning taglib elements in web.xml
 userConfig.database=Exception loading user database

Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java?rev=1552074r1=1552073r2=1552074view=diff
==
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java Wed 
Dec 18 19:48:53 2013
@@ -342,10 +342,15 @@ public final class TldConfig  implements
 try {
 stream = context.getServletContext().getResourceAsStream(
 resourcePath);
-XmlErrorHandler handler = tldScanStream(stream);
-handler.logFindings(log, resourcePath);
-taglibUris.add(descriptor.getTaglibURI());
-webxmlTaglibUris.add(descriptor.getTaglibURI());
+if (stream != null) {
+XmlErrorHandler handler = tldScanStream(stream);
+handler.logFindings(log, resourcePath);
+taglibUris.add(descriptor.getTaglibURI());
+webxmlTaglibUris.add(descriptor.getTaglibURI());
+} else {
+
log.warn(sm.getString(tldConfig.webxmlFailPathDoesNotExist, resourcePath,
+descriptor.getTaglibURI()));
+}
 } catch (IOException ioe) {
 log.warn(sm.getString(tldConfig.webxmlFail, resourcePath,
 descriptor.getTaglibURI()), ioe);

Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1552074r1=1552073r2=1552074view=diff
==
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Wed Dec 18 19:48:53 2013
@@ -81,6 +81,10 @@
 WebSocket Filter lazy so that it is not added to web applications that
 do not need it. (markt) 
   /fix
+  fix
+bug55905/bug: Prevent a NPE when web.xml references a taglib file
+that does not exist. Provide better error message. (violetagg)
+  /fix
 /changelog
   /subsection
   subsection name=Coyote



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



[Bug 55905] Error message unhelpful when web.xml references a tld file that doesn't exist

2013-12-18 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=55905

Violeta Georgieva violet...@apache.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #1 from Violeta Georgieva violet...@apache.org ---
Thanks for the report.
Fixed in trunk and 7.0.x and will be included in 8.0.0-RC10 and 7.0.50 onwards.

Regards
Violeta

-- 
You are receiving this mail because:
You are the assignee for the bug.

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



Re: svn commit: r1552042 - in /tomcat/trunk/java/org/apache/tomcat/websocket/server: WsFilter.java WsServerContainer.java

2013-12-18 Thread Violeta Georgieva
Hi Mark,

2013/12/18 ma...@apache.org

 Author: markt
 Date: Wed Dec 18 17:29:08 2013
 New Revision: 1552042

 URL: http://svn.apache.org/r1552042
 Log:
 Alternative partial fix for
https://issues.apache.org/bugzilla/show_bug.cgi?id=55855. Don't do the
expensive 'Is this a WebSocket upgrade request check' if no endpoints have
been registered

Will we downport this fix to Tomcat 7?

Thanks
Violeta

 Modified:
 tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java

tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java

 Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java
 URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java?rev=1552042r1=1552041r2=1552042view=diff

==
 --- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java
(original)
 +++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java
Wed Dec 18 17:29:08 2013
 @@ -47,7 +47,8 @@ public class WsFilter implements Filter
  FilterChain chain) throws IOException, ServletException {

  // This filter only needs to handle WebSocket upgrade requests
 -if (!UpgradeUtil.isWebSocketUpgradeRequest(request, response)) {
 +if (!sc.areEndpointsRegistered() ||
 +!UpgradeUtil.isWebSocketUpgradeRequest(request,
response)) {
  chain.doFilter(request, response);
  return;
  }

 Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java
 URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java?rev=1552042r1=1552041r2=1552042view=diff

==
 ---
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java
(original)
 +++
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java
Wed Dec 18 17:29:08 2013
 @@ -88,6 +88,7 @@ public class WsServerContainer extends W
  private final ConcurrentHashMapString,SetWsSession
authenticatedSessions =
  new ConcurrentHashMap();
  private final ExecutorService executorService;
 +private volatile boolean endpointsRegistered = false;

  WsServerContainer(ServletContext servletContext) {

 @@ -210,6 +211,8 @@ public class WsServerContainer extends W
  sm.getString(serverContainer.duplicatePaths,
path));
  }
  }
 +
 +endpointsRegistered = true;
  }


 @@ -267,6 +270,11 @@ public class WsServerContainer extends W
  }


 +boolean areEndpointsRegistered() {
 +return endpointsRegistered;
 +}
 +
 +
  public void doUpgrade(HttpServletRequest request,
  HttpServletResponse response, ServerEndpointConfig sec,
  MapString,String pathParams)



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



svn commit: r1552076 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/tomcat/websocket/server/WsServerContainer.java webapps/docs/changelog.xml

2013-12-18 Thread markt
Author: markt
Date: Wed Dec 18 20:06:58 2013
New Revision: 1552076

URL: http://svn.apache.org/r1552076
Log:
Revert r1551356. Lazy init of WsServerContainer causes problems with Atmosphere 
that can't easily be avoided.

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

tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc7.0.x/trunk/
--
  Reverse-merged /tomcat/trunk:r1551352

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java?rev=1552076r1=1552075r2=1552076view=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java
 (original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java
 Wed Dec 18 20:06:58 2013
@@ -87,89 +87,74 @@ public class WsServerContainer extends W
 private volatile boolean addAllowed = true;
 private final ConcurrentHashMapString,SetWsSession 
authenticatedSessions =
 new ConcurrentHashMapString, SetWsSession();
-private ExecutorService executorService;
-private volatile boolean initialized = false;
+private final ExecutorService executorService;
 
 WsServerContainer(ServletContext servletContext) {
-this.servletContext = servletContext;
-}
 
-private void init() {
+this.servletContext = servletContext;
 
-// Double checked locking. This is safe since Java  1.5 and 
initialized
-// is volatile
-if (initialized) {
-return;
+// Configure servlet context wide defaults
+String value = servletContext.getInitParameter(
+Constants.BINARY_BUFFER_SIZE_SERVLET_CONTEXT_INIT_PARAM);
+if (value != null) {
+setDefaultMaxBinaryMessageBufferSize(Integer.parseInt(value));
+}
+
+value = servletContext.getInitParameter(
+Constants.TEXT_BUFFER_SIZE_SERVLET_CONTEXT_INIT_PARAM);
+if (value != null) {
+setDefaultMaxTextMessageBufferSize(Integer.parseInt(value));
+}
+
+value = servletContext.getInitParameter(
+Constants.ENFORCE_NO_ADD_AFTER_HANDSHAKE_CONTEXT_INIT_PARAM);
+if (value != null) {
+setEnforceNoAddAfterHandshake(Boolean.parseBoolean(value));
+}
+// Executor config
+int executorCoreSize = 0;
+int executorMaxSize = 10;
+long executorKeepAliveTimeSeconds = 60;
+value = servletContext.getInitParameter(
+Constants.EXECUTOR_CORE_SIZE_INIT_PARAM);
+if (value != null) {
+executorCoreSize = Integer.parseInt(value);
+}
+value = servletContext.getInitParameter(
+Constants.EXECUTOR_MAX_SIZE_INIT_PARAM);
+if (value != null) {
+executorMaxSize = Integer.parseInt(value);
+}
+value = servletContext.getInitParameter(
+Constants.EXECUTOR_KEEPALIVETIME_SECONDS_INIT_PARAM);
+if (value != null) {
+executorKeepAliveTimeSeconds = Long.parseLong(value);
+}
+
+FilterRegistration.Dynamic fr = servletContext.addFilter(
+WsFilter.class.getName(), new WsFilter());
+fr.setAsyncSupported(true);
+
+EnumSetDispatcherType types = EnumSet.of(DispatcherType.REQUEST,
+DispatcherType.FORWARD);
+
+fr.addMappingForUrlPatterns(types, true, /*);
+
+// Use a per web application executor for any threads the the WebSocket
+// server code needs to create. Group all of the threads under a single
+// ThreadGroup.
+StringBuffer threadGroupName = new StringBuffer(WebSocketServer-);
+if (.equals(servletContext.getContextPath())) {
+threadGroupName.append(ROOT);
+} else {
+threadGroupName.append(servletContext.getContextPath());
 }
-synchronized (this) {
-if (initialized) {
-return;
-}
-initialized = true;
-
-// Configure servlet context wide defaults
-String value = servletContext.getInitParameter(
-Constants.BINARY_BUFFER_SIZE_SERVLET_CONTEXT_INIT_PARAM);
-if (value != null) {
-setDefaultMaxBinaryMessageBufferSize(Integer.parseInt(value));
-}
-
-value = servletContext.getInitParameter(
-Constants.TEXT_BUFFER_SIZE_SERVLET_CONTEXT_INIT_PARAM);
-if (value != null) {
-setDefaultMaxTextMessageBufferSize(Integer.parseInt(value));
-}
+ThreadGroup threadGroup 

svn commit: r1552080 - /tomcat/trunk/webapps/docs/extras.xml

2013-12-18 Thread violetagg
Author: violetagg
Date: Wed Dec 18 20:25:37 2013
New Revision: 1552080

URL: http://svn.apache.org/r1552080
Log:
Add a link from extras page to download page. Issue is reported via 
o.a.comments.

Modified:
tomcat/trunk/webapps/docs/extras.xml

Modified: tomcat/trunk/webapps/docs/extras.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/extras.xml?rev=1552080r1=1552079r2=1552080view=diff
==
--- tomcat/trunk/webapps/docs/extras.xml (original)
+++ tomcat/trunk/webapps/docs/extras.xml Wed Dec 18 20:25:37 2013
@@ -44,9 +44,10 @@
 
   section name=Downloading
   p
-To download the extras components open the Tomcat download page and
-select browse from the Quick Navigation Links. The extras components can 
be
-found in bin/extras.
+To download the extras components open the
+a href=http://tomcat.apache.org/download-80.cgi;Tomcat download page/a
+and select Browse from the Quick Navigation Links. The extras components
+can be found in bin/extras.
   /p
   /section
 



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



svn commit: r1552083 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/tomcat/websocket/server/UpgradeUtil.java java/org/apache/tomcat/websocket/server/WsFilter.java java/org/apache/tomcat/websocket/serv

2013-12-18 Thread markt
Author: markt
Date: Wed Dec 18 20:30:32 2013
New Revision: 1552083

URL: http://svn.apache.org/r1552083
Log:
Alternative partial fix for 
https://issues.apache.org/bugzilla/show_bug.cgi?id=55855. Don't do the 
expensive 'Is this a WebSocket upgrade request check' if no endpoints have been 
registered
Also fix method name typo

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

tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/UpgradeUtil.java
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java

tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java

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

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/UpgradeUtil.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/UpgradeUtil.java?rev=1552083r1=1552082r2=1552083view=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/UpgradeUtil.java 
(original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/UpgradeUtil.java 
Wed Dec 18 20:30:32 2013
@@ -67,7 +67,7 @@ public class UpgradeUtil {
  *   WebSocket spec 1.0, section 8.2 implies such a limitation and RFC
  *   6455 section 4.1 requires that a WebSocket Upgrade uses GET.
  */
-public static boolean isWebSocketUpgrageRequest(ServletRequest request,
+public static boolean isWebSocketUpgradeRequest(ServletRequest request,
 ServletResponse response) {
 
 return ((request instanceof HttpServletRequest) 

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java?rev=1552083r1=1552082r2=1552083view=diff
==
--- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java 
Wed Dec 18 20:30:32 2013
@@ -47,7 +47,8 @@ public class WsFilter implements Filter 
 FilterChain chain) throws IOException, ServletException {
 
 // This filter only needs to handle WebSocket upgrade requests
-if (!UpgradeUtil.isWebSocketUpgrageRequest(request, response)) {
+if (!sc.areEndpointsRegistered() ||
+!UpgradeUtil.isWebSocketUpgradeRequest(request, response)) {
 chain.doFilter(request, response);
 return;
 }

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java?rev=1552083r1=1552082r2=1552083view=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java
 (original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java
 Wed Dec 18 20:30:32 2013
@@ -88,6 +88,7 @@ public class WsServerContainer extends W
 private final ConcurrentHashMapString,SetWsSession 
authenticatedSessions =
 new ConcurrentHashMapString, SetWsSession();
 private final ExecutorService executorService;
+private volatile boolean endpointsRegistered = false;
 
 WsServerContainer(ServletContext servletContext) {
 
@@ -208,6 +209,8 @@ public class WsServerContainer extends W
 sm.getString(serverContainer.duplicatePaths, path));
 }
 }
+
+endpointsRegistered = true;
 }
 
 
@@ -270,6 +273,11 @@ public class WsServerContainer extends W
 }
 
 
+boolean areEndpointsRegistered() {
+return endpointsRegistered;
+}
+
+
 public void doUpgrade(HttpServletRequest request,
 HttpServletResponse response, ServerEndpointConfig sec,
 MapString,String pathParams)



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



svn commit: r1552085 - /tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

2013-12-18 Thread markt
Author: markt
Date: Wed Dec 18 20:32:10 2013
New Revision: 1552085

URL: http://svn.apache.org/r1552085
Log:
Update changelog

Modified:
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1552085r1=1552084r2=1552085view=diff
==
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Wed Dec 18 20:32:10 2013
@@ -76,6 +76,10 @@
 Handle the case where a WebSocket annotation configures a message size
 limit larger than the default permitted by Tomcat. (markt)
   /fix
+bug55855/bug: This is a partial fix that bypasses the relatively
+expensive check for a WebSocket upgrade request if not WebSocket
+endpoints have been registered. (markt) 
+  /fix
   fix
 bug55905/bug: Prevent a NPE when web.xml references a taglib file
 that does not exist. Provide better error message. (violetagg)



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



svn commit: r1552089 - in /tomcat/tc7.0.x/trunk: ./ webapps/docs/extras.xml

2013-12-18 Thread violetagg
Author: violetagg
Date: Wed Dec 18 20:47:34 2013
New Revision: 1552089

URL: http://svn.apache.org/r1552089
Log:
Merged revision 1552080 from tomcat/trunk:
Add a link from extras page to download page. Issue is reported via 
o.a.comments.

Modified:
tomcat/tc7.0.x/trunk/   (props changed)
tomcat/tc7.0.x/trunk/webapps/docs/extras.xml

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

Modified: tomcat/tc7.0.x/trunk/webapps/docs/extras.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/extras.xml?rev=1552089r1=1552088r2=1552089view=diff
==
--- tomcat/tc7.0.x/trunk/webapps/docs/extras.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/extras.xml Wed Dec 18 20:47:34 2013
@@ -44,9 +44,10 @@
 
   section name=Downloading
   p
-To download the extras components open the Tomcat download page and
-select browse from the Quick Navigation Links. The extras components can 
be
-found in bin/extras.
+To download the extras components open the
+a href=http://tomcat.apache.org/download-70.cgi;Tomcat download page/a
+and select Browse from the Quick Navigation Links. The extras components
+can be found in bin/extras.
   /p
   /section
 



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

2013-12-18 Thread buildbot
The Buildbot has detected a new failure on builder tomcat-7-trunk while 
building ASF Buildbot.
Full details are available at:
 http://ci.apache.org/builders/tomcat-7-trunk/builds/1651

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

Buildslave for this Build: bb-vm_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch tomcat/tc7.0.x/trunk] 1552074
Blamelist: violetagg

BUILD FAILED: failed compile_1

sincerely,
 -The Buildbot





Tagging Tomcat 7.0.50

2013-12-18 Thread Violeta Georgieva
Hi,

I'm going to tag Tomcat 7.0.50 tomorrow.
If you need to add something please write here.

Thanks
Violeta


svn commit: r1552099 - /tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

2013-12-18 Thread violetagg
Author: violetagg
Date: Wed Dec 18 21:05:28 2013
New Revision: 1552099

URL: http://svn.apache.org/r1552099
Log:
Fix the build - missing opening tag in the changelog.xml.

Modified:
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1552099r1=1552098r2=1552099view=diff
==
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Wed Dec 18 21:05:28 2013
@@ -76,6 +76,7 @@
 Handle the case where a WebSocket annotation configures a message size
 limit larger than the default permitted by Tomcat. (markt)
   /fix
+  fix
 bug55855/bug: This is a partial fix that bypasses the relatively
 expensive check for a WebSocket upgrade request if not WebSocket
 endpoints have been registered. (markt) 



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



[Bug 55907] New: Unterminated loop during Poller creation due to cyclic references in native allocator

2013-12-18 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=55907

Bug ID: 55907
   Summary: Unterminated loop during Poller creation due to cyclic
references in native allocator
   Product: Tomcat Native
   Version: 1.1.29
  Hardware: Sun
OS: Solaris
Status: NEW
  Severity: normal
  Priority: P2
 Component: Library
  Assignee: dev@tomcat.apache.org
  Reporter: rainer.j...@kippdata.de

The loop happens during poller thread startup. The following shutdown hangs due
to waiting for a native lock that the poller holds. The looping is not
reproducible, it was observed during one of many runs of TestAsyncContextImpl. 

tcnative version used was 1.1.29 plus apr 1.4.8, platform Solaris 10 Sparc, JDK
1.7.0_45 32 Bits.

I add the data to this issue primarily such that we can come back here if the
problem gets observed in the wild.

In the logs the incomplete poller startup results in the message

[junit] 18-Dec-2013 20:50:28.194 SEVERE [http-apr-127.0.0.1-auto-27-Poller]
org.apache.tomcat.util.net.AprEndpoint$Poller.run Poller failed with error [9]
: [Bad file number]

about a second after the loop starts.

The looping thread is:

http-apr-127.0.0.1-auto-27-Poller daemon prio=3 tid=0x007c9400 nid=0x134
runnable [0xb407f000]
   java.lang.Thread.State: RUNNABLE
  apr_palloc (38a540, 28, 58a258, 28000, 42c8a0, 42c8a0) + 29c
  impl_pollset_create (44c918, 2000, 58a258, 44c950, 2, 44c918) + b8
  apr_pollset_create_ex (b407f78c, 2000, 58a258, 2, 3, b51d4ec4) + c8
  Java_org_apache_tomcat_jni_Poll_create (7c9530, b407f78c, 2000, 2, 58a258, 0)
+ 38
at org.apache.tomcat.jni.Poll.create(Native Method)
at
org.apache.tomcat.util.net.AprEndpoint.allocatePoller(AprEndpoint.java:804)
at
org.apache.tomcat.util.net.AprEndpoint$Poller.run(AprEndpoint.java:1969)
at java.lang.Thread.run(Thread.java:744)


The main thread later blocks during shutdown:


main prio=3 tid=0x00029800 nid=0x2 runnable [0xfdf7e000]
   java.lang.Thread.State: RUNNABLE
  lwp_park (0, 0, 0)
  apr_pool_destroy (75c680, fdf7e958, 0, 75c680, fdf7e9d4, 372d08) + c4
at org.apache.tomcat.jni.Pool.destroy(Native Method)
at
org.apache.tomcat.util.net.AprEndpoint$Sendfile.destroy(AprEndpoint.java:2098)
at
org.apache.tomcat.util.net.AprEndpoint.stopInternal(AprEndpoint.java:704)
at
org.apache.tomcat.util.net.AbstractEndpoint.stop(AbstractEndpoint.java:740)
at org.apache.coyote.AbstractProtocol.stop(AbstractProtocol.java:515)
at
org.apache.catalina.connector.Connector.stopInternal(Connector.java:1014)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
- locked 0xe69c1760 (a org.apache.catalina.connector.Connector)
at
org.apache.catalina.core.StandardService.stopInternal(StandardService.java:516)
- locked 0xe69ca618 (a java.lang.Object)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
- locked 0xe69ca570 (a org.apache.catalina.core.StandardService)
at
org.apache.catalina.core.StandardServer.stopInternal(StandardServer.java:766)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
- locked 0xe69c9ec8 (a org.apache.catalina.core.StandardServer)
at org.apache.catalina.startup.Tomcat.stop(Tomcat.java:350)
at
org.apache.catalina.startup.TomcatBaseTest.tearDown(TomcatBaseTest.java:163)
at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:38)
at

[Bug 55907] Unterminated loop during Poller creation due to cyclic references in native allocator

2013-12-18 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=55907

Rainer Jung rainer.j...@kippdata.de changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |LATER

-- 
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 success in ASF Buildbot on tomcat-7-trunk

2013-12-18 Thread buildbot
The Buildbot has detected a restored build on builder tomcat-7-trunk while 
building ASF Buildbot.
Full details are available at:
 http://ci.apache.org/builders/tomcat-7-trunk/builds/1654

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

Buildslave for this Build: bb-vm_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch tomcat/tc7.0.x/trunk] 1552099
Blamelist: violetagg

Build succeeded!

sincerely,
 -The Buildbot




-
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

2013-12-18 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/5351

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

Buildslave for this Build: bb-vm_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch tomcat/trunk] 1552071
Blamelist: violetagg

BUILD FAILED: failed compile_1

sincerely,
 -The Buildbot





svn commit: r1552141 - /tomcat/maven-plugin/trunk/src/site/site.xml

2013-12-18 Thread olamy
Author: olamy
Date: Wed Dec 18 22:44:31 2013
New Revision: 1552141

URL: http://svn.apache.org/r1552141
Log:
use skin released version

Modified:
tomcat/maven-plugin/trunk/src/site/site.xml

Modified: tomcat/maven-plugin/trunk/src/site/site.xml
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/src/site/site.xml?rev=1552141r1=1552140r2=1552141view=diff
==
--- tomcat/maven-plugin/trunk/src/site/site.xml (original)
+++ tomcat/maven-plugin/trunk/src/site/site.xml Wed Dec 18 22:44:31 2013
@@ -30,7 +30,7 @@
   skin
 groupIdorg.apache.maven.skins/groupId
 artifactIdmaven-fluido-skin/artifactId
-version1.3.1-SNAPSHOT/version
+version1.3.1/version
   /skin
 
   custom



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



svn commit: r1552153 - in /tomcat/tc6.0.x/trunk/java/org/apache/catalina: Host.java core/StandardHost.java

2013-12-18 Thread markt
Author: markt
Date: Wed Dec 18 23:03:36 2013
New Revision: 1552153

URL: http://svn.apache.org/r1552153
Log:
Better Javadoc

Modified:
tomcat/tc6.0.x/trunk/java/org/apache/catalina/Host.java
tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardHost.java

Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/Host.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/Host.java?rev=1552153r1=1552152r2=1552153view=diff
==
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/Host.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/Host.java Wed Dec 18 23:03:36 
2013
@@ -149,32 +149,44 @@ public interface Host extends Container 
 
 
 /**
- * Get the server.xml lt;hostgt; attribute's xmlNamespaceAware.
- * @return true if namespace awarenes is enabled.
+ * Will the parsing of the web.xml file for Contexts of this Host be
+ * performed by a namespace aware parser? If codefalse/code it may 
still
+ * be enabled per Context using
+ * {@link Context#setXmlNamespaceAware(boolean)}.
  *
+ * @return true if namespace awareness is enabled.
  */
 public boolean getXmlNamespaceAware();
 
 
 /**
- * Get the server.xml lt;hostgt; attribute's xmlValidation.
- * @return true if validation is enabled.
+ * Will the parsing of the web.xml file and *.tld files for Contexts of 
this
+ * Host be performed by a validating parser? If codefalse/code it may
+ * still be enabled per Context using
+ * {@link Context#setXmlValidation(boolean)}.
  *
+ * @return true if validation is enabled.
  */
 public boolean getXmlValidation();
 
 
 /**
- * Set the validation feature of the XML parser used when
- * parsing xml instances.
- * @param xmlValidation true to enable xml instance validation
+ * Controls whether the parsing of the web.xml file and *.tld files for 
this
+ * Context will be performed by a validating parser. If codefalse/code
+ * it may still be enabled per Context using
+ * {@link Context#setXmlValidation(boolean)}.
+ *
+ * @param xmlValidation true to enable xml validation
  */
 public void setXmlValidation(boolean xmlValidation);
 
 
-   /**
- * Set the namespace aware feature of the XML parser used when
- * parsing xml instances.
+/**
+ * Controls whether the parsing of the web.xml file for Contexts of this
+ * Host will be performed by a namespace aware parser. If 
codefalse/code
+ * it may still be enabled per Context using
+ * {@link Context#setXmlNamespaceAware(boolean)}.
+ *
  * @param xmlNamespaceAware true to enable namespace awareness
  */
 public void setXmlNamespaceAware(boolean xmlNamespaceAware);
@@ -182,7 +194,7 @@ public interface Host extends Container 
 
 /**
  * Return the regular expression that defines the files and directories in
- * the host's {@link #appBase} that will be ignored by the automatic
+ * the host's {@link #getAppBase()} that will be ignored by the automatic
  * deployment process.
  */
 public String getDeployIgnore();
@@ -190,15 +202,15 @@ public interface Host extends Container 
 
 /**
  * Return the compiled regular expression that defines the files and
- * directories in the host's {@link #appBase} that will be ignored by the
- * automatic deployment process.
+ * directories in the host's {@link #getAppBase()} that will be ignored by
+ * the automatic deployment process.
  */
 public Pattern getDeployIgnorePattern();
 
 
 /**
  * Set the regular expression that defines the files and directories in
- * the host's {@link #appBase} that will be ignored by the automatic
+ * the host's {@link #getAppBase()} that will be ignored by the automatic
  * deployment process.
  */
 public void setDeployIgnore(String deployIgnore);

Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardHost.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardHost.java?rev=1552153r1=1552152r2=1552153view=diff
==
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardHost.java 
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardHost.java Wed 
Dec 18 23:03:36 2013
@@ -448,44 +448,26 @@ public class StandardHost
 
 }
 
- /**
- * Set the validation feature of the XML parser used when
- * parsing xml instances.
- * @param xmlValidation true to enable xml instance validation
- */
+
 public void setXmlValidation(boolean xmlValidation){
-
 this.xmlValidation = xmlValidation;
-
 }
 
-/**
- * Get the server.xml lt;hostgt; attribute's xmlValidation.
- * @return true if validation is enabled.
- *
- 

[jira] [Commented] (MTOMCAT-250) Pull Request: Support Alternate Session Managers in Standalone War Bootstrap

2013-12-18 Thread Josh Chaitin-Pollak (JIRA)

[ 
https://issues.apache.org/jira/browse/MTOMCAT-250?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13852324#comment-13852324
 ] 

Josh Chaitin-Pollak commented on MTOMCAT-250:
-

To clarify, this patch / Pull Request is NOT specific to any specific Session 
Manager implementation, it simply allows the user to specify a factory class to 
construct a session manager on startup. I'm sure a more sophisticated solution 
could be devised, but the existing Tomcat7RunnerCli is pretty basic in its 
configuration abilities anyway. I am open to enhancing the patch if there are 
recommended implementations.

 Pull Request: Support Alternate Session Managers in Standalone War Bootstrap
 

 Key: MTOMCAT-250
 URL: https://issues.apache.org/jira/browse/MTOMCAT-250
 Project: Apache Tomcat Maven Plugin
  Issue Type: Improvement
Reporter: Josh Chaitin-Pollak
Priority: Minor
 Fix For: 3.0


 Hello,
 I have created a pull request on GitHub to allow the standalone war 
 bootstrapper to use a factory to create an alternate session manager.
 https://github.com/apache/tomcat-maven-plugin/pull/5
 I am using this with a modified version of the memcached-session-manager 
 project to allow my standalone war project to use that session manager.
 I think this would be of utility to more people. Here is the MSM pull request 
 for reference: https://github.com/magro/memcached-session-manager/pull/33
 And here is an example of how you would use this patch:
 {code}
 java -Dmsm.memcachedNodes=n1:localhost:21211 -jar standalone.jar \
-sessionManagerFactory 
 de.javakaffee.web.msm.MemcachedBackupSessionManagerFactory
 {code}



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)

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



buildbot success in ASF Buildbot on tomcat-trunk

2013-12-18 Thread buildbot
The Buildbot has detected a restored build on builder tomcat-trunk while 
building ASF Buildbot.
Full details are available at:
 http://ci.apache.org/builders/tomcat-trunk/builds/5352

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

Buildslave for this Build: bb-vm_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch tomcat/trunk] 1552080
Blamelist: violetagg

Build succeeded!

sincerely,
 -The Buildbot




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