Re: [VOTE] Release Apache Tomcat 8.0.0-RC2
I get a crash when using tcnative 1.1.28 and JDK 1.7.0_40 on Solaris 10: WARN: Test failure in 'output/build/logs/TEST-org.apache.tomcat.websocket.TestWsWebSocketContainer.APR.txt': Testsuite: org.apache.tomcat.websocket.TestWsWebSocketContainer Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0 sec Testcase: testSessionExpiryContainer took 0.006 sec Caused an ERROR Forked Java VM exited abnormally. Please note the time in the report does not reflect the time until the VM exit. junit.framework.AssertionFailedError: Forked Java VM exited abnormally. Please note the time in the report does not reflect the time until the VM exit. Stack from HotSpot error file: Stack: [0xb280,0xb288], sp=0xb287cfa8, free space=499k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [libtcnative-1.so.0.1.28+0x100fc] Java_org_apache_tomcat_jni_Socket_recv+0x40 j org.apache.tomcat.jni.Socket.recv(J[BII)I+1 j org.apache.tomcat.jni.Socket.recv(J[BII)I+0 j org.apache.coyote.http11.upgrade.AprServletInputStream.doRead(Z[BII)I+83 j org.apache.coyote.http11.upgrade.AbstractServletInputStream.read([BII)I+20 j org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable()V+46 j org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsReadListener.onDataAvailable()V+4 j org.apache.coyote.http11.upgrade.AbstractServletInputStream.onDataAvailable()V+11 j org.apache.coyote.http11.upgrade.AbstractProcessor.upgradeDispatch(Lorg/apache/tomcat/util/net/SocketStatus;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState; +11 j org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(Lorg/apache/tomcat/util/net/SocketWrapper;Lorg/apache/tomcat/util/net/SocketStatus;)Lorg/apache/tomcat/ut il/net/AbstractEndpoint$Handler$SocketState;+212 j org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Lorg/apache/tomcat/util/net/SocketWrapper;Lorg/apache/tomcat/util/net/SocketStatus;)Lorg/apache/tom cat/util/net/AbstractEndpoint$Handler$SocketState;+76 j org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun()V+26 j org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run()V+55 J java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V j java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5 j java.lang.Thread.run()V+11 v ~StubRoutines::call_stub V [libjvm.so+0x1bc72c] void JavaCalls::call_helper(JavaValue*,methodHandle*,JavaCallArguments*,Thread*)+0x320 V [libjvm.so+0x6bd888] void JavaCalls::call_virtual(JavaValue*,Handle,KlassHandle,Symbol*,Symbol*,Thread*)+0x1a0 V [libjvm.so+0x267820] void thread_entry(JavaThread*,Thread*)+0x170 V [libjvm.so+0xb0bf98] void JavaThread::thread_main_inner()+0x9c V [libjvm.so+0x263250] void JavaThread::run()+0x494 V [libjvm.so+0x9e30f0] java_start+0x338 Note that there's another error only happening with apr: WARN: Test failure in 'output/build/logs/TEST-org.apache.catalina.connector.TestCoyoteAdapter.APR.txt': Testsuite: org.apache.catalina.connector.TestCoyoteAdapter Tests run: 18, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 48.535 sec - Standard Output --- HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Type: text/plain;charset=UTF-8 Transfer-Encoding: chunked Date: Wed, 18 Sep 2013 22:16:04 GMT 4 TEST 4 TEST - --- - Standard Error - 19-Sep-2013 00:15:56.939 INFO [main] org.apache.catalina.core.AprLifecycleListener.init Loaded APR based Apache Tomcat Native library 1.1.28 using APR version 1.4.8. 19-Sep-2013 00:15:56.945 INFO [main] org.apache.catalina.core.AprLifecycleListener.init APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true]. 19-Sep-2013 00:15:57.238 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized (OpenSSL 1.0.1esp1 12 Feb 2013) 19-Sep-2013 00:15:58.510 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler [http-apr-127.0.0.1-auto-1] 19-Sep-2013 00:15:58.555 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Tomcat ... 19-Sep-2013 00:16:18.685 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Tomcat 19-Sep-2013 00:16:18.685 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.0-RC2 19-Sep-2013 00:16:18.709 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [http-apr-127.0.0.1-auto-13-62683] 19-Sep-2013 00:16:28.796 SEVERE [http-apr-127.0.0.1-auto-13-Poller] org.apache.tomcat.util.net.AprEndpoint$Poller.run Poller failed with error [81] : [File descriptor in bad state] 19-Sep-2013 00:16:38.806 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler [http-apr-127.0.0.1-auto-13-62683] 19-Sep-2013 00:16:38.858 INFO [main]
Re: [VOTE] Release Apache Tomcat 8.0.0-RC2
On 19/09/2013 07:18, Rainer Jung wrote: I get a crash when using tcnative 1.1.28 and JDK 1.7.0_40 on Solaris 10: WARN: Test failure in 'output/build/logs/TEST-org.apache.tomcat.websocket.TestWsWebSocketContainer.APR.txt': Testsuite: org.apache.tomcat.websocket.TestWsWebSocketContainer Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0 sec Testcase: testSessionExpiryContainer took 0.006 sec Caused an ERROR Forked Java VM exited abnormally. Please note the time in the report does not reflect the time until the VM exit. junit.framework.AssertionFailedError: Forked Java VM exited abnormally. Please note the time in the report does not reflect the time until the VM exit. Stack from HotSpot error file: Stack: [0xb280,0xb288], sp=0xb287cfa8, free space=499k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [libtcnative-1.so.0.1.28+0x100fc] Java_org_apache_tomcat_jni_Socket_recv+0x40 j org.apache.tomcat.jni.Socket.recv(J[BII)I+1 j org.apache.tomcat.jni.Socket.recv(J[BII)I+0 j org.apache.coyote.http11.upgrade.AprServletInputStream.doRead(Z[BII)I+83 That looks like the error I thought I had fixed. I've had some ideas for a more robust fix. I'll try implementing them to see how practical they are. How repeatable is this failure? If you run the single test case for APR do you always get the crash? snip/ Note that there's another error only happening with apr: WARN: Test failure in 'output/build/logs/TEST-org.apache.catalina.connector.TestCoyoteAdapter.APR.txt': snip/ Testcase: testPathParamsRedirect took 20.782 sec Caused an ERROR Unexpected end of file from server java.net.SocketException: Unexpected end of file from server That is very strange. Looks like a connection timeout. I'm inclined to view this one as a false positive. Again, how repeatable is it? Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1524652 - in /tomcat/trunk/java/org/apache/tomcat/websocket: WsSession.java WsWebSocketContainer.java
Author: markt Date: Thu Sep 19 08:21:28 2013 New Revision: 1524652 URL: http://svn.apache.org/r1524652 Log: Rename method for clarity Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java?rev=1524652r1=1524651r2=1524652view=diff == --- tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java Thu Sep 19 08:21:28 2013 @@ -588,7 +588,7 @@ public class WsSession implements Sessio } -protected void expire() { +protected void checkExpiration() { long timeout = maxIdleTimeout; if (timeout 1) { return; Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java?rev=1524652r1=1524651r2=1524652view=diff == --- tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java Thu Sep 19 08:21:28 2013 @@ -751,7 +751,7 @@ public class WsWebSocketContainer backgroundProcessCount = 0; for (WsSession wsSession : sessions.keySet()) { -wsSession.expire(); +wsSession.checkExpiration(); } } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1524657 - in /tomcat/trunk: java/org/apache/tomcat/websocket/server/ test/org/apache/catalina/authenticator/ test/org/apache/catalina/servlets/ test/org/apache/catalina/startup/ test/org/
Author: markt Date: Thu Sep 19 08:44:45 2013 New Revision: 1524657 URL: http://svn.apache.org/r1524657 Log: WsListener-WsContextListener to more clearly differentiate between it and WsSessionListener Added: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsContextListener.java - copied, changed from r1524646, tomcat/trunk/java/org/apache/tomcat/websocket/server/WsListener.java Removed: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsListener.java Modified: tomcat/trunk/test/org/apache/catalina/authenticator/TestFormAuthenticator.java tomcat/trunk/test/org/apache/catalina/servlets/TestDefaultServlet.java tomcat/trunk/test/org/apache/catalina/servlets/TestWebdavServlet.java tomcat/trunk/test/org/apache/catalina/startup/TestTomcat.java tomcat/trunk/test/org/apache/tomcat/util/net/TestCustomSsl.java tomcat/trunk/test/org/apache/tomcat/util/net/TestSsl.java tomcat/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java tomcat/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java tomcat/trunk/test/org/apache/tomcat/websocket/TesterEchoServer.java tomcat/trunk/test/org/apache/tomcat/websocket/TesterFirehoseServer.java tomcat/trunk/test/org/apache/tomcat/websocket/pojo/TestEncodingDecoding.java tomcat/trunk/test/org/apache/tomcat/websocket/pojo/TesterUtil.java tomcat/trunk/test/org/apache/tomcat/websocket/server/TestWsServerContainer.java Copied: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsContextListener.java (from r1524646, tomcat/trunk/java/org/apache/tomcat/websocket/server/WsListener.java) URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsContextListener.java?p2=tomcat/trunk/java/org/apache/tomcat/websocket/server/WsContextListener.javap1=tomcat/trunk/java/org/apache/tomcat/websocket/server/WsListener.javar1=1524646r2=1524657rev=1524657view=diff == --- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsListener.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsContextListener.java Thu Sep 19 08:44:45 2013 @@ -27,7 +27,7 @@ import javax.servlet.ServletContextListe * {@link javax.servlet.ServletContext} that uses WebSocket to bootstrap the * {@link WsServerContainer} correctly. */ -public class WsListener implements ServletContextListener { +public class WsContextListener implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent sce) { Modified: tomcat/trunk/test/org/apache/catalina/authenticator/TestFormAuthenticator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/authenticator/TestFormAuthenticator.java?rev=1524657r1=1524656r2=1524657view=diff == --- tomcat/trunk/test/org/apache/catalina/authenticator/TestFormAuthenticator.java (original) +++ tomcat/trunk/test/org/apache/catalina/authenticator/TestFormAuthenticator.java Thu Sep 19 08:44:45 2013 @@ -43,7 +43,7 @@ import org.apache.tomcat.util.descriptor import org.apache.tomcat.util.descriptor.web.LoginConfig; import org.apache.tomcat.util.descriptor.web.SecurityCollection; import org.apache.tomcat.util.descriptor.web.SecurityConstraint; -import org.apache.tomcat.websocket.server.WsListener; +import org.apache.tomcat.websocket.server.WsContextListener; /* * Test FORM authentication for sessions that do and do not use cookies. @@ -649,7 +649,7 @@ public class TestFormAuthenticator exten setUseCookies(clientShouldUseCookies); ctx.setCookies(serverShouldUseCookies); ctx.addApplicationListener(new ApplicationListener( -WsListener.class.getName(), false)); +WsContextListener.class.getName(), false)); TesterMapRealm realm = new TesterMapRealm(); realm.addUser(tomcat, tomcat); Modified: tomcat/trunk/test/org/apache/catalina/servlets/TestDefaultServlet.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/servlets/TestDefaultServlet.java?rev=1524657r1=1524656r2=1524657view=diff == --- tomcat/trunk/test/org/apache/catalina/servlets/TestDefaultServlet.java (original) +++ tomcat/trunk/test/org/apache/catalina/servlets/TestDefaultServlet.java Thu Sep 19 08:44:45 2013 @@ -44,7 +44,7 @@ import org.apache.catalina.startup.Tomca import org.apache.catalina.startup.TomcatBaseTest; import org.apache.tomcat.util.buf.ByteChunk; import org.apache.tomcat.util.descriptor.web.ApplicationListener; -import org.apache.tomcat.websocket.server.WsListener; +import org.apache.tomcat.websocket.server.WsContextListener; public class TestDefaultServlet extends TomcatBaseTest { @@ -103,7 +103,7 @@ public class TestDefaultServlet extends
svn commit: r1524668 - in /tomcat/trunk/java/org/apache/tomcat/websocket: FutureToSendHandler.java WsRemoteEndpointImplBase.java
Author: markt Date: Thu Sep 19 09:32:00 2013 New Revision: 1524668 URL: http://svn.apache.org/r1524668 Log: Extract FutureToSendHandler to a separate file Added: tomcat/trunk/java/org/apache/tomcat/websocket/FutureToSendHandler.java (with props) Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java Added: tomcat/trunk/java/org/apache/tomcat/websocket/FutureToSendHandler.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/FutureToSendHandler.java?rev=1524668view=auto == --- tomcat/trunk/java/org/apache/tomcat/websocket/FutureToSendHandler.java (added) +++ tomcat/trunk/java/org/apache/tomcat/websocket/FutureToSendHandler.java Thu Sep 19 09:32:00 2013 @@ -0,0 +1,90 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.tomcat.websocket; + +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; + +import javax.websocket.SendHandler; +import javax.websocket.SendResult; + +/** + * Converts a Future to a SendHandler. + */ +class FutureToSendHandler implements FutureVoid, SendHandler { + +private final CountDownLatch latch = new CountDownLatch(1); +private volatile SendResult result = null; + +// - SendHandler + +@Override +public void onResult(SendResult result) { +this.result = result; +latch.countDown(); +} + + +// -- Future + +@Override +public boolean cancel(boolean mayInterruptIfRunning) { +// Cancelling the task is not supported +return false; +} + +@Override +public boolean isCancelled() { +// Cancelling the task is not supported +return false; +} + +@Override +public boolean isDone() { +return latch.getCount() == 0; +} + +@Override +public Void get() throws InterruptedException, +ExecutionException { +latch.await(); +if (result.getException() != null) { +throw new ExecutionException(result.getException()); +} +return null; +} + +@Override +public Void get(long timeout, TimeUnit unit) +throws InterruptedException, ExecutionException, +TimeoutException { +boolean retval = latch.await(timeout, unit); +if (retval == false) { +throw new TimeoutException(); +} +if (result.getException() != null) { +throw new ExecutionException(result.getException()); +} +return null; +} +} + + + Propchange: tomcat/trunk/java/org/apache/tomcat/websocket/FutureToSendHandler.java -- svn:eol-style = native Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java?rev=1524668r1=1524667r2=1524668view=diff == --- tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java Thu Sep 19 09:32:00 2013 @@ -27,7 +27,6 @@ import java.util.ArrayDeque; import java.util.ArrayList; import java.util.List; import java.util.Queue; -import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; @@ -741,69 +740,6 @@ public abstract class WsRemoteEndpointIm } } -/** - * Converts a Future to a SendHandler. - */ -private static class FutureToSendHandler -implements FutureVoid, SendHandler { - -private final CountDownLatch latch = new CountDownLatch(1); -private volatile SendResult result =
Re: Tagging 7.0.43
Hi, 2013/9/18 Violeta Georgieva miles...@gmail.com Hi, I will tag 7.0.43 later today. If you need to put something in this version please reply here. I tried to reproduce the issue [1] with Tomcat 7.0.43 tag. There are only the warnings below and Tomcat starts. (catalina.bat run -security) Sep 19, 2013 1:06:07 PM org.apache.juli.ClassLoaderLogManager readConfiguration WARNING: Reading logging.properties is not permitted in some context. See per context logging in the default catalina.policy file. Sep 19, 2013 1:06:07 PM org.apache.juli.ClassLoaderLogManager readConfiguration WARNING: Original error was: access denied (java.util.PropertyPermission java.util.logging.LogManager.debug read) OS: Windows 7 x64 Java: jdk1.6.0_45 I can see that Mark back-ported the fix for [1] in Tomcat 7 trunk. Testing with that fix the warnings disappeared and Tomcat starts. What should I do? Issue new tag 7.0.44? Thanks Violeta [1] http://marc.info/?l=tomcat-devm=137953380708696w=2
buildbot failure in ASF Buildbot on tomcat-trunk
The Buildbot has detected a new failure on builder tomcat-trunk while building ASF Buildbot. Full details are available at: http://ci.apache.org/builders/tomcat-trunk/builds/4987 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/trunk] 1524657 Blamelist: markt BUILD FAILED: failed compile_1 sincerely, -The Buildbot
Re: Tagging 7.0.43
On 19/09/2013 11:21, Violeta Georgieva wrote: Hi, 2013/9/18 Violeta Georgieva miles...@gmail.com Hi, I will tag 7.0.43 later today. If you need to put something in this version please reply here. I tried to reproduce the issue [1] with Tomcat 7.0.43 tag. There are only the warnings below and Tomcat starts. (catalina.bat run -security) I didn't backport the refactoring that triggered [1] to 7.0.x. Sep 19, 2013 1:06:07 PM org.apache.juli.ClassLoaderLogManager readConfiguration WARNING: Reading logging.properties is not permitted in some context. See per context logging in the default catalina.policy file. Sep 19, 2013 1:06:07 PM org.apache.juli.ClassLoaderLogManager readConfiguration WARNING: Original error was: access denied (java.util.PropertyPermission java.util.logging.LogManager.debug read) OS: Windows 7 x64 Java: jdk1.6.0_45 I can see that Mark back-ported the fix for [1] in Tomcat 7 trunk. Testing with that fix the warnings disappeared and Tomcat starts. What should I do? Issue new tag 7.0.44? Since no 7.0.43 tarballs have been uploaded, you can just deleted the 7.0.43 tag and re-tag. I'm still looking at the issues Rainer found with 8.0.0-RC2. If you can give me an hour or to to test my new solution, that could be part of the tag. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1524683 - in /tomcat/trunk/java/org/apache: coyote/AbstractProtocol.java coyote/http11/upgrade/AprServletInputStream.java coyote/http11/upgrade/AprServletOutputStream.java tomcat/util/net
Author: markt Date: Thu Sep 19 10:41:27 2013 New Revision: 1524683 URL: http://svn.apache.org/r1524683 Log: Revert addition of closing flag on wrapper. A more robust solution is required. Modified: tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java Modified: tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java?rev=1524683r1=1524682r2=1524683view=diff == --- tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java Thu Sep 19 10:41:27 2013 @@ -703,7 +703,6 @@ public abstract class AbstractProtocolS } else { // Connection closed. OK to recycle the processor. Upgrade // processors are not recycled. -wrapper.setClosing(true); connections.remove(socket); if (processor.isUpgrade()) { processor.getHttpUpgradeHandler().destroy(); Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java?rev=1524683r1=1524682r2=1524683view=diff == --- tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java Thu Sep 19 10:41:27 2013 @@ -50,7 +50,7 @@ public class AprServletInputStream exten try { readLock.lock(); if (wrapper.getBlockingStatus() == block) { -if (closed || wrapper.isClosing()) { +if (closed) { throw new IOException(sm.getString(apr.closed)); } result = Socket.recv(socket, b, off, len); @@ -70,7 +70,7 @@ public class AprServletInputStream exten try { readLock.lock(); writeLock.unlock(); -if (closed || wrapper.isClosing()) { +if (closed) { throw new IOException(sm.getString(apr.closed)); } result = Socket.recv(socket, b, off, len); Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java?rev=1524683r1=1524682r2=1524683view=diff == --- tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java Thu Sep 19 10:41:27 2013 @@ -60,7 +60,7 @@ public class AprServletOutputStream exte try { readLock.lock(); if (wrapper.getBlockingStatus() == block) { -if (closed || wrapper.isClosing()) { +if (closed) { throw new IOException(sm.getString(apr.closed)); } return doWriteInternal(b, off, len); @@ -83,7 +83,7 @@ public class AprServletOutputStream exte try { readLock.lock(); writeLock.unlock(); -if (closed || wrapper.isClosing()) { +if (closed) { throw new IOException(sm.getString(apr.closed)); } return doWriteInternal(b, off, len); Modified: tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java?rev=1524683r1=1524682r2=1524683view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java Thu Sep 19 10:41:27 2013 @@ -64,17 +64,6 @@ public class SocketWrapperE { private SetDispatchType dispatches = new LinkedHashSet(); -/* - * Used to indicate that the socket is in the process of closing / has been - * closed. Once this flag has been set, no further reads or writes should - * take place. Its primary purpose is with upgraded connections where a - * socket may be in use in application code with no immediate way to signal - * that the socket is no longer valid. Checking this flag before any -
svn commit: r1524687 - in /tomcat/trunk/java/org/apache/tomcat/websocket: FutureToSendHandler.java LocalStrings.properties WsRemoteEndpointImplBase.java WsSession.java WsWebSocketContainer.java server
Author: markt Date: Thu Sep 19 10:56:51 2013 New Revision: 1524687 URL: http://svn.apache.org/r1524687 Log: More robust solution to the problem of blocking writes not be closed when the web application stops. Futures used for blocking writes are registered with the session and the session completes them with an exception if they are outstanding when the session closes. Modified: tomcat/trunk/java/org/apache/tomcat/websocket/FutureToSendHandler.java tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java tomcat/trunk/java/org/apache/tomcat/websocket/server/WsContextListener.java tomcat/trunk/java/org/apache/tomcat/websocket/server/WsSci.java Modified: tomcat/trunk/java/org/apache/tomcat/websocket/FutureToSendHandler.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/FutureToSendHandler.java?rev=1524687r1=1524686r2=1524687view=diff == --- tomcat/trunk/java/org/apache/tomcat/websocket/FutureToSendHandler.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/FutureToSendHandler.java Thu Sep 19 10:56:51 2013 @@ -31,12 +31,19 @@ import javax.websocket.SendResult; class FutureToSendHandler implements FutureVoid, SendHandler { private final CountDownLatch latch = new CountDownLatch(1); +private final WsSession wsSession; private volatile SendResult result = null; +public FutureToSendHandler(WsSession wsSession) { +this.wsSession = wsSession; +} + + // - SendHandler @Override public void onResult(SendResult result) { + this.result = result; latch.countDown(); } @@ -64,7 +71,12 @@ class FutureToSendHandler implements Fut @Override public Void get() throws InterruptedException, ExecutionException { -latch.await(); +try { +wsSession.registerFuture(this); +latch.await(); +} finally { +wsSession.unregisterFuture(this); +} if (result.getException() != null) { throw new ExecutionException(result.getException()); } @@ -75,7 +87,14 @@ class FutureToSendHandler implements Fut public Void get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException { -boolean retval = latch.await(timeout, unit); +boolean retval = false; +try { +wsSession.registerFuture(this); +retval = latch.await(timeout, unit); +} finally { +wsSession.unregisterFuture(this); + +} if (retval == false) { throw new TimeoutException(); } Modified: tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties?rev=1524687r1=1524686r2=1524687view=diff == --- tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties Thu Sep 19 10:56:51 2013 @@ -71,12 +71,19 @@ wsSession.closed=The WebSocket session h wsSession.duplicateHandlerBinary=A binary message handler has already been configured wsSession.duplicateHandlerPong=A pong message handler has already been configured wsSession.duplicateHandlerText=A text message handler has already been configured -wsSession.sendCloseFail=Failed to send close message to remote endpoint wsSession.invalidHandlerTypePong=A pong message handler must implement MessageHandler.Basic +wsSession.messageFailed=Unable to write the complete message as the WebSocket connection has been closed +wsSession.sendCloseFail=Failed to send close message to remote endpoint wsSession.removeHandlerFailed=Unable to remove the handler [{0}] as it was not registered with this session wsSession.unknownHandler=Unable to add the message handler [{0}] as it was for the unrecognised type [{1}] wsSession.unknownHandlerType=Unable to add the message handler [{0}] as it was wrapped as the unrecognised type [{1}] +# Note the following message is used as a close reason in a WebSocket control +# frame and therefore must be 123 bytes (not characters) or less in length. +# Messages are encoded using UTF-8 where a single character may be encoded in +# as many as 4 bytes. +wsWebSocketContainer.shutdown=The web application is stopping + wsWebSocketContainer.asynchronousChannelGroupFail=Unable to create dedicated AsynchronousChannelGroup for WebSocket clients which is required
Re: [VOTE] Release Apache Tomcat 8.0.0-RC2
On 19/09/2013 09:12, Mark Thomas wrote: On 19/09/2013 07:18, Rainer Jung wrote: I get a crash when using tcnative 1.1.28 and JDK 1.7.0_40 on Solaris 10: WARN: Test failure in 'output/build/logs/TEST-org.apache.tomcat.websocket.TestWsWebSocketContainer.APR.txt': Testsuite: org.apache.tomcat.websocket.TestWsWebSocketContainer Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0 sec Testcase: testSessionExpiryContainer took 0.006 sec Caused an ERROR Forked Java VM exited abnormally. Please note the time in the report does not reflect the time until the VM exit. junit.framework.AssertionFailedError: Forked Java VM exited abnormally. Please note the time in the report does not reflect the time until the VM exit. Stack from HotSpot error file: Stack: [0xb280,0xb288], sp=0xb287cfa8, free space=499k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [libtcnative-1.so.0.1.28+0x100fc] Java_org_apache_tomcat_jni_Socket_recv+0x40 j org.apache.tomcat.jni.Socket.recv(J[BII)I+1 j org.apache.tomcat.jni.Socket.recv(J[BII)I+0 j org.apache.coyote.http11.upgrade.AprServletInputStream.doRead(Z[BII)I+83 That looks like the error I thought I had fixed. I've had some ideas for a more robust fix. I'll try implementing them to see how practical they are. Can you try the latest 8.0.x trunk with Solaris? Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1524688 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/tomcat/websocket/WsSession.java java/org/apache/tomcat/websocket/WsWebSocketContainer.java
Author: markt Date: Thu Sep 19 11:02:52 2013 New Revision: 1524688 URL: http://svn.apache.org/r1524688 Log: Rename method for clarity Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsSession.java tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1524652 Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsSession.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsSession.java?rev=1524688r1=1524687r2=1524688view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsSession.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsSession.java Thu Sep 19 11:02:52 2013 @@ -588,7 +588,7 @@ public class WsSession implements Sessio } -protected void expire() { +protected void checkExpiration() { long timeout = maxIdleTimeout; if (timeout 1) { return; Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java?rev=1524688r1=1524687r2=1524688view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java Thu Sep 19 11:02:52 2013 @@ -780,7 +780,7 @@ public class WsWebSocketContainer backgroundProcessCount = 0; for (WsSession wsSession : sessions.keySet()) { -wsSession.expire(); +wsSession.checkExpiration(); } } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1524690 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/tomcat/websocket/server/ test/org/apache/tomcat/websocket/ test/org/apache/tomcat/websocket/pojo/ test/org/apache/tomcat/websocket/s
Author: markt Date: Thu Sep 19 11:05:27 2013 New Revision: 1524690 URL: http://svn.apache.org/r1524690 Log: WsListener-WsContextListener to more clearly differentiate between it and WsSessionListener Added: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/WsContextListener.java - copied, changed from r1524688, tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/WsListener.java Removed: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/WsListener.java Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java tomcat/tc7.0.x/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java tomcat/tc7.0.x/trunk/test/org/apache/tomcat/websocket/TesterEchoServer.java tomcat/tc7.0.x/trunk/test/org/apache/tomcat/websocket/TesterFirehoseServer.java tomcat/tc7.0.x/trunk/test/org/apache/tomcat/websocket/pojo/TestEncodingDecoding.java tomcat/tc7.0.x/trunk/test/org/apache/tomcat/websocket/pojo/TesterUtil.java tomcat/tc7.0.x/trunk/test/org/apache/tomcat/websocket/server/TestWsServerContainer.java Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1524657 Copied: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/WsContextListener.java (from r1524688, tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/WsListener.java) URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/WsContextListener.java?p2=tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/WsContextListener.javap1=tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/WsListener.javar1=1524688r2=1524690rev=1524690view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/WsListener.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/WsContextListener.java Thu Sep 19 11:05:27 2013 @@ -26,7 +26,7 @@ import javax.servlet.ServletContextListe * {@link javax.servlet.ServletContext} that uses WebSocket to bootstrap the * {@link WsServerContainer} correctly. */ -public class WsListener implements ServletContextListener { +public class WsContextListener implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent sce) { 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=1524690r1=1524689r2=1524690view=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 Thu Sep 19 11:05:27 2013 @@ -43,7 +43,7 @@ import org.apache.catalina.startup.Tomca import org.apache.catalina.startup.TomcatBaseTest; import org.apache.tomcat.websocket.TesterMessageCountClient.TesterProgrammaticEndpoint; import org.apache.tomcat.websocket.server.Constants; -import org.apache.tomcat.websocket.server.WsListener; +import org.apache.tomcat.websocket.server.WsContextListener; public class TestWsSubprotocols extends TomcatBaseTest { @@ -104,7 +104,7 @@ public class TestWsSubprotocols extends } -public static class Config extends WsListener { +public static class Config extends WsContextListener { @Override public void contextInitialized(ServletContextEvent sce) { super.contextInitialized(sce); Modified: tomcat/tc7.0.x/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java?rev=1524690r1=1524689r2=1524690view=diff == --- tomcat/tc7.0.x/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java (original) +++ tomcat/tc7.0.x/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java Thu Sep 19 11:05:27 2013 @@ -58,7 +58,7 @@ import org.apache.tomcat.websocket.Teste import org.apache.tomcat.websocket.TesterMessageCountClient.TesterEndpoint; import org.apache.tomcat.websocket.TesterMessageCountClient.TesterProgrammaticEndpoint; import org.apache.tomcat.websocket.server.Constants; -import org.apache.tomcat.websocket.server.WsListener; +import org.apache.tomcat.websocket.server.WsContextListener; public class TestWsWebSocketContainer extends TomcatBaseTest { @@ -443,7 +443,7 @@ public class TestWsWebSocketContainer ex } -public static class BlockingConfig extends WsListener { +public static class BlockingConfig extends WsContextListener {
svn commit: r1524691 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/tomcat/websocket/FutureToSendHandler.java java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java
Author: markt Date: Thu Sep 19 11:06:23 2013 New Revision: 1524691 URL: http://svn.apache.org/r1524691 Log: Extract FutureToSendHandler to a separate file Added: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/FutureToSendHandler.java - copied unchanged from r1524668, tomcat/trunk/java/org/apache/tomcat/websocket/FutureToSendHandler.java Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1524668 Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java?rev=1524691r1=1524690r2=1524691view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java Thu Sep 19 11:06:23 2013 @@ -27,7 +27,6 @@ import java.util.ArrayDeque; import java.util.ArrayList; import java.util.List; import java.util.Queue; -import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; @@ -776,69 +775,6 @@ public abstract class WsRemoteEndpointIm } } -/** - * Converts a Future to a SendHandler. - */ -private static class FutureToSendHandler -implements FutureVoid, SendHandler { - -private final CountDownLatch latch = new CountDownLatch(1); -private volatile SendResult result = null; - -// - SendHandler - -@Override -public void onResult(SendResult result) { -this.result = result; -latch.countDown(); -} - - -// -- Future - -@Override -public boolean cancel(boolean mayInterruptIfRunning) { -// Cancelling the task is not supported -return false; -} - -@Override -public boolean isCancelled() { -// Cancelling the task is not supported -return false; -} - -@Override -public boolean isDone() { -return latch.getCount() == 0; -} - -@Override -public Void get() throws InterruptedException, -ExecutionException { -latch.await(); -if (result.getException() != null) { -throw new ExecutionException(result.getException()); -} -return null; -} - -@Override -public Void get(long timeout, TimeUnit unit) -throws InterruptedException, ExecutionException, -TimeoutException { -boolean retval = latch.await(timeout, unit); -if (retval == false) { -throw new TimeoutException(); -} -if (result.getException() != null) { -throw new ExecutionException(result.getException()); -} -return null; -} -} - - private static class WsOutputStream extends OutputStream { private final WsRemoteEndpointImplBase endpoint; - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1524693 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/coyote/ java/org/apache/coyote/http11/upgrade/ java/org/apache/tomcat/util/net/
Author: markt Date: Thu Sep 19 11:07:28 2013 New Revision: 1524693 URL: http://svn.apache.org/r1524693 Log: Revert addition of closing flag on wrapper. A more robust solution is required. Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/coyote/AbstractProtocol.java tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1524683 Modified: tomcat/tc7.0.x/trunk/java/org/apache/coyote/AbstractProtocol.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/AbstractProtocol.java?rev=1524693r1=1524692r2=1524693view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/coyote/AbstractProtocol.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/coyote/AbstractProtocol.java Thu Sep 19 11:07:28 2013 @@ -675,7 +675,6 @@ public abstract class AbstractProtocol i } else { // Connection closed. OK to recycle the processor. Upgrade // processors are not recycled. -wrapper.setClosing(true); connections.remove(socket); if (processor.isUpgrade()) { processor.getHttpUpgradeHandler().destroy(); Modified: tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java?rev=1524693r1=1524692r2=1524693view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java Thu Sep 19 11:07:28 2013 @@ -50,7 +50,7 @@ public class AprServletInputStream exten try { readLock.lock(); if (wrapper.getBlockingStatus() == block) { -if (closed || wrapper.isClosing()) { +if (closed) { throw new IOException(sm.getString(apr.closed)); } result = Socket.recv(socket, b, off, len); @@ -70,7 +70,7 @@ public class AprServletInputStream exten try { readLock.lock(); writeLock.unlock(); -if (closed || wrapper.isClosing()) { +if (closed) { throw new IOException(sm.getString(apr.closed)); } result = Socket.recv(socket, b, off, len); Modified: tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java?rev=1524693r1=1524692r2=1524693view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java Thu Sep 19 11:07:28 2013 @@ -60,7 +60,7 @@ public class AprServletOutputStream exte try { readLock.lock(); if (wrapper.getBlockingStatus() == block) { -if (closed || wrapper.isClosing()) { +if (closed) { throw new IOException(sm.getString(apr.closed)); } return doWriteInternal(b, off, len); @@ -83,7 +83,7 @@ public class AprServletOutputStream exte try { readLock.lock(); writeLock.unlock(); -if (closed || wrapper.isClosing()) { +if (closed) { throw new IOException(sm.getString(apr.closed)); } return doWriteInternal(b, off, len); Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java?rev=1524693r1=1524692r2=1524693view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java Thu Sep 19 11:07:28 2013 @@ -52,17 +52,6 @@ public class SocketWrapperE { */ private final Object writeThreadLock = new Object(); -/* - * Used to indicate that the socket is
svn commit: r1524694 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/tomcat/websocket/ java/org/apache/tomcat/websocket/server/
Author: markt Date: Thu Sep 19 11:10:06 2013 New Revision: 1524694 URL: http://svn.apache.org/r1524694 Log: More robust solution to the problem of blocking writes not be closed when the web application stops. Futures used for blocking writes are registered with the session and the session completes them with an exception if they are outstanding when the session closes. Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/FutureToSendHandler.java tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsSession.java tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/WsContextListener.java tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/server/WsSci.java Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1524687 Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/FutureToSendHandler.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/FutureToSendHandler.java?rev=1524694r1=1524693r2=1524694view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/FutureToSendHandler.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/FutureToSendHandler.java Thu Sep 19 11:10:06 2013 @@ -31,12 +31,19 @@ import javax.websocket.SendResult; class FutureToSendHandler implements FutureVoid, SendHandler { private final CountDownLatch latch = new CountDownLatch(1); +private final WsSession wsSession; private volatile SendResult result = null; +public FutureToSendHandler(WsSession wsSession) { +this.wsSession = wsSession; +} + + // - SendHandler @Override public void onResult(SendResult result) { + this.result = result; latch.countDown(); } @@ -64,7 +71,12 @@ class FutureToSendHandler implements Fut @Override public Void get() throws InterruptedException, ExecutionException { -latch.await(); +try { +wsSession.registerFuture(this); +latch.await(); +} finally { +wsSession.unregisterFuture(this); +} if (result.getException() != null) { throw new ExecutionException(result.getException()); } @@ -75,7 +87,14 @@ class FutureToSendHandler implements Fut public Void get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException { -boolean retval = latch.await(timeout, unit); +boolean retval = false; +try { +wsSession.registerFuture(this); +retval = latch.await(timeout, unit); +} finally { +wsSession.unregisterFuture(this); + +} if (retval == false) { throw new TimeoutException(); } Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties?rev=1524694r1=1524693r2=1524694view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties Thu Sep 19 11:10:06 2013 @@ -71,12 +71,19 @@ wsSession.closed=The WebSocket session h wsSession.duplicateHandlerBinary=A binary message handler has already been configured wsSession.duplicateHandlerPong=A pong message handler has already been configured wsSession.duplicateHandlerText=A text message handler has already been configured -wsSession.sendCloseFail=Failed to send close message to remote endpoint wsSession.invalidHandlerTypePong=A pong message handler must implement MessageHandler.Basic +wsSession.messageFailed=Unable to write the complete message as the WebSocket connection has been closed +wsSession.sendCloseFail=Failed to send close message to remote endpoint wsSession.removeHandlerFailed=Unable to remove the handler [{0}] as it was not registered with this session wsSession.unknownHandler=Unable to add the message handler [{0}] as it was for the unrecognised type [{1}] wsSession.unknownHandlerType=Unable to add the message handler [{0}] as it was wrapped as the unrecognised type [{1}] +# Note the following message is used as a close reason in a WebSocket control +# frame and therefore must be 123 bytes (not characters) or less in
Re: Tagging 7.0.43
On 19/09/2013 11:28, Mark Thomas wrote: On 19/09/2013 11:21, Violeta Georgieva wrote: Hi, 2013/9/18 Violeta Georgieva miles...@gmail.com Hi, I will tag 7.0.43 later today. If you need to put something in this version please reply here. I tried to reproduce the issue [1] with Tomcat 7.0.43 tag. There are only the warnings below and Tomcat starts. (catalina.bat run -security) I didn't backport the refactoring that triggered [1] to 7.0.x. Sep 19, 2013 1:06:07 PM org.apache.juli.ClassLoaderLogManager readConfiguration WARNING: Reading logging.properties is not permitted in some context. See per context logging in the default catalina.policy file. Sep 19, 2013 1:06:07 PM org.apache.juli.ClassLoaderLogManager readConfiguration WARNING: Original error was: access denied (java.util.PropertyPermission java.util.logging.LogManager.debug read) OS: Windows 7 x64 Java: jdk1.6.0_45 I can see that Mark back-ported the fix for [1] in Tomcat 7 trunk. Testing with that fix the warnings disappeared and Tomcat starts. What should I do? Issue new tag 7.0.44? Since no 7.0.43 tarballs have been uploaded, you can just deleted the 7.0.43 tag and re-tag. I'm still looking at the issues Rainer found with 8.0.0-RC2. If you can give me an hour or to to test my new solution, that could be part of the tag. The new solution looks to be working and it should be more robust than previously. I don't have anything else that needs to be in the tag. Mark - 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
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/4988 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/trunk] 1524668 Blamelist: markt Build succeeded! sincerely, -The Buildbot
Re: Tagging 7.0.43
2013/9/19 Mark Thomas ma...@apache.org On 19/09/2013 11:28, Mark Thomas wrote: On 19/09/2013 11:21, Violeta Georgieva wrote: Hi, 2013/9/18 Violeta Georgieva miles...@gmail.com Hi, I will tag 7.0.43 later today. If you need to put something in this version please reply here. I tried to reproduce the issue [1] with Tomcat 7.0.43 tag. There are only the warnings below and Tomcat starts. (catalina.bat run -security) I didn't backport the refactoring that triggered [1] to 7.0.x. Sep 19, 2013 1:06:07 PM org.apache.juli.ClassLoaderLogManager readConfiguration WARNING: Reading logging.properties is not permitted in some context. See per context logging in the default catalina.policy file. Sep 19, 2013 1:06:07 PM org.apache.juli.ClassLoaderLogManager readConfiguration WARNING: Original error was: access denied (java.util.PropertyPermission java.util.logging.LogManager.debug read) OS: Windows 7 x64 Java: jdk1.6.0_45 I can see that Mark back-ported the fix for [1] in Tomcat 7 trunk. Testing with that fix the warnings disappeared and Tomcat starts. What should I do? Issue new tag 7.0.44? Since no 7.0.43 tarballs have been uploaded, you can just deleted the 7.0.43 tag and re-tag. I'm still looking at the issues Rainer found with 8.0.0-RC2. If you can give me an hour or to to test my new solution, that could be part of the tag. The new solution looks to be working and it should be more robust than previously. I don't have anything else that needs to be in the tag. Thanks
svn commit: r1524707 - in /tomcat/trunk/java/org/apache/catalina/startup: ContextConfig.java WebappServiceLoader.java
Author: markt Date: Thu Sep 19 12:15:20 2013 New Revision: 1524707 URL: http://svn.apache.org/r1524707 Log: Collection-List since order is important Modified: tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java tomcat/trunk/java/org/apache/catalina/startup/WebappServiceLoader.java Modified: tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java?rev=1524707r1=1524706r2=1524707view=diff == --- tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java Thu Sep 19 12:15:20 2013 @@ -26,7 +26,6 @@ import java.net.URISyntaxException; import java.net.URL; import java.net.URLConnection; import java.util.ArrayList; -import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; @@ -1592,7 +1591,7 @@ public class ContextConfig implements Li */ protected void processServletContainerInitializers(ServletContext servletContext) { -CollectionServletContainerInitializer detectedScis; +ListServletContainerInitializer detectedScis; try { WebappServiceLoaderServletContainerInitializer loader = new WebappServiceLoader(servletContext); Modified: tomcat/trunk/java/org/apache/catalina/startup/WebappServiceLoader.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/WebappServiceLoader.java?rev=1524707r1=1524706r2=1524707view=diff == --- tomcat/trunk/java/org/apache/catalina/startup/WebappServiceLoader.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/WebappServiceLoader.java Thu Sep 19 12:15:20 2013 @@ -24,7 +24,6 @@ import java.io.InputStreamReader; import java.net.URL; import java.nio.charset.StandardCharsets; import java.util.ArrayList; -import java.util.Collection; import java.util.Collections; import java.util.Enumeration; import java.util.HashSet; @@ -74,7 +73,7 @@ public class WebappServiceLoaderT { * @return an unmodifiable collection of service providers * @throws IOException if there was a problem loading any service */ -public CollectionT load(ClassT serviceType) throws IOException { +public ListT load(ClassT serviceType) throws IOException { String configFile = SERVICES + serviceType.getName(); SetString servicesFound = new HashSet(); @@ -149,7 +148,7 @@ public class WebappServiceLoaderT { } } -CollectionT loadServices(ClassT serviceType, SetString servicesFound) +ListT loadServices(ClassT serviceType, SetString servicesFound) throws IOException { ClassLoader loader = context.getClassLoader(); ListT services = new ArrayList(servicesFound.size()); @@ -162,6 +161,6 @@ public class WebappServiceLoaderT { throw new IOException(e); } } -return Collections.unmodifiableCollection(services); +return Collections.unmodifiableList(services); } } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: svn commit: r1524545 - in /tomcat/tc7.0.x/tags/TOMCAT_7_0_43: ./ build.properties.default
2013/9/18 violet...@apache.org: Author: violetagg Date: Wed Sep 18 19:44:03 2013 New Revision: 1524545 URL: http://svn.apache.org/r1524545 Log: Tag 7.0.43 Added: tomcat/tc7.0.x/tags/TOMCAT_7_0_43/ (props changed) - copied from r1524542, tomcat/tc7.0.x/trunk/ Modified: tomcat/tc7.0.x/tags/TOMCAT_7_0_43/build.properties.default Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_43/ -- --- subclipse:tags (added) +++ subclipse:tags Wed Sep 18 19:44:03 2013 @@ -0,0 +1,27 @@ +933020,TOMCAT_7_0_0_RC1,/tomcat/tc7.0.x/tags/TOMCAT_7_0_0_RC1,tag +945257,TOMCAT_7_0_0_RC2,/tomcat/tc7.0.x/tags/TOMCAT_7_0_0_RC2,tag +947494,TOMCAT_7_0_0_RC3,/tomcat/tc7.0.x/tags/TOMCAT_7_0_0_RC3,tag +952212,TOMCAT_7_0_0_RC4,/tomcat/tc7.0.x/tags/TOMCAT_7_0_0_RC4,tag +954232,TOMCAT_7_0_0,/tomcat/tc7.0.x/tags/TOMCAT_7_0_0,tag +981255,TOMCAT_7_0_1,/tomcat/tc7.0.x/tags/TOMCAT_7_0_1,tag +982035,TOMCAT_7_0_2,/tomcat/tc7.0.x/tags/TOMCAT_7_0_2,tag +1003912,TOMCAT_7_0_3,/tomcat/tc7.0.x/tags/TOMCAT_7_0_3,tag +1022637,TOMCAT_7_0_4,/tomcat/tc7.0.x/tags/TOMCAT_7_0_4,tag +1038717,TOMCAT_7_0_5,/tomcat/tc7.0.x/tags/TOMCAT_7_0_5,tag +1057288,TOMCAT_7_0_6,/tomcat/tc7.0.x/tags/TOMCAT_7_0_6,tag +1066773,TOMCAT_7_0_7,/tomcat/tc7.0.x/tags/TOMCAT_7_0_7,tag +1067169,TOMCAT_7_0_8,/tomcat/tc7.0.x/tags/TOMCAT_7_0_8,tag +1075337,TOMCAT_7_0_9,/tomcat/tc7.0.x/tags/TOMCAT_7_0_9,tag +1078282,TOMCAT_7_0_10,/tomcat/tc7.0.x/tags/TOMCAT_7_0_10,tag +1080182,TOMCAT_7_0_11,/tomcat/tc7.0.x/tags/TOMCAT_7_0_11,tag +1087797,TOMCAT_7_0_12,/tomcat/tc7.0.x/tags/TOMCAT_7_0_12,tag +1101230,TOMCAT_7_0_14,/tomcat/tc7.0.x/tags/TOMCAT_7_0_14,tag +1101232,TOMCAT_7_0_13,/tomcat/tc7.0.x/tags/TOMCAT_7_0_13,tag +1131469,TOMCAT_7_0_15,/tomcat/tc7.0.x/tags/TOMCAT_7_0_15,tag +1134562,TOMCAT_7_0_16,/tomcat/tc7.0.x/tags/TOMCAT_7_0_16,tag +1142314,TOMCAT_7_0_17,/tomcat/tc7.0.x/tags/TOMCAT_7_0_17,tag +1143610,TOMCAT_7_0_18,/tomcat/tc7.0.x/tags/TOMCAT_7_0_18,tag +1146504,TOMCAT_7_0_19,/tomcat/tc7.0.x/tags/TOMCAT_7_0_19,tag +1155255,TOMCAT_7_0_20,/tomcat/tc7.0.x/tags/TOMCAT_7_0_20,tag +1162976,TOMCAT_7_0_21,/tomcat/tc7.0.x/tags/TOMCAT_7_0_21,tag +1176597,TOMCAT_7_0_22,/tomcat/tc7.0.x/tags/TOMCAT_7_0_22,tag I think Mark does svn propdel subclipse:tags and removes the above Subclipse property before creating a tag. E.g. this page does not show any value for that property http://svn.apache.org/viewvc/tomcat/tc7.0.x/tags/TOMCAT_7_0_42/ Anyway, whether that property is removed or not is irrelevant. It does not affect how code is built. Just noting a difference. It may affect switch dialog in Subclipse SVN client plugin in Eclipse IDE, but the value has not been updated since 7.0.22 so maybe nobody is using it. I am not using Subclipse. Best regards, Konstantin Kolinko - 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
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/4989 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/trunk] 1524687 Blamelist: markt BUILD FAILED: failed compile_1 sincerely, -The Buildbot
[Bug 55570] New: SpnegoAuthenticator: Resource file is missing placeholders for exceptions.
https://issues.apache.org/bugzilla/show_bug.cgi?id=55570 Bug ID: 55570 Summary: SpnegoAuthenticator: Resource file is missing placeholders for exceptions. Product: Tomcat 7 Version: 7.0.29 Hardware: PC Status: NEW Severity: normal Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: sanderhartogen...@gmail.com In java/org/apache/catalina/authenticator/SpnegoAuthenticator.java problems are logged with an exception. The exception does not show up in the logging. The exception only shows up if I hack java/org/apache/catalina/authenticator/LocalStrings.properties in catalina.jar, and add a placeholder. REPRODUCE: - Configure SP-NEGO with Kerberos. - Mess up your principal in com.sun.security.jgss.krb5.accept in jaas.config. - Try to login. - See that you get something like: FINE [org.apache.catalina.authenticator.SpnegoAuthenticator authenticate] Failed to validate client supplied ticket FIX: In java/org/apache/catalina/authenticator/LocalStrings.properties please add [{0}] to the following lines: spnegoAuthenticator.ticketValidateFail=Failed to validate client supplied ticket spnegoAuthenticator.serviceLoginFail=Unable to login as the service principal In SpnegoAuthenticator.java you can verify that exceptions are indeed passed to the log. VALIDATE: - Reproduce again - See that you now get Failed to validate client supplied ticket [GSSException: Failure unspecified at GSS-API level (Mechanism level: Invalid argument (400) - Cannot find key of appropriate type to decrypt AP REP - RC4 with HMAC)] The exception is not super-helpful, but at least it's something. -- 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: r1524719 - /tomcat/trunk/java/org/apache/catalina/startup/WebappServiceLoader.java
Author: markt Date: Thu Sep 19 12:50:36 2013 New Revision: 1524719 URL: http://svn.apache.org/r1524719 Log: Set-LinkedHashSet as order needs to be retained Modified: tomcat/trunk/java/org/apache/catalina/startup/WebappServiceLoader.java Modified: tomcat/trunk/java/org/apache/catalina/startup/WebappServiceLoader.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/WebappServiceLoader.java?rev=1524719r1=1524718r2=1524719view=diff == --- tomcat/trunk/java/org/apache/catalina/startup/WebappServiceLoader.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/WebappServiceLoader.java Thu Sep 19 12:50:36 2013 @@ -26,9 +26,8 @@ import java.nio.charset.StandardCharsets import java.util.ArrayList; import java.util.Collections; import java.util.Enumeration; -import java.util.HashSet; +import java.util.LinkedHashSet; import java.util.List; -import java.util.Set; import javax.servlet.ServletContext; @@ -76,7 +75,7 @@ public class WebappServiceLoaderT { public ListT load(ClassT serviceType) throws IOException { String configFile = SERVICES + serviceType.getName(); -SetString servicesFound = new HashSet(); +LinkedHashSetString servicesFound = new LinkedHashSet(); ClassLoader loader = context.getClassLoader(); // if the ServletContext has ORDERED_LIBS, then use that to specify the @@ -128,7 +127,8 @@ public class WebappServiceLoaderT { return loadServices(serviceType, servicesFound); } -void parseConfigFile(SetString servicesFound, URL url) throws IOException { +void parseConfigFile(LinkedHashSetString servicesFound, URL url) +throws IOException { try (InputStream is = url.openStream()) { InputStreamReader in = new InputStreamReader(is, StandardCharsets.UTF_8); @@ -148,7 +148,7 @@ public class WebappServiceLoaderT { } } -ListT loadServices(ClassT serviceType, SetString servicesFound) +ListT loadServices(ClassT serviceType, LinkedHashSetString servicesFound) throws IOException { ClassLoader loader = context.getClassLoader(); ListT services = new ArrayList(servicesFound.size()); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1524725 - /tomcat/trunk/test/org/apache/catalina/startup/TestWebappServiceLoader.java
Author: markt Date: Thu Sep 19 13:06:41 2013 New Revision: 1524725 URL: http://svn.apache.org/r1524725 Log: Fix unit test broken by switch to LinkedHashSet Modified: tomcat/trunk/test/org/apache/catalina/startup/TestWebappServiceLoader.java Modified: tomcat/trunk/test/org/apache/catalina/startup/TestWebappServiceLoader.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/startup/TestWebappServiceLoader.java?rev=1524725r1=1524724r2=1524725view=diff == --- tomcat/trunk/test/org/apache/catalina/startup/TestWebappServiceLoader.java (original) +++ tomcat/trunk/test/org/apache/catalina/startup/TestWebappServiceLoader.java Thu Sep 19 13:06:41 2013 @@ -21,9 +21,8 @@ import java.net.URL; import java.util.Arrays; import java.util.Collection; import java.util.Collections; -import java.util.HashSet; +import java.util.LinkedHashSet; import java.util.List; -import java.util.Set; import javax.servlet.ServletContainerInitializer; import javax.servlet.ServletContext; @@ -73,13 +72,13 @@ public class TestWebappServiceLoader { public void testInitializerFromClasspath() throws IOException { URL url = new URL(file://test); loader = EasyMock.createMockBuilder(WebappServiceLoader.class) -.addMockedMethod(parseConfigFile, Set.class, URL.class) +.addMockedMethod(parseConfigFile, LinkedHashSet.class, URL.class) .withConstructor(context).createMock(control); EasyMock.expect(context.getAttribute(ServletContext.ORDERED_LIBS)) .andReturn(null); EasyMock.expect(cl.getResources(CONFIG_FILE)) .andReturn(Collections.enumeration(Collections.singleton(url))); -loader.parseConfigFile(EasyMock.isA(Set.class), EasyMock.same(url)); +loader.parseConfigFile(EasyMock.isA(LinkedHashSet.class), EasyMock.same(url)); control.replay(); Assert.assertTrue(loader.load(ServletContainerInitializer.class).isEmpty()); control.verify(); @@ -93,17 +92,17 @@ public class TestWebappServiceLoader { URL url2 = new URL(file://dir/); URL sci2 = new URL(file://dir/ + CONFIG_FILE); loader = EasyMock.createMockBuilder(WebappServiceLoader.class) -.addMockedMethod(parseConfigFile, Set.class, URL.class) +.addMockedMethod(parseConfigFile, LinkedHashSet.class, URL.class) .withConstructor(context).createMock(control); ListString jars = Arrays.asList(jar1.jar, dir/); EasyMock.expect(context.getAttribute(ServletContext.ORDERED_LIBS)) .andReturn(jars); EasyMock.expect(context.getResource(/WEB-INF/lib/jar1.jar)) .andReturn(url1); -loader.parseConfigFile(EasyMock.isA(Set.class), EasyMock.eq(sci1)); +loader.parseConfigFile(EasyMock.isA(LinkedHashSet.class), EasyMock.eq(sci1)); EasyMock.expect(context.getResource(/WEB-INF/lib/dir/)) .andReturn(url2); -loader.parseConfigFile(EasyMock.isA(Set.class), EasyMock.eq(sci2)); +loader.parseConfigFile(EasyMock.isA(LinkedHashSet.class), EasyMock.eq(sci2)); EasyMock.expect(parent.getResources(CONFIG_FILE)) .andReturn(Collections.URLemptyEnumeration()); @@ -114,7 +113,7 @@ public class TestWebappServiceLoader { @Test public void testParseConfigFile() throws IOException { -SetString found = new HashSet(); +LinkedHashSetString found = new LinkedHashSet(); loader = new WebappServiceLoader(context); loader.parseConfigFile(found, getClass().getResource(service-config.txt)); Assert.assertEquals(Collections.singleton(provider1), found); @@ -127,7 +126,8 @@ public class TestWebappServiceLoader { cl.loadClass(sci.getName()); EasyMock.expectLastCall() .andReturn(sci); -SetString names = Collections.singleton(sci.getName()); +LinkedHashSetString names = new LinkedHashSet(); +names.add(sci.getName()); control.replay(); CollectionServletContainerInitializer initializers = loader.loadServices(ServletContainerInitializer.class, names); @@ -143,7 +143,8 @@ public class TestWebappServiceLoader { cl.loadClass(sci.getName()); EasyMock.expectLastCall() .andReturn(sci); -SetString names = Collections.singleton(sci.getName()); +LinkedHashSetString names = new LinkedHashSet(); +names.add(sci.getName()); control.replay(); try { loader.loadServices(ServletContainerInitializer.class, names); @@ -161,7 +162,8 @@ public class TestWebappServiceLoader { cl.loadClass(sci.getName()); EasyMock.expectLastCall() .andReturn(sci); -SetString names = Collections.singleton(sci.getName()); +
svn commit: r1524727 - /tomcat/trunk/java/org/apache/catalina/startup/WebappServiceLoader.java
Author: markt Date: Thu Sep 19 13:07:02 2013 New Revision: 1524727 URL: http://svn.apache.org/r1524727 Log: Always load container SCIs first Modified: tomcat/trunk/java/org/apache/catalina/startup/WebappServiceLoader.java Modified: tomcat/trunk/java/org/apache/catalina/startup/WebappServiceLoader.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/WebappServiceLoader.java?rev=1524727r1=1524726r2=1524727view=diff == --- tomcat/trunk/java/org/apache/catalina/startup/WebappServiceLoader.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/WebappServiceLoader.java Thu Sep 19 13:07:02 2013 @@ -75,7 +75,9 @@ public class WebappServiceLoaderT { public ListT load(ClassT serviceType) throws IOException { String configFile = SERVICES + serviceType.getName(); -LinkedHashSetString servicesFound = new LinkedHashSet(); +LinkedHashSetString applicationServicesFound = new LinkedHashSet(); +LinkedHashSetString containerServicesFound = new LinkedHashSet(); + ClassLoader loader = context.getClassLoader(); // if the ServletContext has ORDERED_LIBS, then use that to specify the @@ -100,7 +102,7 @@ public class WebappServiceLoaderT { url = new URL(jar: + base + !/ + configFile); } try { -parseConfigFile(servicesFound, url); +parseConfigFile(applicationServicesFound, url); } catch (FileNotFoundException e) { // no provider file found, this is OK } @@ -117,14 +119,18 @@ public class WebappServiceLoaderT { resources = loader.getResources(configFile); } while (resources.hasMoreElements()) { -parseConfigFile(servicesFound, resources.nextElement()); +parseConfigFile(containerServicesFound, resources.nextElement()); } +// Add the application services after the container services to ensure +// that the container services are loaded first +containerServicesFound.addAll(applicationServicesFound); + // load the discovered services -if (servicesFound.isEmpty()) { +if (containerServicesFound.isEmpty()) { return Collections.emptyList(); } -return loadServices(serviceType, servicesFound); +return loadServices(serviceType, containerServicesFound); } void parseConfigFile(LinkedHashSetString servicesFound, URL url) - 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
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/4990 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/trunk] 1524707 Blamelist: markt Build succeeded! sincerely, -The Buildbot
svn commit: r1524740 - /tomcat/tc7.0.x/tags/TOMCAT_7_0_43/
Author: violetagg Date: Thu Sep 19 13:40:30 2013 New Revision: 1524740 URL: http://svn.apache.org/r1524740 Log: Remove tag TOMCAT_7_0_43 Removed: tomcat/tc7.0.x/tags/TOMCAT_7_0_43/ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1524761 - /tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java
Author: markt Date: Thu Sep 19 14:50:06 2013 New Revision: 1524761 URL: http://svn.apache.org/r1524761 Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=55570 Correct log exceptions so they appear in the logs Modified: tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java Modified: tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java?rev=1524761r1=1524760r2=1524761view=diff == --- tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java (original) +++ tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java Thu Sep 19 14:50:06 2013 @@ -247,14 +247,13 @@ public class SpnegoAuthenticator extends isStoreDelegatedCredential()); } catch (GSSException e) { if (log.isDebugEnabled()) { - log.debug(sm.getString(spnegoAuthenticator.ticketValidateFail, -e)); + log.debug(sm.getString(spnegoAuthenticator.ticketValidateFail), e); } response.setHeader(WWW-Authenticate, Negotiate); response.sendError(HttpServletResponse.SC_UNAUTHORIZED); return false; } catch (PrivilegedActionException e) { -log.error(sm.getString(spnegoAuthenticator.serviceLoginFail, e)); +log.error(sm.getString(spnegoAuthenticator.serviceLoginFail), e); response.setHeader(WWW-Authenticate, Negotiate); response.sendError(HttpServletResponse.SC_UNAUTHORIZED); return false; - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 55570] SpnegoAuthenticator: Resource file is missing placeholders for exceptions.
https://issues.apache.org/bugzilla/show_bug.cgi?id=55570 Mark Thomas ma...@apache.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED OS||All --- Comment #1 from Mark Thomas ma...@apache.org --- The problem is not that the message is missing the placeholder but that the exception argument is in the wrong place. It should be being passed to the log. method so the full strack trace appears in the logs. This has been fixed in 8.0.x for 8.0.0-RC3 onwards and 7.0.x for 7.0.43 onwards. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
SCI discovery ordering
On Sep 19, 2013, at 6:07 AM, ma...@apache.org wrote: Author: markt Date: Thu Sep 19 13:07:02 2013 New Revision: 1524727 URL: http://svn.apache.org/r1524727 Log: Always load container SCIs first This seems at odds with the requirement that the order in which these services are discovered MUST follow the application’s class loading delegation model which is independent of orderedLibs. If we base this on ServiceLoader, which seems to be the intent, the algorithm would be: if (orderedLibs != null) excludedJars = URLs of all jars in WEB-INF/lib that are not listed in orderedLibs for (URL configFile : webappLoader.getResources()) { if (!excludedJars.contains(jar containing configFile)) { load SCIs from entries in configFile } } I originally shied away from trying to compare the URLs returned by the classloader and with those from ServletContext.getResource() as I was was not sure they would be the same. If they are, then the implementation can be simplified along the lines above. If not, we would also need to pass in the delegation order of the classloader to know whether to add the application SCIs before or after the container ones. I'll go ahead and modify this based on the assumption the URLs can be compared. Cheers Jeremy signature.asc Description: Message signed with OpenPGP using GPGMail
svn commit: r2920 - /dev/tomcat/tomcat-8/v8.0.0-RC2/
Author: markt Date: Thu Sep 19 15:09:19 2013 New Revision: 2920 Log: Drop 8.0.0-RC2 Removed: dev/tomcat/tomcat-8/v8.0.0-RC2/ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: SCI discovery ordering
On 19/09/2013 16:31, Jeremy Boynes wrote: On Sep 19, 2013, at 6:07 AM, ma...@apache.org wrote: Author: markt Date: Thu Sep 19 13:07:02 2013 New Revision: 1524727 URL: http://svn.apache.org/r1524727 Log: Always load container SCIs first This seems at odds with the requirement that the order in which these services are discovered MUST follow the application’s class loading delegation model which is independent of orderedLibs. If we base this on ServiceLoader, which seems to be the intent, the algorithm would be: Nope. See the discussion on the users list. There is a clear need for container defined SCIs to be executed first and there is nothing (yet) in the Servlet spec that places any constraints on SCI execution order. Mark if (orderedLibs != null) excludedJars = URLs of all jars in WEB-INF/lib that are not listed in orderedLibs for (URL configFile : webappLoader.getResources()) { if (!excludedJars.contains(jar containing configFile)) { load SCIs from entries in configFile } } I originally shied away from trying to compare the URLs returned by the classloader and with those from ServletContext.getResource() as I was was not sure they would be the same. If they are, then the implementation can be simplified along the lines above. If not, we would also need to pass in the delegation order of the classloader to know whether to add the application SCIs before or after the container ones. I'll go ahead and modify this based on the assumption the URLs can be compared. Cheers Jeremy - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1524767 - in /tomcat/tags/TOMCAT_8_0_0_RC3: ./ build.properties.default
Author: markt Date: Thu Sep 19 15:13:30 2013 New Revision: 1524767 URL: http://svn.apache.org/r1524767 Log: Tag 8.0.0-RC3 Added: tomcat/tags/TOMCAT_8_0_0_RC3/ - copied from r1524766, tomcat/trunk/ Modified: tomcat/tags/TOMCAT_8_0_0_RC3/build.properties.default Modified: tomcat/tags/TOMCAT_8_0_0_RC3/build.properties.default URL: http://svn.apache.org/viewvc/tomcat/tags/TOMCAT_8_0_0_RC3/build.properties.default?rev=1524767r1=1524766r2=1524767view=diff == --- tomcat/tags/TOMCAT_8_0_0_RC3/build.properties.default (original) +++ tomcat/tags/TOMCAT_8_0_0_RC3/build.properties.default Thu Sep 19 15:13:30 2013 @@ -29,7 +29,7 @@ version.major=8 version.minor=0 version.build=0 version.patch=0 -version.suffix=-dev +version.suffix=-RC3 # - Build control flags - # Note enabling validation uses Checkstyle which is LGPL licensed - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 55383] Improve markup and design of Tomcat's HTML pages
https://issues.apache.org/bugzilla/show_bug.cgi?id=55383 --- Comment #44 from Konstantin Preißer prei...@web.de --- Created attachment 30862 -- https://issues.apache.org/bugzilla/attachment.cgi?id=30862action=edit Use local ASF image Hi, previously, for the Tomcat docs I used this URL for the Apache Logo (an alphatransparent PNG): http://www.apache.org/images/feather.png However, as the Tomcat Docs are included in the release package, I think it should use a local image instead. The image added by the patch (webapps/docs/images/asf-feather.png) is the one from the above URL. The patch also removes the line 'Loading comments…' as it is not removed by the Comments script. -- 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
[CANCELLED][VOTE] Release Apache Tomcat 8.0.0-RC2
On 17/09/2013 18:53, Mark Thomas wrote: The proposed 8.0.0-RC2 release is: [ ] Broken - do not release [ ] Alpha - go ahead and release as 8.0.0-RC2 alpha Given the issues reported, I think it is worth rolling an RC3. I'll do that shortly so I am cancelling the RC 2 vote. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r2920 - /dev/tomcat/tomcat-8/v8.0.0-RC2/
Author: markt Date: Thu Sep 19 15:09:19 2013 New Revision: 2920 Log: Drop 8.0.0-RC2 Removed: dev/tomcat/tomcat-8/v8.0.0-RC2/ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1524763 - in /tomcat/tc7.0.x/trunk: ./ conf/Tomcat/ conf/Tomcat/localhost/ embed-webapps/ embed-webapps/examples.war java/org/apache/catalina/authenticator/SpnegoAuthenticator.java webapp
Author: markt Date: Thu Sep 19 14:53:59 2013 New Revision: 1524763 URL: http://svn.apache.org/r1524763 Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=55570 Correct log exceptions so they appear in the logs Added: tomcat/tc7.0.x/trunk/conf/Tomcat/ tomcat/tc7.0.x/trunk/conf/Tomcat/localhost/ tomcat/tc7.0.x/trunk/embed-webapps/ tomcat/tc7.0.x/trunk/embed-webapps/examples.war (with props) Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1524761 Added: tomcat/tc7.0.x/trunk/embed-webapps/examples.war URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/embed-webapps/examples.war?rev=1524763view=auto == Binary file - no diff available. Propchange: tomcat/tc7.0.x/trunk/embed-webapps/examples.war -- svn:mime-type = application/octet-stream Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java?rev=1524763r1=1524762r2=1524763view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java Thu Sep 19 14:53:59 2013 @@ -251,14 +251,13 @@ public class SpnegoAuthenticator extends isStoreDelegatedCredential()); } catch (GSSException e) { if (log.isDebugEnabled()) { - log.debug(sm.getString(spnegoAuthenticator.ticketValidateFail, -e)); + log.debug(sm.getString(spnegoAuthenticator.ticketValidateFail), e); } response.setHeader(WWW-Authenticate, Negotiate); response.sendError(HttpServletResponse.SC_UNAUTHORIZED); return false; } catch (PrivilegedActionException e) { -log.error(sm.getString(spnegoAuthenticator.serviceLoginFail, e)); +log.error(sm.getString(spnegoAuthenticator.serviceLoginFail), e); response.setHeader(WWW-Authenticate, Negotiate); response.sendError(HttpServletResponse.SC_UNAUTHORIZED); return false; 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=1524763r1=1524762r2=1524763view=diff == --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Thu Sep 19 14:53:59 2013 @@ -55,7 +55,7 @@ They eventually become mixed with the numbered issues. (I.e., numbered issues to not pop up wrt. others). -- -section name=Tomcat 7.0.43 (markt) +section name=Tomcat 7.0.43 (voiletagg) subsection name=Catalina changelog add @@ -175,6 +175,10 @@ codeorg.apache.juli.ClassLoaderLogManager.debug=true/code is set. /add + fix +bug55570/bug: Correctly log exceptions for all error conditions in +the SPNEGO authenticator. (markt) + /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
Re: SCI discovery ordering
On Sep 19, 2013, at 8:36 AM, Mark Thomas ma...@apache.org wrote: On 19/09/2013 16:31, Jeremy Boynes wrote: On Sep 19, 2013, at 6:07 AM, ma...@apache.org wrote: Author: markt Date: Thu Sep 19 13:07:02 2013 New Revision: 1524727 URL: http://svn.apache.org/r1524727 Log: Always load container SCIs first This seems at odds with the requirement that the order in which these services are discovered MUST follow the application’s class loading delegation model which is independent of orderedLibs. If we base this on ServiceLoader, which seems to be the intent, the algorithm would be: Nope. See the discussion on the users list. There is a clear need for container defined SCIs to be executed first and there is nothing (yet) in the Servlet spec that places any constraints on SCI execution order. There's a clear model already without assumptions about SCI ordering: SCIs fire before SCLs, and SCLs can be ordered explicitly by web.xml. There are no ordering requirements for SCIs except that they are discovered per the delegation model. This change is changing that to load container SCIs firsts *even if the delegation model specifies application first.* The original issue was that a context attribute was not set when an SCI was run (or actually, as a application class invoked by Spring's SCI was run). As Konstantin pointed out, there is no issue here if that code is run from an SCL rather than the SCI. I argue this is an application issue rather than something the container needs to enforce in a proprietary manner. It is similar to JSP land where Jasper's SCI can only register TLD listener or JSP servlet classes with the context rather than actually instantiating them. Further, running container SCIs first may interfere with application SCIs that would be discovered first - for example, an application should be able to provide an SCI that initialized a WebSocket or JSP implementation separate from the container's and which, because it would be first in delegation order, would take precedence over the container's. I agree 3.2 should clarify the ordering requirements for SCIs even if it just explicitly states there are no ordering guarantees or that they will be fired in the order discovered through the classloader. Until then though it should be on applications to code defensively on the assumption they may be fired in any order. signature.asc Description: Message signed with OpenPGP using GPGMail
[Bug 55383] Improve markup and design of Tomcat's HTML pages
https://issues.apache.org/bugzilla/show_bug.cgi?id=55383 --- Comment #45 from Konstantin Preißer prei...@web.de --- Created attachment 30863 -- https://issues.apache.org/bugzilla/attachment.cgi?id=30863action=edit Improve markup for Welcome pages This patch improves the HTML markup in the Welcome pages (welcome.main.html and welcome.bin.html). -- 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: SCI discovery ordering
On Sep 19, 2013, at 11:32 AM, Jeremy Boynes wrote: On Sep 19, 2013, at 8:36 AM, Mark Thomas ma...@apache.org wrote: On 19/09/2013 16:31, Jeremy Boynes wrote: On Sep 19, 2013, at 6:07 AM, ma...@apache.org wrote: Author: markt Date: Thu Sep 19 13:07:02 2013 New Revision: 1524727 URL: http://svn.apache.org/r1524727 Log: Always load container SCIs first This seems at odds with the requirement that the order in which these services are discovered MUST follow the application’s class loading delegation model which is independent of orderedLibs. If we base this on ServiceLoader, which seems to be the intent, the algorithm would be: Nope. See the discussion on the users list. There is a clear need for container defined SCIs to be executed first and there is nothing (yet) in the Servlet spec that places any constraints on SCI execution order. There's a clear model already without assumptions about SCI ordering: SCIs fire before SCLs, and SCLs can be ordered explicitly by web.xml. There are no ordering requirements for SCIs except that they are discovered per the delegation model. This change is changing that to load container SCIs firsts *even if the delegation model specifies application first.* Loading/discovering SCIs and invoking SCIs are not the same thing. This change is spec compliant because it still loads/discovers SCIs per the delegation model. The spec does NOT say that SCIs must be ordered according to the delegation model (or even that they must be ordered in any fashion at all). The original issue was that a context attribute was not set when an SCI was run (or actually, as a application class invoked by Spring's SCI was run). As Konstantin pointed out, there is no issue here if that code is run from an SCL rather than the SCI. I argue this is an application issue rather than something the container needs to enforce in a proprietary manner. It is similar to JSP land where Jasper's SCI can only register TLD listener or JSP servlet classes with the context rather than actually instantiating them. Further, running container SCIs first may interfere with application SCIs that would be discovered first - for example, an application should be able to provide an SCI that initialized a WebSocket or JSP implementation separate from the container's and which, because it would be first in delegation order, would take precedence over the container's. I agree 3.2 should clarify the ordering requirements for SCIs even if it just explicitly states there are no ordering guarantees or that they will be fired in the order discovered through the classloader. Until then though it should be on applications to code defensively on the assumption they may be fired in any order. smime.p7s Description: S/MIME cryptographic signature
svn commit: r2921 [2/2] - in /dev/tomcat/tomcat-8/v8.0.0-RC3: ./ bin/ bin/embed/ bin/extras/ src/
Added: dev/tomcat/tomcat-8/v8.0.0-RC3/src/apache-tomcat-8.0.0-RC3-src.tar.gz.md5 == --- dev/tomcat/tomcat-8/v8.0.0-RC3/src/apache-tomcat-8.0.0-RC3-src.tar.gz.md5 (added) +++ dev/tomcat/tomcat-8/v8.0.0-RC3/src/apache-tomcat-8.0.0-RC3-src.tar.gz.md5 Thu Sep 19 15:42:00 2013 @@ -0,0 +1 @@ +67b0fed95d0eabcf59f19e6596ba011c *apache-tomcat-8.0.0-RC3-src.tar.gz \ No newline at end of file Added: dev/tomcat/tomcat-8/v8.0.0-RC3/src/apache-tomcat-8.0.0-RC3-src.zip == Binary file - no diff available. Propchange: dev/tomcat/tomcat-8/v8.0.0-RC3/src/apache-tomcat-8.0.0-RC3-src.zip -- svn:mime-type = application/octet-stream Added: dev/tomcat/tomcat-8/v8.0.0-RC3/src/apache-tomcat-8.0.0-RC3-src.zip.asc == --- dev/tomcat/tomcat-8/v8.0.0-RC3/src/apache-tomcat-8.0.0-RC3-src.zip.asc (added) +++ dev/tomcat/tomcat-8/v8.0.0-RC3/src/apache-tomcat-8.0.0-RC3-src.zip.asc Thu Sep 19 15:42:00 2013 @@ -0,0 +1,17 @@ +-BEGIN PGP SIGNATURE- +Version: GnuPG v1.4.9 (MingW32) + +iQIcBAABAgAGBQJSOxXXAAoJEBDAHFovYFnn3KMQANRH/LLhOY4nS6skgW6bgtxh +jO+GPakScoP5PUmaiygdYmZpalXQj2vQGUTdqtXgc0K8h+2g+gb4SDk1vFiD9TZB +BCgf3d63oRpcY66wmStyE0RUksGePMNfE+A/6rAxzcNAvBVJ3eAYZu7D/xhiwb3M +0mM7/wLkTzbh1uTq+NNnMNJa98UI1Lu8i2UEu57gqicvfpSCCQO293nx2TZ9BZHp +s3ooDpOqnnMOEaKyConK82o5UmZjjWVc1rjKG4VuIOY5TynV8Ge61AdVoG+5krzv +AOoQVcHA5tWnfl4Tpvr8T5efqOf9JeqmyAD2xAKETJCjIr0r9Z2W8XVALXz2EBWc +H9s0E4uBsobWTID0FTG2ET875oX+YyVwLLU++OkMGh25f5wt9I2fa9ESx8HO8C5l +gvxEm6v55jUI7/LBg1rmVLAmVHUl4UbNiRvIr6Dpj+vfvhW9Ryq5yEjWp4PEhq3m +fwYfVUZrxw5+mZKMqJgEM8tCqXz7/m3th4OwJaI+1dIoxYTEtTNnAFUDi/VVKw1r +IOrJymWn3KabrspEb/2PylRoClrt3xmyAjLMH7iDfnaZxHPyJpyqc1DQG3aQzoHj +kLqGOhUxtq1jDmLOiqAm1fge1ASMWv+OjNzd0+YYz4RFZYwjn5okoK88WOA+6gH3 +y56JSp61N3oAdxcs7xxl +=OJg0 +-END PGP SIGNATURE- Added: dev/tomcat/tomcat-8/v8.0.0-RC3/src/apache-tomcat-8.0.0-RC3-src.zip.md5 == --- dev/tomcat/tomcat-8/v8.0.0-RC3/src/apache-tomcat-8.0.0-RC3-src.zip.md5 (added) +++ dev/tomcat/tomcat-8/v8.0.0-RC3/src/apache-tomcat-8.0.0-RC3-src.zip.md5 Thu Sep 19 15:42:00 2013 @@ -0,0 +1 @@ +b90e0132944c1232b835bc921a7c61a0 *apache-tomcat-8.0.0-RC3-src.zip \ No newline at end of file - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r2921 [2/2] - in /dev/tomcat/tomcat-8/v8.0.0-RC3: ./ bin/ bin/embed/ bin/extras/ src/
Added: dev/tomcat/tomcat-8/v8.0.0-RC3/src/apache-tomcat-8.0.0-RC3-src.tar.gz.md5 == --- dev/tomcat/tomcat-8/v8.0.0-RC3/src/apache-tomcat-8.0.0-RC3-src.tar.gz.md5 (added) +++ dev/tomcat/tomcat-8/v8.0.0-RC3/src/apache-tomcat-8.0.0-RC3-src.tar.gz.md5 Thu Sep 19 15:42:00 2013 @@ -0,0 +1 @@ +67b0fed95d0eabcf59f19e6596ba011c *apache-tomcat-8.0.0-RC3-src.tar.gz \ No newline at end of file Added: dev/tomcat/tomcat-8/v8.0.0-RC3/src/apache-tomcat-8.0.0-RC3-src.zip == Binary file - no diff available. Propchange: dev/tomcat/tomcat-8/v8.0.0-RC3/src/apache-tomcat-8.0.0-RC3-src.zip -- svn:mime-type = application/octet-stream Added: dev/tomcat/tomcat-8/v8.0.0-RC3/src/apache-tomcat-8.0.0-RC3-src.zip.asc == --- dev/tomcat/tomcat-8/v8.0.0-RC3/src/apache-tomcat-8.0.0-RC3-src.zip.asc (added) +++ dev/tomcat/tomcat-8/v8.0.0-RC3/src/apache-tomcat-8.0.0-RC3-src.zip.asc Thu Sep 19 15:42:00 2013 @@ -0,0 +1,17 @@ +-BEGIN PGP SIGNATURE- +Version: GnuPG v1.4.9 (MingW32) + +iQIcBAABAgAGBQJSOxXXAAoJEBDAHFovYFnn3KMQANRH/LLhOY4nS6skgW6bgtxh +jO+GPakScoP5PUmaiygdYmZpalXQj2vQGUTdqtXgc0K8h+2g+gb4SDk1vFiD9TZB +BCgf3d63oRpcY66wmStyE0RUksGePMNfE+A/6rAxzcNAvBVJ3eAYZu7D/xhiwb3M +0mM7/wLkTzbh1uTq+NNnMNJa98UI1Lu8i2UEu57gqicvfpSCCQO293nx2TZ9BZHp +s3ooDpOqnnMOEaKyConK82o5UmZjjWVc1rjKG4VuIOY5TynV8Ge61AdVoG+5krzv +AOoQVcHA5tWnfl4Tpvr8T5efqOf9JeqmyAD2xAKETJCjIr0r9Z2W8XVALXz2EBWc +H9s0E4uBsobWTID0FTG2ET875oX+YyVwLLU++OkMGh25f5wt9I2fa9ESx8HO8C5l +gvxEm6v55jUI7/LBg1rmVLAmVHUl4UbNiRvIr6Dpj+vfvhW9Ryq5yEjWp4PEhq3m +fwYfVUZrxw5+mZKMqJgEM8tCqXz7/m3th4OwJaI+1dIoxYTEtTNnAFUDi/VVKw1r +IOrJymWn3KabrspEb/2PylRoClrt3xmyAjLMH7iDfnaZxHPyJpyqc1DQG3aQzoHj +kLqGOhUxtq1jDmLOiqAm1fge1ASMWv+OjNzd0+YYz4RFZYwjn5okoK88WOA+6gH3 +y56JSp61N3oAdxcs7xxl +=OJg0 +-END PGP SIGNATURE- Added: dev/tomcat/tomcat-8/v8.0.0-RC3/src/apache-tomcat-8.0.0-RC3-src.zip.md5 == --- dev/tomcat/tomcat-8/v8.0.0-RC3/src/apache-tomcat-8.0.0-RC3-src.zip.md5 (added) +++ dev/tomcat/tomcat-8/v8.0.0-RC3/src/apache-tomcat-8.0.0-RC3-src.zip.md5 Thu Sep 19 15:42:00 2013 @@ -0,0 +1 @@ +b90e0132944c1232b835bc921a7c61a0 *apache-tomcat-8.0.0-RC3-src.zip \ No newline at end of file - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1524796 - /tomcat/tc7.0.x/trunk/KEYS
Author: violetagg Date: Thu Sep 19 17:23:17 2013 New Revision: 1524796 URL: http://svn.apache.org/r1524796 Log: Adding code signing key. Modified: tomcat/tc7.0.x/trunk/KEYS Modified: tomcat/tc7.0.x/trunk/KEYS URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/KEYS?rev=1524796r1=1524795r2=1524796view=diff == --- tomcat/tc7.0.x/trunk/KEYS (original) +++ tomcat/tc7.0.x/trunk/KEYS Thu Sep 19 17:23:17 2013 @@ -523,3 +523,62 @@ YB5npZhfo59tF4uuvKvYKWghrF8wSwEE7F4cJAuq /PLn/VX9dZEFVPVbPapJpkNv8A== =Vxhw -END PGP PUBLIC KEY BLOCK- +pub 4096R/D63011C7 2013-09-19 + Key fingerprint = 713D A88B E509 1153 5FE7 16F5 208B 0AB1 D630 11C7 +uid Violeta Georgieva Georgieva (CODE SIGNING KEY) violet...@apache.org +sig 3D63011C7 2013-09-19 Violeta Georgieva Georgieva (CODE SIGNING KEY) violet...@apache.org +sub 4096R/30480593 2013-09-19 +sig D63011C7 2013-09-19 Violeta Georgieva Georgieva (CODE SIGNING KEY) violet...@apache.org + +-BEGIN PGP PUBLIC KEY BLOCK- +Version: GnuPG v2.0.21 (MingW32) + +mQINBFI6WiwBEAD+kkswnsY8eaqvYkS+ZB5MJr7juWrv9Lw9OGsIXFlTvD1XK01c +E8k4+uA2sOtaXQ5wTMdc5N3YzAXqFxplWuafQgEvhyTTq37M5YCxvtYEZy/EHQYT +iok5H97lMRKbhLdZB+wkdsa0P/L1FveCUiEawKY/Rrfi+UeRAneSV+m7S+RrPphZ +M9aNSczqYKfAqlpUAlUcrF/bt59vjhepoHcE4ev6SB+PCs0vbvX4iTvvZCTk1lZ9 +InS2wdK80Jz9pRB0Uf3LEnZxt9e3RkIFdQOCcEISmNlBKQQKFG+zCpIAbVoMLKEw +rXWl8mLzGzBbhGmLpFroem3Ln1YiAxUqnPR/MoBquYnpTINwePgwKVWyQ1TXG2MF +Z7DPayBMN+G51rfLS/8iy35pAnNeqbWQjavdUis6/0aRMv5EYMFMAerutQ5v99bA +rGj6OL3R6repJLOGT4YWcD/Tw+eU1lMWxbq8BbbRU9Fd0iVFhFyKB/DQSxofvTCe +PdWXRrptrE0/SmvuoTRVPmB21WyJenKdNmVOQ6U+W1Rs+5IKAdWWrGPcUt0qTrRC +SL8vAQ7MejYLovFtRHslJRs7T3ratpRcQUNOx1jytJhmSUJktNWZWNHqBTe/eOAU +Yr+QAkQVQXvRVWzHkDHQRTOFmNYIDZYRkzSP19sBWRnYdCs6CbIVPgMJVwARAQAB +tEVWaW9sZXRhIEdlb3JnaWV2YSBHZW9yZ2lldmEgKENPREUgU0lHTklORyBLRVkp +IDx2aW9sZXRhZ2dAYXBhY2hlLm9yZz6JAjcEEwEKACEFAlI6WiwCGwMFCwkIBwMF +FQoJCAsFFgIDAQACHgECF4AACgkQIIsKsdYwEccMXA/+KMQKWfw2T2CXLhqvQLoh +Irj1Vi9leAttKqKp2NCHLK1jf1qKzUx5U81VvizIGUsDXGlAvnnavrj+hmQqZdsO +CoJAo7ViIR1ZhNca1tFK4Sy03wdpNyUkvxVuC+3peXmwhjPJoqU2ONCuDl/bCczl +QAQpgZCMO93h45U9H6JkjqK01aDorQHxvXo+Ap2IViQvDkNtJ515vG2k5K+x2XHw +Tv19wr5N2rz407TWKzS5hh7QHRgg+PZs/zPf1YHD7Tg5K6vvmZd+5EsDrse6tZXy +mzz2+8Yg1SNa765Aq6p1uAQf5NKeej/25TbRYT7RyIlgDXPcPrKxy0cKzpqFqCFs +jJEcN3NlQq+f1tOvUk8cQQS0G+Qws3EU7I74z8KaUfqmO/5ROrXLS50cKC9CODO0 +UFY8FbJDGzS5cFSBlqXYLeQvaOMg0LsV6wZLu6brxEsRYjSpwM8yBFO4bMcTxt4P +VYtinNZ+6ude8mMz6BK/0/XbAL6rc5jwO2xj7GTCFNRTWOa8IGtwqg3qnAiHcg/V +bTBQCOmzMujHBXLnZu6vg79BwzE7Ikq634D6HEwi1bC3XuVz+7NqdUQAGPSapwUo ++0wC5DVwdjhe1zWcf2Zc45HWsx0HaGW28x/tBrw78fgwrSSyV2xunbxGpVaaysTy +Oini8V70uLofn1SHtxvEQCm5Ag0EUjpaLAEQAKV7FnaAcxkzDa7zjrAgLRho44KM ++lBt28+5KO3Jye1Lpf2+4aspu0PXkGW2Twv2tBQNZYs2CWF+vnHNUDuU8TkSpPt+ +2PRSZrQ0K+IpQF/qY3Wf+LYWFNXk5/wHJLGiQv/008svtupng6Ov39JwCNQ1iG3d +nSWfnqHwQULyE7JcZf1It94G43+6NBvKakstOdK7d40dVhmRIKDdJkWhN3MKrGab +FGFAF2Nb57IugQ9QO6Ve/BnjKZmJg7TyUZk27LVTC0aUQgGgDOvsF2Iw95IplCZ/ +jVbwdBGjeCStvI3c0DB+E2xwJ0g2Wf/CBLvmU9GKOW0toBfRUXFbfzNTJfW8kglt +pDuELsVY5vHHxgujdDInHuTW1930zUw0cNA2+ai3sf+UGejh0e3nGfy1uOK3YQ6H +2YWgqXlOkri9pMlE0NJo/3PW9QDu0YRplGl65k+GtHD2La1akq5V5Et0VNaOypBP +OqnUM08LofAS126Kerm7uBSUQDDV6t1VTOBgPW5cJF9I8kdp04pzj4qb/3fuOuGc +kBRfmO/Vkug8U81w/TnxX6EYGy5fyA4JFBJl++waPS/9dXhVnA0qXEivzw9gNQvC +uXYcM3nm4yUrOouC/OlC1cS+6Wxjrx6qn3NnsVzMCtefNK93+TdheZ0cJrMhJKkW +v+qttOzPIleqvDK9ABEBAAGJAh8EGAEKAAkFAlI6WiwCGwwACgkQIIsKsdYwEcdN +tQ/+L8cw9Z9tfrqovO1fGFQwCSaomShsbjoUb5AR3Hj3OuPGwXd8J62mrw+RnGN+ +0w2RyTz52izYvcoB1jmMFQwqi7vM5KCbw6KA8oRX58WSqiWCIwpbUuTODvJrSXjX +pz/J/d+PVZi8T1HAu5HxDqNC1XR+eUd1xA9Pgnmmw99+0rmzES7xexWADXo/RRPH +mDCxGK3UKMHDYJLTx8D3MacMitzQulxVo9xWwH1C7ioL3o5zCv2mfIl32WNjqwpD +h4gNpnAGRthizeYTgyJM9nCrSWgeE+izGZ9F0g5uXzhyk1f6jlUmXiwjMu/XOcJO +5Rr1e42bWITuP49nB2QbdSqVvVscwCd5TEpOnQtVNZGsss/wQHXDmGSVrYYUQwO/ +cUrU+hTti1IJXgyFi7F1oxde+LCUxXmizKGoY96dVN+TYH5c17ub1/4/DYpOmcly +tsQ2TOV0BqK4rgKLGfg2mA4zIFOdqXeGefLQVAF5fFzjFKKDi0ewp3sqy+ed6mKY +1M/HmRX/YzIouFZ3ChFPIpeY23XxJC0BXkWR4pS7qxnelrWBZ+UbleNr9uHat5rC +B77712dCT9zz85b380DnuMkrgz4HCnHuTcbHXIF1J604lars6ZrjtBvX+OsRHt7V +f72qKJufP+n01xliW68LP4v93auM8nuE4kkEJ8ncHyuDq/Q= +=fM0q +-END PGP PUBLIC KEY BLOCK- - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1524798 - in /tomcat/tc7.0.x/tags/TOMCAT_7_0_43: ./ build.properties.default
Author: violetagg Date: Thu Sep 19 17:37:48 2013 New Revision: 1524798 URL: http://svn.apache.org/r1524798 Log: Tag 7.0.43 Added: tomcat/tc7.0.x/tags/TOMCAT_7_0_43/ (props changed) - copied from r1524797, tomcat/tc7.0.x/trunk/ Modified: tomcat/tc7.0.x/tags/TOMCAT_7_0_43/build.properties.default Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_43/ -- bugtraq:append = false Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_43/ -- bugtraq:label = Bugzilla ID (optional) Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_43/ -- --- bugtraq:message (added) +++ bugtraq:message Thu Sep 19 17:37:48 2013 @@ -0,0 +1 @@ +Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=%BUGID% Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_43/ -- bugtraq:number = true Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_43/ -- bugtraq:url = https://issues.apache.org/bugzilla/show_bug.cgi?id=%BUGID% Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_43/ -- bugtraq:warnifnoissue = false Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_43/ -- --- svn:ignore (added) +++ svn:ignore Thu Sep 19 17:37:48 2013 @@ -0,0 +1,7 @@ +.* +build.properties +logs +nbproject +output +work +*.iml Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_43/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Thu Sep 19 17:37:48 2013 @@ -0,0 +1 @@ +/tomcat/trunk:1156115-1157160,1157162-1157859,1157862-1157942,1157945-1160347,1160349-1163716,1163718-1166689,1166691-1174340,1174342-1175596,1175598-1175611,1175613-1175932,1175934-1177783,1177785-1177980,1178006-1180720,1180722-1183094,1183096-1187753,1187755,1187775,1187801,1187806,1187809,1187826-1188312,1188314-1188401,1188646-1188840,1188842-1190176,1190178-1195223,1195225-1195953,1195955,1195957-1201238,1201240-1203345,1203347-1206623,1206625-1208046,1208073,1208096,1208114,1208145,1208772,1209194-1212125,1212127-1220291,1220293,1220295-1221321,1221323-1222328,1222332-1222401,1222405-1222795,1222850-1222950,1222969-1225326,1225328-1225463,1225465,1225627,1225629-1226534,1226536-1228908,1228911-1228923,1228927-1229532,1229534-1230766,1230768-1231625,1231627-1233414,1233419-1235207,1235209-1237425,1237427,1237429-1237977,1237981,1237985,1237995,1238070,1238073,1239024-1239048,1239050-1239062,1239135,1239256,1239258-1239485,1239785-1240046,1240101,1240106,1240109,1240112,1240114 ,1240116,1240118,1240121,1240329,1240474-1240850,1240857,1241087,1241160,1241408-1241822,1241908-1241909,1241912-1242110,1242371-1292130,1292134-1292458,1292464-1292670,1292672-1292776,1292780-1293392,1293397-1297017,1297019-1297963,1297965-1299820,1300108,1300111-1300460,1300520-1300948,1300997,1301006,1301280,1302332,1302348,1302608-1302610,1302649,1302837,1303138,1303163,1303338,1303521,1303587,1303698,1303803,1303852,1304011,1304035,1304037,1304135,1304249,1304253,1304260,1304271,1304275,1304468,1304895,1304930-1304932,1305194,1305943,1305965,1306556,1306579-1306580,1307084,1307310,1307511-1307512,1307579,1307591,1307597,1310636,1310639-1310640,1310642,1310701,1311212,1311995,1327617,1327670,1331766,1333161,1333173,1333827,1334787,1335026,1335257,1335547,1335692,1335711,1335731,1336515,1336813,1336864,1336868,1336884,1337419,1337426,1337546,1337572,1337591-1337595,1337643,1337707,1337719,1337734,1337741,1337745,1338151-1338154,1338178,1342027,1342029,1342315,1342320,1342476,1342 498,1342503,1342717,1342795,1342805,1343044-1343046,1343335,1343394,1343400,1343629,1343708,1343718,1343895,1344063,1344068,1344250,1344266,1344515,1344528,1344612,1344629,1344725,1344868,1344890,1344893,1344896,1344901,1345020,1345029,1345039,1345287-1345290,1345294,1345309,1345325,1345357,1345367,1345579-1345580,1345582,1345688,1345699,1345704,1345731-1345732,1345737,1345744,1345752,1345754,1345779,1345781,1345846,1346107,1346376,1346404,1346510,1346514,1346519,1346581,1346635,1346644,1346683,1346794,1346885,1346932,1347034,1347047,1347087,1347108-1347109,1347583,1347737,1348105,1348357,1348398,1348425,1348461-1348495,1348498,1348752,1348762,1348772,1348776,1348859,1348968,1348973,1348989,1349007,1349237,1349298,1349317,1349410,1349473,1349539,1349879,1349887,1349893,1349922,1349984,1350124,1350241,1350243,1350294-1350295,1350299,1350864,1350900,1351010,1351054,1351056,1351068,1351134-1351135,1351148,1351259,1351604,1351636-1351640,1351991,1351993,1352011,1352056,1352059,1352661,1
[Bug 55383] Improve markup and design of Tomcat's HTML pages
https://issues.apache.org/bugzilla/show_bug.cgi?id=55383 --- Comment #46 from Konstantin Preißer prei...@web.de --- Created attachment 30864 -- https://issues.apache.org/bugzilla/attachment.cgi?id=30864action=edit Improve markup for Tomcat Examples - Part 1 Hi, this patch improves the HTML markup in the Tomcat Examples webapp (currently, only the index pages and the websocket examples). Note: For the WebSocket examples, I switched from HTML to XHTML because every browser that supports WebSockets (e.g. IE = 10) also supports XHTML (e.g. IE = 9), and because the Snake Example contained an XHTML doctype (but was not fully XHTML-compatible). -- 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-RC2
On 19.09.2013 13:01, Mark Thomas wrote: On 19/09/2013 09:12, Mark Thomas wrote: On 19/09/2013 07:18, Rainer Jung wrote: I get a crash when using tcnative 1.1.28 and JDK 1.7.0_40 on Solaris 10: WARN: Test failure in 'output/build/logs/TEST-org.apache.tomcat.websocket.TestWsWebSocketContainer.APR.txt': Testsuite: org.apache.tomcat.websocket.TestWsWebSocketContainer Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0 sec Testcase: testSessionExpiryContainer took 0.006 sec Caused an ERROR Forked Java VM exited abnormally. Please note the time in the report does not reflect the time until the VM exit. junit.framework.AssertionFailedError: Forked Java VM exited abnormally. Please note the time in the report does not reflect the time until the VM exit. Stack from HotSpot error file: Stack: [0xb280,0xb288], sp=0xb287cfa8, free space=499k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [libtcnative-1.so.0.1.28+0x100fc] Java_org_apache_tomcat_jni_Socket_recv+0x40 j org.apache.tomcat.jni.Socket.recv(J[BII)I+1 j org.apache.tomcat.jni.Socket.recv(J[BII)I+0 j org.apache.coyote.http11.upgrade.AprServletInputStream.doRead(Z[BII)I+83 That looks like the error I thought I had fixed. I've had some ideas for a more robust fix. I'll try implementing them to see how practical they are. Can you try the latest 8.0.x trunk with Solaris? Mark, sorry I was afk the whole day and am now again until late. So can probably only test Friday. Will do as soon as I can and then use either RC3 or head whatever is available then. Regards, Rainer - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: SCI discovery ordering
On 19/09/2013 17:39, Nick Williams wrote: On Sep 19, 2013, at 11:32 AM, Jeremy Boynes wrote: There's a clear model already without assumptions about SCI ordering: SCIs fire before SCLs, and SCLs can be ordered explicitly by web.xml. There are no ordering requirements for SCIs except that they are discovered per the delegation model. This change is changing that to load container SCIs firsts *even if the delegation model specifies application first.* Loading/discovering SCIs and invoking SCIs are not the same thing. This change is spec compliant because it still loads/discovers SCIs per the delegation model. The spec does NOT say that SCIs must be ordered according to the delegation model (or even that they must be ordered in any fashion at all). Exactly. I went back and checked the EG discussion that lead to the text in 8.2. It was solely concerned with loading - not execution order. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: SCI discovery ordering
On Thu, Sep 19, 2013 at 11:28 AM, Mark Thomas ma...@apache.org wrote: On 19/09/2013 17:39, Nick Williams wrote: On Sep 19, 2013, at 11:32 AM, Jeremy Boynes wrote: There's a clear model already without assumptions about SCI ordering: SCIs fire before SCLs, and SCLs can be ordered explicitly by web.xml. There are no ordering requirements for SCIs except that they are discovered per the delegation model. This change is changing that to load container SCIs firsts *even if the delegation model specifies application first.* Loading/discovering SCIs and invoking SCIs are not the same thing. This change is spec compliant because it still loads/discovers SCIs per the delegation model. The spec does NOT say that SCIs must be ordered according to the delegation model (or even that they must be ordered in any fashion at all). Exactly. I went back and checked the EG discussion that lead to the text in 8.2. It was solely concerned with loading - not execution order. My point is is that this change changes that order (which is needed as it was not actually right to start with). With it, SCIs defined by the container are always loaded before SCIs defined by the application even if the application jars precede the container jars in the classloader delegation order (which they normally would). The algorithm above, however, ensures that the delegation order is maintained. As you say, the spec does not specify *any* order for invoking SCIs which means any conforming SCI implementation cannot assume that it will be invoked before or after any other. Listener ordering, however, is determined by the effective web.xml created by merging the fragments and the ordering rules for that are clearly defined by the spec (including that they are invoked after all SCIs). The original issue on the user list was that application code in a SCI was accessing the ServletContext before it was fully initialized. This is an application bug which it should fix. One way, as suggested, would be to defer that work to an SCL that is guaranteed not to be invoked until the ServletContext is fully initialized; it can do that by registering the SCL in the SCI or by defining it in web.xml or a fragment if it needs to be ordered relative to other SCLs. -- Jeremy
svn commit: r1524834 - in /tomcat/trunk/webapps/docs: images/asf-feather.png tomcat-docs.xsl
Author: markt Date: Thu Sep 19 20:46:54 2013 New Revision: 1524834 URL: http://svn.apache.org/r1524834 Log: BZ55383 Local ASF logo. Fix 'loading comments...' Patch by Konstantin Preißer Added: tomcat/trunk/webapps/docs/images/asf-feather.png (with props) Modified: tomcat/trunk/webapps/docs/tomcat-docs.xsl Added: tomcat/trunk/webapps/docs/images/asf-feather.png URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/images/asf-feather.png?rev=1524834view=auto == Binary file - no diff available. Propchange: tomcat/trunk/webapps/docs/images/asf-feather.png -- svn:mime-type = image/png Modified: tomcat/trunk/webapps/docs/tomcat-docs.xsl URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/tomcat-docs.xsl?rev=1524834r1=1524833r2=1524834view=diff == --- tomcat/trunk/webapps/docs/tomcat-docs.xsl (original) +++ tomcat/trunk/webapps/docs/tomcat-docs.xsl Thu Sep 19 20:46:54 2013 @@ -36,7 +36,7 @@ xsl:paramname=home-href select='http://tomcat.apache.org/'/ xsl:paramname=home-logo select='/images/tomcat.png'/ xsl:paramname=home-stylesheet select='/images/docs-stylesheet.css'/ - xsl:paramname=apache-logo select='/images/asf-logo.gif'/ + xsl:paramname=apache-logo select='/images/asf-feather.png'/ xsl:paramname=subdir select=''/ xsl:paramname=relative-path select='.'/ xsl:paramname=version select='8.0.x'/ @@ -124,7 +124,6 @@ (function(w, d) { if (w.location.hostname.toLowerCase() == tomcat.apache.org) { -commentsDiv.appendChild(d.createTextNode(Loading commentsâ¦)); var s = d.createElement(script); s.type = application/javascript; s.async = true; @@ -157,7 +156,12 @@ /xsl:if div style=height: 1px;/ -div class=asfLogoa href=http://www.apache.org/; target=_blankimg src=http://www.apache.org/images/feather.png; alt=The Apache Software Foundation style=width: 266px; height: 83px;//a/div +xsl:variable name=src + xsl:value-of select=$relative-path/xsl:value-of select=$apache-logo/ +/xsl:variable +div class=asfLogo + a href=http://www.apache.org/; target=_blankimg src={$src} alt=The Apache Software Foundation style=width: 266px; height: 83px;//a +/div h1xsl:value-of select=$project/title//h1 div class=versionInfo Version xsl:value-of select=$version/, - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 55383] Improve markup and design of Tomcat's HTML pages
https://issues.apache.org/bugzilla/show_bug.cgi?id=55383 --- Comment #47 from Mark Thomas ma...@apache.org --- Patches all applied. Thanks. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1524837 - in /tomcat/trunk/res: welcome.bin.html welcome.main.html
Author: markt Date: Thu Sep 19 20:50:25 2013 New Revision: 1524837 URL: http://svn.apache.org/r1524837 Log: https://issues.apache.org/bugzilla/show_bug.cgi?id=55383 Improve markup for Welcome pages Patch provided by Konstantin Preißer Modified: tomcat/trunk/res/welcome.bin.html tomcat/trunk/res/welcome.main.html Modified: tomcat/trunk/res/welcome.bin.html URL: http://svn.apache.org/viewvc/tomcat/trunk/res/welcome.bin.html?rev=1524837r1=1524836r2=1524837view=diff == --- tomcat/trunk/res/welcome.bin.html (original) +++ tomcat/trunk/res/welcome.bin.html Thu Sep 19 20:50:25 2013 @@ -14,14 +14,19 @@ See the License for the specific language governing permissions and limitations under the License. -- -!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.0 Transitional//EN -HTMLHEADTITLEApache Tomcat @VERSION@/TITLE -META http-equiv=Content-Type content=text/html;charset=ISO-8859-1 -/HEAD -BODY -P -H3Apache Tomcat @VERSION@/H3 -P/P +!DOCTYPE html +html lang=en xmlns=http://www.w3.org/1999/xhtml; +head +meta charset=UTF-8 / +titleApache Tomcat @VERSION@/title +style type=text/css +body { font-family: Arial, Helvetica, sans-serif; font-size: 11pt; } +dd { margin-top: 0.2em; margin-bottom: 0.5em; } +/style +/head +body + +h1 style=font-size: 1.3em;Apache Tomcat @VERSION@/h1 pUseful references:/p ul lia href=../RELEASE-NOTESRelease notes/a, with important information @@ -31,14 +36,14 @@ about known issues/li pbNOTE: The tar files in this distribution use GNU tar extensions, and must be untarred with a GNU compatible version of tar. The version -of CODEtar/CODE on Solaris and Mac OS X will not work with -these files./b/P +of codetar/code on Solaris and Mac OS X will not work with +these files./b/p -pfont color=redTomcat @VERSION_MAJOR_MINOR@ requires Java SE 6 or later. Read the +p style=color: red;Tomcat @VERSION_MAJOR_MINOR@ requires Java SE 7 or later. Read the RELEASE-NOTES and the RUNNING.txt file in the distribution for more details. -/font/p +/p -h4Packaging Details (or What Should I Download?)/h4 +h2 style=font-size: 1.1em;Packaging Details (or What Should I Download?)/h2 dl dtbbin//b/dt dddl @@ -46,7 +51,7 @@ RELEASE-NOTES and the RUNNING.txt file i ddBase distribution. These distributions do not include the Windows service wrapper nor the compiled APR/native library for Windows./dd dtapache-tomcat-[version].exe/dt -dd32-bit/64-bit Windows installer for Tomcat. nbsp; Please note that while this +dd32-bit/64-bit Windows installer for Tomcat. #xa0; Please note that while this distribution includes the vast majority of the base distribution, some of the command-line scripts for launching Tomcat are not included. This distribution is intended for those users planning to launch Tomcat through the Windows @@ -93,9 +98,8 @@ RELEASE-NOTES and the RUNNING.txt file i /dl/dd /dl -PThank you for using A href=http://tomcat.apache.org/;Tomcat/A!. -/P -PBThe Apache Tomcat Project/B BRA -href=http://tomcat.apache.org/;http://tomcat.apache.org//A /P -P -P/P/BODY/HTML +pThank you for using a href=http://tomcat.apache.org/;Tomcat/a!. +/p +pbThe Apache Tomcat Project/b br /a +href=http://tomcat.apache.org/;http://tomcat.apache.org//a/p +/body/html Modified: tomcat/trunk/res/welcome.main.html URL: http://svn.apache.org/viewvc/tomcat/trunk/res/welcome.main.html?rev=1524837r1=1524836r2=1524837view=diff == --- tomcat/trunk/res/welcome.main.html (original) +++ tomcat/trunk/res/welcome.main.html Thu Sep 19 20:50:25 2013 @@ -14,14 +14,19 @@ See the License for the specific language governing permissions and limitations under the License. -- -!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.0 Transitional//EN -HTMLHEADTITLEApache Tomcat @VERSION@/TITLE -META http-equiv=Content-Type content=text/html;charset=ISO-8859-1 -/HEAD -BODY -P -H3Apache Tomcat @VERSION@/H3 -P/P +!DOCTYPE html +html lang=en xmlns=http://www.w3.org/1999/xhtml; +head +meta charset=UTF-8 / +titleApache Tomcat @VERSION@/title +style type=text/css +body { font-family: Arial, Helvetica, sans-serif; font-size: 11pt; } +dd { margin-top: 0.2em; margin-bottom: 0.5em; } +/style +/head +body + +h1 style=font-size: 1.3em;Apache Tomcat @VERSION@/h1 pUseful references:/p ul lia href=RELEASE-NOTESRelease notes/a, with important information @@ -31,14 +36,14 @@ about known issues/li pbNOTE: The tar files in this distribution use GNU tar extensions, and must be untarred with a GNU compatible version of tar. The version -of CODEtar/CODE on Solaris and Mac OS X will not work with -these files./b/P +of codetar/code on Solaris and Mac OS X will not work with +these files./b/p -pfont color=redTomcat @VERSION_MAJOR_MINOR@ requires Java SE 6 or later. Read the +p style=color: red;Tomcat @VERSION_MAJOR_MINOR@ requires Java SE 7 or later. Read the RELEASE-NOTES
svn commit: r1524885 - in /tomcat/taglibs: standard-examples/ standard-examples/trunk/ standard/trunk/examples/
Author: jboynes Date: Fri Sep 20 01:56:59 2013 New Revision: 1524885 URL: http://svn.apache.org/r1524885 Log: move examples out of the main tree of standard taglib so they can be released independently Added: tomcat/taglibs/standard-examples/ tomcat/taglibs/standard-examples/trunk/ - copied from r1524884, tomcat/taglibs/standard/trunk/examples/ Removed: tomcat/taglibs/standard/trunk/examples/ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1524886 - in /tomcat/taglibs/standard/trunk: doc/ pom.xml
Author: jboynes Date: Fri Sep 20 01:59:18 2013 New Revision: 1524886 URL: http://svn.apache.org/r1524886 Log: remove old taglibs doc tree as the docs are now in site Removed: tomcat/taglibs/standard/trunk/doc/ Modified: tomcat/taglibs/standard/trunk/pom.xml Modified: tomcat/taglibs/standard/trunk/pom.xml URL: http://svn.apache.org/viewvc/tomcat/taglibs/standard/trunk/pom.xml?rev=1524886r1=1524885r2=1524886view=diff == --- tomcat/taglibs/standard/trunk/pom.xml (original) +++ tomcat/taglibs/standard/trunk/pom.xml Fri Sep 20 01:59:18 2013 @@ -90,5 +90,26 @@ modulestandard-test/module -- /modules - + profiles +profile + idapache-release/id + build +plugins + plugin +groupIdorg.apache.rat/groupId +artifactIdapache-rat-plugin/artifactId +version0.10/version +executions + execution +phaseverify/phase +goals + goalcheck/goal +/goals + /execution +/executions + /plugin +/plugins + /build +/profile + /profiles /project - 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-RC2
On 19.09.2013 18:32, Rainer Jung wrote: On 19.09.2013 13:01, Mark Thomas wrote: On 19/09/2013 09:12, Mark Thomas wrote: On 19/09/2013 07:18, Rainer Jung wrote: I get a crash when using tcnative 1.1.28 and JDK 1.7.0_40 on Solaris 10: WARN: Test failure in 'output/build/logs/TEST-org.apache.tomcat.websocket.TestWsWebSocketContainer.APR.txt': Testsuite: org.apache.tomcat.websocket.TestWsWebSocketContainer Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0 sec Testcase: testSessionExpiryContainer took 0.006 sec Caused an ERROR Forked Java VM exited abnormally. Please note the time in the report does not reflect the time until the VM exit. junit.framework.AssertionFailedError: Forked Java VM exited abnormally. Please note the time in the report does not reflect the time until the VM exit. Stack from HotSpot error file: Stack: [0xb280,0xb288], sp=0xb287cfa8, free space=499k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [libtcnative-1.so.0.1.28+0x100fc] Java_org_apache_tomcat_jni_Socket_recv+0x40 j org.apache.tomcat.jni.Socket.recv(J[BII)I+1 j org.apache.tomcat.jni.Socket.recv(J[BII)I+0 j org.apache.coyote.http11.upgrade.AprServletInputStream.doRead(Z[BII)I+83 That looks like the error I thought I had fixed. I've had some ideas for a more robust fix. I'll try implementing them to see how practical they are. Can you try the latest 8.0.x trunk with Solaris? Mark, sorry I was afk the whole day and am now again until late. So can probably only test Friday. Will do as soon as I can and then use either RC3 or head whatever is available then. Reran tests for RC 3 and the original failures didn't happen. Either they happen only sporadically or they are fixed now. Will let it run in a loop later today. There was another test failure for RC 3, but I think that one isn't a regression and I expect it to happen only sporadically (timing issue): INFO: Failures in output/build/logs/TEST-org.apache.catalina.loader.TestWebappClassLoaderExecutorMemoryLeak.APR.txt WARN: Test failure in 'output/build/logs/TEST-org.apache.catalina.loader.TestWebappClassLoaderExecutorMemoryLeak.APR.txt': Testsuite: org.apache.catalina.loader.TestWebappClassLoaderExecutorMemoryLeak Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 6.337 sec - Standard Error - 19-Sep-2013 23:16:22.176 INFO [main] org.apache.catalina.core.AprLifecycleListener.init Loaded APR based Apache Tomcat Native library 1.1.28 using APR version 1.4.8. 19-Sep-2013 23:16:22.181 INFO [main] org.apache.catalina.core.AprLifecycleListener.init APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true]. 19-Sep-2013 23:16:23.117 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized (OpenSSL 1.0.1esp1 12 Feb 2013) 19-Sep-2013 23:16:24.480 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler [http-apr-127.0.0.1-auto-1] 19-Sep-2013 23:16:24.525 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Tomcat 19-Sep-2013 23:16:24.525 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.0-RC3 19-Sep-2013 23:16:25.579 INFO [localhost-startStop-1] org.apache.catalina.util.SessionIdGenerator.createSecureRandom Creation of SecureRandom instance for session ID generation using [INSECURE] took [495] milliseconds. 19-Sep-2013 23:16:25.598 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [http-apr-127.0.0.1-auto-1-38188] 19-Sep-2013 23:16:26.390 SEVERE [main] org.apache.catalina.loader.WebappClassLoader.clearReferencesThreads The web application [] appears to have started a thread named [pool-1- thread-1] but has failed to stop it. This is very likely to create a memory leak. 19-Sep-2013 23:16:26.397 SEVERE [main] org.apache.catalina.loader.WebappClassLoader.clearReferencesThreads The web application [] appears to have started a thread named [pool-1- thread-2] but has failed to stop it. This is very likely to create a memory leak. 19-Sep-2013 23:16:26.400 SEVERE [main] org.apache.catalina.loader.WebappClassLoader.clearReferencesThreads The web application [] appears to have started a thread named [pool-1- thread-3] but has failed to stop it. This is very likely to create a memory leak. 19-Sep-2013 23:16:26.402 SEVERE [main] org.apache.catalina.loader.WebappClassLoader.clearReferencesThreads The web application [] appears to have started a thread named [pool-1- thread-4] but has failed to stop it. This is very likely to create a memory leak. 19-Sep-2013 23:16:26.404 SEVERE [main] org.apache.catalina.loader.WebappClassLoader.clearReferencesThreads The web application [] appears to have started a thread named [pool-1- thread-5] but has failed to stop it. This is very likely to create a memory leak. 19-Sep-2013 23:16:27.420 INFO [main]
Re: SCI discovery ordering
On Sep 19, 2013, at 8:31 AM, Jeremy Boynes jboy...@apache.org wrote: On Sep 19, 2013, at 6:07 AM, ma...@apache.org wrote: Author: markt Date: Thu Sep 19 13:07:02 2013 New Revision: 1524727 URL: http://svn.apache.org/r1524727 Log: Always load container SCIs first This seems at odds with the requirement that the order in which these services are discovered MUST follow the application’s class loading delegation model which is independent of orderedLibs. If we base this on ServiceLoader, which seems to be the intent, the algorithm would be: if (orderedLibs != null) excludedJars = URLs of all jars in WEB-INF/lib that are not listed in orderedLibs for (URL configFile : webappLoader.getResources()) { if (!excludedJars.contains(jar containing configFile)) { load SCIs from entries in configFile } } I originally shied away from trying to compare the URLs returned by the classloader and with those from ServletContext.getResource() as I was was not sure they would be the same. If they are, then the implementation can be simplified along the lines above. If not, we would also need to pass in the delegation order of the classloader to know whether to add the application SCIs before or after the container ones. I'll go ahead and modify this based on the assumption the URLs can be compared. Patch that changes this to load in the order returned by the ClassLoader sci.patch Description: Binary data signature.asc Description: Message signed with OpenPGP using GPGMail