[Bug 55331] Dispatch after async timeout fails
https://issues.apache.org/bugzilla/show_bug.cgi?id=55331 Jonghwa Park changed: What|Removed |Added CC||fratbo...@gmail.com -- 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: Tomcat closes Websocket connection when using a SSL HTTP APR connector (was: RE: Tagging 7.0.46)
> -Original Message- > From: Konstantin Preißer [mailto:kpreis...@apache.org] > Sent: Thursday, October 17, 2013 1:23 AM > To: 'Tomcat Developers List' > Subject: Tomcat closes Websocket connection when using a SSL HTTP APR > connector (was: RE: Tagging 7.0.46) > > > -Original Message- > > From: Konstantin Preißer [mailto:kpreis...@apache.org] > > Sent: Wednesday, October 16, 2013 3:33 PM > > > I also need to do more testing because the error is not very reproducible > on > > my current machine (but I have another one where it was more > > reproducible) to make sure what error exactly happens and when. > > Hi, > > I am now on a machine (Intel Core i7-3770, Win8 x64) where I can reproduce > the error very easily (after a few seconds of drawing at the drawboard). > > In summary: When running current Tomcat trunk on Windows 8 x64 with Java > 1.7.0_45 x64 and TC-Native 1.1.29, and using a SSL HTTP APR connector, then > Tomcat will close the Websocket connection after a few seconds of drawing > to the Drawboard Websocket example. This does not happen with a non-SSL > APR connector. > > What I did was: > 1) Checkout trunk (r1532781). Then update the path > "webapps/examples/WEB-INF/classes/websocket" to r1532286 because > after this revision I made a change to the Room implementation which makes > the error harder to reproduce. > 2) Build the working copy, then copy the current v1.1.29 "tcnative-1.dll" into > the bin directory. > 3) Configure a SSL HTTP APR connector in server.xml: > > protocol="HTTP/1.1" >port="8443" maxThreads="200" >scheme="https" secure="true" SSLEnabled="true" >connectionTimeout="2" >SSLCertificateFile="${catalina.base}\conf\ssl\mycert.crt" >SSLCertificateKeyFile="${catalina.base}\conf\ssl\mypem.pem" >SSLVerifyClient="optional" SSLProtocol="TLSv1" >/> > > 4) Run Tomcat; then open Firefox and visit > https://localhost:8443/examples/websocket/drawboard.xhtml > 5) Draw continuously on the drawboard (e.g. by doing fast circular > movements with the mouse) using the "Brush" setting. > 6) After a several seconds, Firefox will display "Websocket connection > closed" and you can't draw anymore. Tomcat doesn't log anything to the > console. > > When using my TCP forwarder tool between Firefox and Tomcat, I can see > that Tomcat aborts/resets the TCP connection (Winsock error: 10053 and > 10054) when this happens. > > When you try this with a non-SSL HTTP APR connector, everything works > fine: The Websocket connection will not be closed, regardless of how long > you are drawing. Additional information: When I try this with r1532720, then when this close of the Websocket connection happens, Tomcat logs following exception: 17-Oct-2013 01:38:28.378 SEVERE [http-apr-8443-exec-1] websocket.drawboard.DrawboardEndpoint.onError onError: java.io.IOException: Unexpected error [20,014] reading data from the APR/native socket [245,310,416]. java.io.IOException: Unexpected error [20,014] reading data from the APR/native socket [245,310,416]. at org.apache.coyote.http11.upgrade.AprServletInputStream.doRead(AprServletInputStream.java:104) at org.apache.coyote.http11.upgrade.AbstractServletInputStream.read(AbstractServletInputStream.java:116) at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:46) at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsReadListener.onDataAvailable(WsHttpUpgradeHandler.java:192) at org.apache.coyote.http11.upgrade.AbstractServletInputStream.onDataAvailable(AbstractServletInputStream.java:169) at org.apache.coyote.http11.upgrade.AbstractProcessor.upgradeDispatch(AbstractProcessor.java:95) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:640) at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:282) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2461) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2450) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) However, since r1532721, when the closing of Websocket/TCP connection happens, no exception is logged. Regards, Konstantin Preißer - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Tomcat closes Websocket connection when using a SSL HTTP APR connector (was: RE: Tagging 7.0.46)
> -Original Message- > From: Konstantin Preißer [mailto:kpreis...@apache.org] > Sent: Wednesday, October 16, 2013 3:33 PM > I also need to do more testing because the error is not very reproducible on > my current machine (but I have another one where it was more > reproducible) to make sure what error exactly happens and when. Hi, I am now on a machine (Intel Core i7-3770, Win8 x64) where I can reproduce the error very easily (after a few seconds of drawing at the drawboard). In summary: When running current Tomcat trunk on Windows 8 x64 with Java 1.7.0_45 x64 and TC-Native 1.1.29, and using a SSL HTTP APR connector, then Tomcat will close the Websocket connection after a few seconds of drawing to the Drawboard Websocket example. This does not happen with a non-SSL APR connector. What I did was: 1) Checkout trunk (r1532781). Then update the path "webapps/examples/WEB-INF/classes/websocket" to r1532286 because after this revision I made a change to the Room implementation which makes the error harder to reproduce. 2) Build the working copy, then copy the current v1.1.29 "tcnative-1.dll" into the bin directory. 3) Configure a SSL HTTP APR connector in server.xml: 4) Run Tomcat; then open Firefox and visit https://localhost:8443/examples/websocket/drawboard.xhtml 5) Draw continuously on the drawboard (e.g. by doing fast circular movements with the mouse) using the "Brush" setting. 6) After a several seconds, Firefox will display "Websocket connection closed" and you can't draw anymore. Tomcat doesn't log anything to the console. When using my TCP forwarder tool between Firefox and Tomcat, I can see that Tomcat aborts/resets the TCP connection (Winsock error: 10053 and 10054) when this happens. When you try this with a non-SSL HTTP APR connector, everything works fine: The Websocket connection will not be closed, regardless of how long you are drawing. Regards, Konstantin Preißer - 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-RC5
Hi Mark, > -Original Message- > From: Mark Thomas [mailto:ma...@apache.org] > Sent: Wednesday, October 16, 2013 8:21 PM > To: Tomcat Developers List > Subject: [VOTE] Release Apache Tomcat 8.0.0-RC5 > > The proposed Apache Tomcat 8.0.0 release candidate 5 is now available > for voting. > > Given this is a release candidate I am working on the basis that it is > equivalent to an alpha. The main changes since RC4 are: > - Stability fixes in the APR/native connector > - Stability fixes for non-blocking IO and WebSocket > - Improvements to unit tests to reduce incidence of false reports > - Add a drawing board example to the WebSocket examples > - A handful of bug fixes > - A small number of enhancements including direct gzip support in the > default Servlet > - More HTML clean-up > > It can be obtained from: > https://dist.apache.org/repos/dist/dev/tomcat/tomcat-8/v8.0.0-RC5/ > The Maven staging repo is: > https://repository.apache.org/content/repositories/orgapachetomcat-186/ > The svn tag is: > http://svn.apache.org/repos/asf/tomcat/tags/TOMCAT_8_0_0_RC5/ > > The proposed 8.0.0-RC5 release is: > [ ] Broken - do not release > [X] Alpha - go ahead and release as 8.0.0-RC5 alpha (non-binding) Looks good to me. Regards, Konstantin Preißer - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
RE: [VOTE] Release Apache Tomcat 7.0.46
> -Original Message- > From: Violeta Georgieva [mailto:miles...@gmail.com] > Sent: Wednesday, October 16, 2013 9:34 PM > To: Tomcat Developers List > Subject: [VOTE] Release Apache Tomcat 7.0.46 > > The proposed Apache Tomcat 7.0.46 release is now available for voting. > This release candidate contains JSR-356 Java WebSocket 1.0 implementation. > Note that use of this functionality requires Java 7. > > It can be obtained from: > https://dist.apache.org/repos/dist/dev/tomcat/tomcat-7/v7.0.46/ > The Maven staging repo is: > https://repository.apache.org/content/repositories/orgapachetomcat-189/ > The svn tag is: > http://svn.apache.org/repos/asf/tomcat/tc7.0.x/tags/TOMCAT_7_0_46/ > > The proposed 7.0.46 release is: > [ ] Broken - do not release > [ ] Stable - go ahead and release as 7.0.46 Stable Hmm, unfortunately it seems the Websocket implementation using the deprecated proprietary API does not work correctly when using the HTTP APR and NIO connector on Windows... E.g.: With Tomcat 7.0.46 and NIO or APR connector on Windows 8 x64 with Java 1.7.0_45 x64: 1) Open the snake example, http://localhost:8081/examples/websocket-deprecated/snake.html with Firefox 2) Press up key 3) Console displays "Sent: Direction north", but the snake does not move. 1) Open the echo example, http://localhost:8081/examples/websocket-deprecated/echo.html with Firefox 2) Choose one of the endpoints and click connect 3) Press "echo message" button a lot of times - the message will not be echoed-back, and eventually the Websocket connection will be closed; Tomcat logs: Okt 16, 2013 11:27:17 PM org.apache.coyote.http11.AbstractHttp11Processor process Information: Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level. When using a TCP sniffer, one can see that when the browser displays "Websocket connection closed", Tomcat sends a "HTTP/1.1 400 Bad Request" response although it previously already sent a "HTTP/1.1 101 Switching Protocols" response on the same TCP connection. It seems that the websocket messages from the browser are treated as an additional HTTP request instead of websocket messages. With the BIO connector, everything works fine. The new JSR 356 examples work fine with BIO, NIO and APR connectors. I have done some digging and I found that with r1516410, the old Websocket implementation works fine with NIO and APR, but with r1516411, it does not work anymore. Regards, Konstantin Preißer - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1532918 - /tomcat/tc7.0.x/trunk/webapps/examples/websocket-deprecated/index.html
Author: kpreisser Date: Wed Oct 16 21:20:19 2013 New Revision: 1532918 URL: http://svn.apache.org/r1532918 Log: Fix broken link Modified: tomcat/tc7.0.x/trunk/webapps/examples/websocket-deprecated/index.html Modified: tomcat/tc7.0.x/trunk/webapps/examples/websocket-deprecated/index.html URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/examples/websocket-deprecated/index.html?rev=1532918&r1=1532917&r2=1532918&view=diff == --- tomcat/tc7.0.x/trunk/webapps/examples/websocket-deprecated/index.html (original) +++ tomcat/tc7.0.x/trunk/webapps/examples/websocket-deprecated/index.html Wed Oct 16 21:20:19 2013 @@ -28,6 +28,6 @@ Multiplayer snake example This API has been deprecated. The examples are also available using the JSR - 356 Java WebSocket 1.0 API. + 356 Java WebSocket 1.0 API. \ No newline at end of file - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
RE: [VOTE] Release Apache Tomcat 7.0.46
Hi Violeta, > -Original Message- > From: Violeta Georgieva [mailto:miles...@gmail.com] > Sent: Wednesday, October 16, 2013 9:34 PM > To: Tomcat Developers List > Subject: [VOTE] Release Apache Tomcat 7.0.46 > > The proposed Apache Tomcat 7.0.46 release is now available for voting. > This release candidate contains JSR-356 Java WebSocket 1.0 implementation. > Note that use of this functionality requires Java 7. > > It can be obtained from: > https://dist.apache.org/repos/dist/dev/tomcat/tomcat-7/v7.0.46/ > The Maven staging repo is: > https://repository.apache.org/content/repositories/orgapachetomcat-189/ > The svn tag is: > http://svn.apache.org/repos/asf/tomcat/tc7.0.x/tags/TOMCAT_7_0_46/ > > The proposed 7.0.46 release is: > [ ] Broken - do not release > [X] Stable - go ahead and release as 7.0.46 Stable (non-binding) Tested with some self-made applications. Regards, Konstantin Preißer - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[VOTE] Release Apache Tomcat 7.0.46
The proposed Apache Tomcat 7.0.46 release is now available for voting. This release candidate contains JSR-356 Java WebSocket 1.0 implementation. Note that use of this functionality requires Java 7. It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/tomcat-7/v7.0.46/ The Maven staging repo is: https://repository.apache.org/content/repositories/orgapachetomcat-189/ The svn tag is: http://svn.apache.org/repos/asf/tomcat/tc7.0.x/tags/TOMCAT_7_0_46/ The proposed 7.0.46 release is: [ ] Broken - do not release [ ] Stable - go ahead and release as 7.0.46 Stable Regards Violeta
svn commit: r3284 [2/2] - in /dev/tomcat/tomcat-7/v7.0.46: ./ bin/ bin/embed/ bin/extras/ src/
Added: dev/tomcat/tomcat-7/v7.0.46/src/apache-tomcat-7.0.46-src.tar.gz.asc == --- dev/tomcat/tomcat-7/v7.0.46/src/apache-tomcat-7.0.46-src.tar.gz.asc (added) +++ dev/tomcat/tomcat-7/v7.0.46/src/apache-tomcat-7.0.46-src.tar.gz.asc Wed Oct 16 18:24:45 2013 @@ -0,0 +1,17 @@ +-BEGIN PGP SIGNATURE- +Version: GnuPG v2.0.21 (MingW32) + +iQIcBAABCgAGBQJSXtJzAAoJECCLCrHWMBHHDW4QAIfliND75WKRS15LBUwuFS6P +edwlTHDI2A93hWmx6oBQOtsLWwoKtAvf5T8DSHTs9oUtrb/2RYDS/A7TKmmYy8X4 +3A5yfnjqe/1wZ5ud7EiYz+MByiVZwI7CIh9Ybee1XqW6ZOym64USNZj+8YhWGGBb +RUhqmmj/F+UZ3QAZ1sIbdO66NXHy4TxqZmGjq58Mq5Pjtq0IT2PPiOEZH86NUyRJ +nme40yKGQeknWEXgVPWa+Bb1i8Q/T71X1Ba4k3RawkAhT9VjSWdwjjH5n3mOrd8s +GVrDd6YnziVj3+Etj8FkWEiOKq4xi+B49HsIsqDhH7AJB4gRZR7eapaNLvtTMiK3 +3V3vIAR5EjY9K+l1ui8EngL0pnHK7VHpokYZbHomYyLL3C2mTaMquZ46DU2lmJMX +zzb1UxOx0CKgjkkTRXyiEe/6NMosqhmM7bYxfbs7+/Zoj74eeO6ygUK35l7i+Hrt +6M2R+xizLpCzi7uxBxIVyjbRZ/ZFkaUjazHtipDY5skxxIPDiE40dBCHY/t+G4Gb +kOsBk5OcJ9piTuI2pi2DwvF9JHBSfor8C+TW55gwv24t2cfmTX3+/83M/wCqXqKf +3lJcawV0mGdG6HWT9AakeIiJjy58jJd7fSdptdPnwY5VuM33FviIJVNHKH/3uakm +xMOWi/gDe78XPr+rgtR4 +=SnPA +-END PGP SIGNATURE- Added: dev/tomcat/tomcat-7/v7.0.46/src/apache-tomcat-7.0.46-src.tar.gz.md5 == --- dev/tomcat/tomcat-7/v7.0.46/src/apache-tomcat-7.0.46-src.tar.gz.md5 (added) +++ dev/tomcat/tomcat-7/v7.0.46/src/apache-tomcat-7.0.46-src.tar.gz.md5 Wed Oct 16 18:24:45 2013 @@ -0,0 +1 @@ +819e7268e5c8f35baab643722a544dce *apache-tomcat-7.0.46-src.tar.gz \ No newline at end of file Added: dev/tomcat/tomcat-7/v7.0.46/src/apache-tomcat-7.0.46-src.zip == Binary file - no diff available. Propchange: dev/tomcat/tomcat-7/v7.0.46/src/apache-tomcat-7.0.46-src.zip -- svn:mime-type = application/octet-stream Added: dev/tomcat/tomcat-7/v7.0.46/src/apache-tomcat-7.0.46-src.zip.asc == --- dev/tomcat/tomcat-7/v7.0.46/src/apache-tomcat-7.0.46-src.zip.asc (added) +++ dev/tomcat/tomcat-7/v7.0.46/src/apache-tomcat-7.0.46-src.zip.asc Wed Oct 16 18:24:45 2013 @@ -0,0 +1,17 @@ +-BEGIN PGP SIGNATURE- +Version: GnuPG v2.0.21 (MingW32) + +iQIcBAABCgAGBQJSXtIhAAoJECCLCrHWMBHH2qsQALRoXPJbAt3mFxJr095vfhQN +tjRWMl7heuuJA9PluMgTYFPlFkPhBPiGvOrZo095PWi0rtiqZKlJbUQuleJH1VBF +4XGZcGerXFhJVuO36Hh2e4X/evMHm2GCjfmnXbiW8O/7JlSzYRMp2N1ovvRzGmbl +cNy7L0FRYktMtyDWNTZhcJAK60KUJ++dZ1j0A7KbWnFDQ09Ua/bpqADRYUUvX+wF +L23XF7YBMfIzqBVk+BdYGUiOFyX1hKzflpEEkMTNIPvCy9HFHjFSL/KT/dUnPdf+ +4jHbaR/OMLU3f685kpq5iZeKlZmnWfurKYtGcW3gEXEB1u0+2lP6g259+CyGIYYx +v0MjzHoas0zQw/aYeKxRArNBpJ9o7C204dPNeHbu+49aH0ZjQG8634WBLn6tU9QI +FwF33MnDt+CKhizuqe8c0xqfZ6+cBNFFDKQBm8FENHl79RX5bpMRK+Ue/apjk7r0 +UFxQqf5TmCAb8Ap3Sul/F1J0qt7/fv9qia57omTUlSvWAdaVvBsMO/pqKezdEtvo +PZjwEmFnmyCgnfKPBHlTUTNNgBic3qyIQYLBXDmZXdbEqmtf1QxfqLeY5PMDnUc+ +IRLae/PICIx6NigB8B74E5QlsCCYRfADNCWP/QTLm9iyKNg3jgfUPdsINNwS7aTC +JXtdmxzNDvvCNyKkvynX +=k9wL +-END PGP SIGNATURE- Added: dev/tomcat/tomcat-7/v7.0.46/src/apache-tomcat-7.0.46-src.zip.md5 == --- dev/tomcat/tomcat-7/v7.0.46/src/apache-tomcat-7.0.46-src.zip.md5 (added) +++ dev/tomcat/tomcat-7/v7.0.46/src/apache-tomcat-7.0.46-src.zip.md5 Wed Oct 16 18:24:45 2013 @@ -0,0 +1 @@ +62ad311f3c62821e39334d3962c34e0b *apache-tomcat-7.0.46-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
[VOTE] Release Apache Tomcat 8.0.0-RC5
The proposed Apache Tomcat 8.0.0 release candidate 5 is now available for voting. Given this is a release candidate I am working on the basis that it is equivalent to an alpha. The main changes since RC4 are: - Stability fixes in the APR/native connector - Stability fixes for non-blocking IO and WebSocket - Improvements to unit tests to reduce incidence of false reports - Add a drawing board example to the WebSocket examples - A handful of bug fixes - A small number of enhancements including direct gzip support in the default Servlet - More HTML clean-up It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/tomcat-8/v8.0.0-RC5/ The Maven staging repo is: https://repository.apache.org/content/repositories/orgapachetomcat-186/ The svn tag is: http://svn.apache.org/repos/asf/tomcat/tags/TOMCAT_8_0_0_RC5/ The proposed 8.0.0-RC5 release is: [ ] Broken - do not release [ ] Alpha - go ahead and release as 8.0.0-RC5 alpha Cheers, Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1532817 - in /tomcat/tc7.0.x/tags/TOMCAT_7_0_46: ./ build.properties.default
Author: violetagg Date: Wed Oct 16 17:11:34 2013 New Revision: 1532817 URL: http://svn.apache.org/r1532817 Log: Tag 7.0.46 Added: tomcat/tc7.0.x/tags/TOMCAT_7_0_46/ (props changed) - copied from r1532815, tomcat/tc7.0.x/trunk/ Modified: tomcat/tc7.0.x/tags/TOMCAT_7_0_46/build.properties.default Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_46/ -- bugtraq:append = false Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_46/ -- bugtraq:label = Bugzilla ID (optional) Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_46/ -- --- bugtraq:message (added) +++ bugtraq:message Wed Oct 16 17:11:34 2013 @@ -0,0 +1 @@ +Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=%BUGID% Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_46/ -- bugtraq:number = true Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_46/ -- bugtraq:url = https://issues.apache.org/bugzilla/show_bug.cgi?id=%BUGID% Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_46/ -- bugtraq:warnifnoissue = false Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_46/ -- --- svn:ignore (added) +++ svn:ignore Wed Oct 16 17:11:34 2013 @@ -0,0 +1,7 @@ +.* +build.properties +logs +nbproject +output +work +*.iml Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_46/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Wed Oct 16 17:11:34 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 352663,1352788,1352799,1353087,1353125,1353240,1353261,1353414,1353468,1353501,1353581,1
[Bug 55656] Server ClassLoader not used for Server creation
https://issues.apache.org/bugzilla/show_bug.cgi?id=55656 --- Comment #2 from Roberto Benedetti --- (In reply to Christopher Schultz from comment #1) > Did you mean "context" instead of "server" in one of those cases in the > description? Before instantiating and configuring the server, the "server" loader is set as the "context" loader: Thread.currentThread().setContextClassLoader(catalinaLoader) in Bootstrap class. During startup "server" and "context" loader are the same. The Digester created to configure the server is instructed to use the loader of StandardServer class, but that loader is the "common" loader not the "server" loader. -- 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: r1532781 - /tomcat/trunk/webapps/docs/config/http.xml
Author: kpreisser Date: Wed Oct 16 14:41:12 2013 New Revision: 1532781 URL: http://svn.apache.org/r1532781 Log: Follow-Up to r1358057: The non-blocking connector will be used if the TC-native library cannot be found. Modified: tomcat/trunk/webapps/docs/config/http.xml Modified: tomcat/trunk/webapps/docs/config/http.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/config/http.xml?rev=1532781&r1=1532780&r2=1532781&view=diff == --- tomcat/trunk/webapps/docs/config/http.xml (original) +++ tomcat/trunk/webapps/docs/config/http.xml Wed Oct 16 14:41:12 2013 @@ -162,7 +162,7 @@ If the PATH (Windows) or LD_LIBRARY_PATH (on most unix systems) environment variables contain the Tomcat native library, the APR/native connector will be used. If the native library -cannot be found, the blocking Java based connector will be used. Note +cannot be found, the non blocking Java based connector will be used. Note that the APR/native connector has different settings for HTTPS than the Java connectors. To use an explicit protocol rather than rely on the auto-switching - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Tomcat Wiki] Update of "ContributorsGroup" by ChristopherSchultz
Dear Wiki user, You have subscribed to a wiki page or wiki category on "Tomcat Wiki" for change notification. The "ContributorsGroup" page has been changed by ChristopherSchultz: https://wiki.apache.org/tomcat/ContributorsGroup?action=diff&rev1=11&rev2=12 * DmytroMrachkovskyi * GFUCyrusAG * RoseHosting + * [Jon Lucas] - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r3281 [2/2] - in /dev/tomcat/tomcat-8/v8.0.0-RC5: ./ bin/ bin/embed/ bin/extras/ src/
Added: dev/tomcat/tomcat-8/v8.0.0-RC5/src/apache-tomcat-8.0.0-RC5-src.tar.gz.md5 == --- dev/tomcat/tomcat-8/v8.0.0-RC5/src/apache-tomcat-8.0.0-RC5-src.tar.gz.md5 (added) +++ dev/tomcat/tomcat-8/v8.0.0-RC5/src/apache-tomcat-8.0.0-RC5-src.tar.gz.md5 Wed Oct 16 14:10:38 2013 @@ -0,0 +1 @@ +3143cf4d8cef92ae2c8eff9eb4004399 *apache-tomcat-8.0.0-RC5-src.tar.gz \ No newline at end of file Added: dev/tomcat/tomcat-8/v8.0.0-RC5/src/apache-tomcat-8.0.0-RC5-src.zip == Binary file - no diff available. Propchange: dev/tomcat/tomcat-8/v8.0.0-RC5/src/apache-tomcat-8.0.0-RC5-src.zip -- svn:mime-type = application/octet-stream Added: dev/tomcat/tomcat-8/v8.0.0-RC5/src/apache-tomcat-8.0.0-RC5-src.zip.asc == --- dev/tomcat/tomcat-8/v8.0.0-RC5/src/apache-tomcat-8.0.0-RC5-src.zip.asc (added) +++ dev/tomcat/tomcat-8/v8.0.0-RC5/src/apache-tomcat-8.0.0-RC5-src.zip.asc Wed Oct 16 14:10:38 2013 @@ -0,0 +1,17 @@ +-BEGIN PGP SIGNATURE- +Version: GnuPG v1.4.9 (MingW32) + +iQIcBAABAgAGBQJSXpo+AAoJEBDAHFovYFnnv44P/iqciIW60+mYvhkwYe6Al+E4 +0O475K1eQQ3H7Z46WPFsC/ezX5ZDZHOxdA07ItMhQ7XPWtBlvSdlJynXgstj0oOp +RkibFZaBIHxRSLdk9eoux3SDRvmUa+u+bgUJzxFakqro2YxpBKZkf6ThhB/M7NW6 +ABa1CFtYw7pUqRZg87pBN1QTv5FE3MNaGHBPvMTC335S9Ss67paqHxdyrN+sx1VV +HQbOUMz28P1AZuMlUQCDZDFLcrAaBAaZ1OeTYuaizPuazWSCvasJJRBr1909wtkG +CisyXIMT/5JIhvX5H3gAfFkkb3SvJTAbXuahMQ2UH2IoIcuYLN1ngrgqHzyq+IbZ +sknF2Kal+bZ1YqxhDSn2GmT0HU0OJCIccPwzZoW8wF8EH5pB+JFTKRZ8XsMt8V+v +4eaBZ0ibLT6o5ipSNdgDtTWLq0++GnNgWvOBh67VOJzuhwuEb/DR5URfbDo1aXOD +a2cri8QvdCasVLWQQtgP0gdQNVVzOYtqAIFwSBaytN2Mawv1NihQhivfRb+1BSWZ +s09FO+BnqTEAzPI9ibE9mqM/k2Bw4g8KcdejEPZ51d58+URZ8ibHCZN0UB00GPuk +TE7pTuU7Fg/SM511KpW1HCw6VzFQ2X6Nrd451GZYS1/mPRkiKXbvQJLLfAarAEOi +E5GuMKWKS28CfBgbeiz0 +=MuU4 +-END PGP SIGNATURE- Added: dev/tomcat/tomcat-8/v8.0.0-RC5/src/apache-tomcat-8.0.0-RC5-src.zip.md5 == --- dev/tomcat/tomcat-8/v8.0.0-RC5/src/apache-tomcat-8.0.0-RC5-src.zip.md5 (added) +++ dev/tomcat/tomcat-8/v8.0.0-RC5/src/apache-tomcat-8.0.0-RC5-src.zip.md5 Wed Oct 16 14:10:38 2013 @@ -0,0 +1 @@ +7dfdf1e47d641cde1410616f289bc865 *apache-tomcat-8.0.0-RC5-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: r1532770 - in /tomcat/tc7.0.x/trunk: ./ webapps/examples/WEB-INF/classes/websocket/drawboard/DrawboardContextListener.java webapps/examples/WEB-INF/web.xml
Author: kpreisser Date: Wed Oct 16 13:59:44 2013 New Revision: 1532770 URL: http://svn.apache.org/r1532770 Log: Merged revision(s) 1532765-1532766 from tomcat/trunk: Restore the ServletContextListener for the Drawboard example to be able to shutdown the Room (dispose of Graphics2D) when the Context is destroyed. Added: tomcat/tc7.0.x/trunk/webapps/examples/WEB-INF/classes/websocket/drawboard/DrawboardContextListener.java - copied unchanged from r1532766, tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/drawboard/DrawboardContextListener.java Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/webapps/examples/WEB-INF/web.xml Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1532765-1532766 Modified: tomcat/tc7.0.x/trunk/webapps/examples/WEB-INF/web.xml URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/examples/WEB-INF/web.xml?rev=1532770&r1=1532769&r2=1532770&view=diff == --- tomcat/tc7.0.x/trunk/webapps/examples/WEB-INF/web.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/examples/WEB-INF/web.xml Wed Oct 16 13:59:44 2013 @@ -399,4 +399,9 @@ wsSnake /websocket/tc7/snake + + + websocket.drawboard.DrawboardContextListener + + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1532766 - /tomcat/trunk/webapps/examples/WEB-INF/web.xml
Author: kpreisser Date: Wed Oct 16 13:56:28 2013 New Revision: 1532766 URL: http://svn.apache.org/r1532766 Log: Tab policy Modified: tomcat/trunk/webapps/examples/WEB-INF/web.xml Modified: tomcat/trunk/webapps/examples/WEB-INF/web.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/examples/WEB-INF/web.xml?rev=1532766&r1=1532765&r2=1532766&view=diff == --- tomcat/trunk/webapps/examples/WEB-INF/web.xml (original) +++ tomcat/trunk/webapps/examples/WEB-INF/web.xml Wed Oct 16 13:56:28 2013 @@ -394,8 +394,8 @@ index.jsp - - + + websocket.drawboard.DrawboardContextListener - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1532765 - in /tomcat/trunk/webapps/examples/WEB-INF: classes/websocket/drawboard/DrawboardContextListener.java web.xml
Author: kpreisser Date: Wed Oct 16 13:55:06 2013 New Revision: 1532765 URL: http://svn.apache.org/r1532765 Log: Restore the ServletContextListener for the Drawboard example to be able to shutdown the Room (dispose of Graphics2D) when the Context is destroyed. Added: tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/drawboard/DrawboardContextListener.java - copied, changed from r1531600, tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/drawboard/WsConfigListener.java Modified: tomcat/trunk/webapps/examples/WEB-INF/web.xml Copied: tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/drawboard/DrawboardContextListener.java (from r1531600, tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/drawboard/WsConfigListener.java) URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/drawboard/DrawboardContextListener.java?p2=tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/drawboard/DrawboardContextListener.java&p1=tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/drawboard/WsConfigListener.java&r1=1531600&r2=1532765&rev=1532765&view=diff == --- tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/drawboard/WsConfigListener.java (original) +++ tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/drawboard/DrawboardContextListener.java Wed Oct 16 13:55:06 2013 @@ -18,26 +18,12 @@ package websocket.drawboard; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; -import javax.servlet.annotation.WebListener; -import javax.websocket.DeploymentException; -import javax.websocket.server.ServerContainer; -import javax.websocket.server.ServerEndpointConfig; -@WebListener -public final class WsConfigListener implements ServletContextListener { +public final class DrawboardContextListener implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent sce) { - -ServerContainer sc = -(ServerContainer) sce.getServletContext().getAttribute( -"javax.websocket.server.ServerContainer"); -try { -sc.addEndpoint(ServerEndpointConfig.Builder.create( -DrawboardEndpoint.class, "/websocket/drawboard").build()); -} catch (DeploymentException e) { -throw new IllegalStateException(e); -} +// NO-OP } @Override Modified: tomcat/trunk/webapps/examples/WEB-INF/web.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/examples/WEB-INF/web.xml?rev=1532765&r1=1532764&r2=1532765&view=diff == --- tomcat/trunk/webapps/examples/WEB-INF/web.xml (original) +++ tomcat/trunk/webapps/examples/WEB-INF/web.xml Wed Oct 16 13:55:06 2013 @@ -394,4 +394,9 @@ index.jsp + + + websocket.drawboard.DrawboardContextListener + + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1532762 - in /tomcat/tags/TOMCAT_8_0_0_RC5: ./ build.properties.default
Author: markt Date: Wed Oct 16 13:46:58 2013 New Revision: 1532762 URL: http://svn.apache.org/r1532762 Log: Tag 8.0.0-RC5 Added: tomcat/tags/TOMCAT_8_0_0_RC5/ - copied from r1532760, tomcat/trunk/ Modified: tomcat/tags/TOMCAT_8_0_0_RC5/build.properties.default Modified: tomcat/tags/TOMCAT_8_0_0_RC5/build.properties.default URL: http://svn.apache.org/viewvc/tomcat/tags/TOMCAT_8_0_0_RC5/build.properties.default?rev=1532762&r1=1532760&r2=1532762&view=diff == --- tomcat/tags/TOMCAT_8_0_0_RC5/build.properties.default (original) +++ tomcat/tags/TOMCAT_8_0_0_RC5/build.properties.default Wed Oct 16 13:46:58 2013 @@ -29,7 +29,7 @@ version.major=8 version.minor=0 version.build=0 version.patch=0 -version.suffix=-dev +version.suffix=-RC5 # - 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
svn commit: r3280 - /dev/tomcat/tomcat-8/v8.0.0-RC4/
Author: markt Date: Wed Oct 16 13:45:22 2013 New Revision: 3280 Log: Drop RC4 Removed: dev/tomcat/tomcat-8/v8.0.0-RC4/ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 55656] Server ClassLoader not used for Server creation
https://issues.apache.org/bugzilla/show_bug.cgi?id=55656 Christopher Schultz changed: What|Removed |Added OS||All --- Comment #1 from Christopher Schultz --- Did you mean "context" instead of "server" in one of those cases in the description? -- 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: Tagging 7.0.46
Mark, > -Original Message- > From: Mark Thomas [mailto:ma...@apache.org] > Sent: Wednesday, October 16, 2013 3:23 PM > To: Tomcat Developers List > Subject: Re: Tagging 7.0.46 > > On 16/10/2013 14:09, Konstantin Preißer wrote: > > Hi Mark, > > > >> -Original Message- > >> From: Mark Thomas [mailto:ma...@apache.org] > >> Sent: Wednesday, October 16, 2013 1:28 PM > >> To: Tomcat Developers List > >> Subject: Re: Tagging 7.0.46 > > > >> It was an incorrect error message triggered by a connection abort during > >> the SSL handshake. Tomcat now recognises this as a connection abort. > >> > >> I don't have anything else to commit before you tag. > > > > Thank you for your efforts. > > But, are you sure of the cause of this error? > > I'm sure of the cause of the error originally reported. OK, I probably didn't express myself well when I reported the error in the "RE: [Tomcat 8.0.x trunk] APR sendfile problem", as the issue below (plus the "java.io.IOException: Unexpected error [20,014] reading data from the APR/native" entry in the logs) is actually what I wanted to report there. ;-) > This is a new issue and not one that I view as serious enough to hold up > the long overdue 7.0.x release. Sure, it shouldn't stop a 7.0.x or 8.0.x release. I also need to do more testing because the error is not very reproducible on my current machine (but I have another one where it was more reproducible) to make sure what error exactly happens and when. Regards, Konstantin Preißer - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Tagging 7.0.46
On 16/10/2013 14:09, Konstantin Preißer wrote: > Hi Mark, > >> -Original Message- >> From: Mark Thomas [mailto:ma...@apache.org] >> Sent: Wednesday, October 16, 2013 1:28 PM >> To: Tomcat Developers List >> Subject: Re: Tagging 7.0.46 > >> It was an incorrect error message triggered by a connection abort during >> the SSL handshake. Tomcat now recognises this as a connection abort. >> >> I don't have anything else to commit before you tag. > > Thank you for your efforts. > But, are you sure of the cause of this error? I'm sure of the cause of the error originally reported. > I'm asking because I received the IOException (followed by a Closing of the > Websocket Connection by Tomcat) several minutes after drawing on the > Drawboard which doesn't seemed like an handshake issue. > > I have now updated my local trunk to r1532722 and tested the scenario again - > and the Websocket close did still occur (but the onerror handler of the > Drawboard was not called so nothing showed up in the logs). The problem is > that Tomcat suddenly closed the Websocket connection which I think should not > occur in normal circumstances (and it doesn't with a non-SSL APR HTTP > Connector). > > What I did was: > 1) Updated trunk to r1532722, set up an APR HTTP SSL connector on port 8443. > 2) Then I updated the path "webapps/examples/WEB-INF/classes/websocket" to > r1532286 because I made a change to the Room implementation not to use an > extra thread, which means the "onMessage" method might now take longer before > returning - which might affect the reproducibility, but I'm not sure. > 3) I opened the drawboard with Firefox and IE10, both with an HTTPS URL > (https://localhost:8443/...). > 4) After several minutes of drawing in turn in Firefox and IE, the Websocket > Connection for IE was suddenly closed by Tomcat. > > It's not a serious error, but I would expect Tomcat not to close the > WebSocket connection here. This is a new issue and not one that I view as serious enough to hold up the long overdue 7.0.x release. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
RE: Tagging 7.0.46
Hi Mark, > -Original Message- > From: Mark Thomas [mailto:ma...@apache.org] > Sent: Wednesday, October 16, 2013 1:28 PM > To: Tomcat Developers List > Subject: Re: Tagging 7.0.46 > It was an incorrect error message triggered by a connection abort during > the SSL handshake. Tomcat now recognises this as a connection abort. > > I don't have anything else to commit before you tag. Thank you for your efforts. But, are you sure of the cause of this error? I'm asking because I received the IOException (followed by a Closing of the Websocket Connection by Tomcat) several minutes after drawing on the Drawboard which doesn't seemed like an handshake issue. I have now updated my local trunk to r1532722 and tested the scenario again - and the Websocket close did still occur (but the onerror handler of the Drawboard was not called so nothing showed up in the logs). The problem is that Tomcat suddenly closed the Websocket connection which I think should not occur in normal circumstances (and it doesn't with a non-SSL APR HTTP Connector). What I did was: 1) Updated trunk to r1532722, set up an APR HTTP SSL connector on port 8443. 2) Then I updated the path "webapps/examples/WEB-INF/classes/websocket" to r1532286 because I made a change to the Room implementation not to use an extra thread, which means the "onMessage" method might now take longer before returning - which might affect the reproducibility, but I'm not sure. 3) I opened the drawboard with Firefox and IE10, both with an HTTPS URL (https://localhost:8443/...). 4) After several minutes of drawing in turn in Firefox and IE, the Websocket Connection for IE was suddenly closed by Tomcat. It's not a serious error, but I would expect Tomcat not to close the WebSocket connection here. Thanks, Konstantin Preißer - 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-RC4
Because of the easily triggered JVM crash when using APR, SSL and upgraded connections (e.g. via WebSocket) I am cancelling this release vote. I did think about letting this vote run but a known JVM crash seemed too serious to allow the vote to continue and it isn't as if rolling a new RC is a great deal of effort. I'll tag RC5 once the CI builds confirm everything is OK and I have run the unit tests on Windows, Linux and OSX. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Tagging 7.0.46
On 16/10/2013 07:03, Violeta Georgieva wrote: > 2013/10/15 Mark Thomas >> >> On 15/10/2013 16:10, Konstantin Preißer wrote: >>> Mark, >>> -Original Message- From: Mark Thomas [mailto:ma...@apache.org] Sent: Tuesday, October 15, 2013 4:59 PM To: Tomcat Developers List Subject: Re: Tagging 7.0.46 >>> >> Yes, I can reproduce >> 1) "java.io.IOException: Unexpected error [20,014] reading data from > the >> APR/native" when drawing very fast on the drawboard with Firefox, >> 2) "java.lang.IllegalArgumentException at >> java.nio.Buffer.position(Buffer.java:236)" after drawing and > pressing F5 so >> that a PNG image is sent to the browser, and >> 3) Crash in msvcrt.dll+0x122a at the same conditions of 2) >>> >>> I've just committed a fix that doesn't deal with the Exceptions but appears to have addressed the crash. Could you check? It might just be that I haven't managed to trigger the crash yet. >>> >>> Thank you. >>> Yes, I cannot reproduce 2) and 3) anymore, i.e. no crash occurs. >>> The only one which I still get is 1). >> >> Great. Just need to figure out of that is an error message that needs to >> be swallowed or if it is indicative of a wider problem. > > I'll wait for this one and hopefully after that I can start with the > tagging:) It was an incorrect error message triggered by a connection abort during the SSL handshake. Tomcat now recognises this as a connection abort. I don't have anything else to commit before you tag. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1532728 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/tomcat/websocket/WsSession.java
Author: markt Date: Wed Oct 16 11:25:13 2013 New Revision: 1532728 URL: http://svn.apache.org/r1532728 Log: Don't call the onError() method of the endpoint if the WebSocket close message cannot be sent for abnormal closure as this is not unexpected. Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsSession.java Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1532722 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=1532728&r1=1532727&r2=1532728&view=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 Wed Oct 16 11:25:13 2013 @@ -30,6 +30,7 @@ import java.util.concurrent.ConcurrentHa import java.util.concurrent.atomic.AtomicLong; import javax.websocket.CloseReason; +import javax.websocket.CloseReason.CloseCode; import javax.websocket.CloseReason.CloseCodes; import javax.websocket.DeploymentException; import javax.websocket.Endpoint; @@ -464,7 +465,8 @@ public class WsSession implements Sessio private void sendCloseMessage(CloseReason closeReason) { // 125 is maximum size for the payload of a control message ByteBuffer msg = ByteBuffer.allocate(125); -msg.putShort((short) closeReason.getCloseCode().getCode()); +CloseCode closeCode = closeReason.getCloseCode(); +msg.putShort((short) closeCode.getCode()); String reason = closeReason.getReasonPhrase(); if (reason != null && reason.length() > 0) { @@ -481,7 +483,13 @@ public class WsSession implements Sessio log.debug(sm.getString("wsSession.sendCloseFail"), ioe); } wsRemoteEndpoint.close(); -localEndpoint.onError(this, ioe); +// Failure to send a close message is not unexpected in the case of +// an abnormal closure (usually triggered by a failure to read/write +// from/to the client. In this case do not trigger the endpoint's +// error handling +if (closeCode != CloseCodes.CLOSED_ABNORMALLY) { +localEndpoint.onError(this, ioe); +} } finally { webSocketContainer.unregisterSession(localEndpoint, this); } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1532727 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/coyote/http11/upgrade/AprServletInputStream.java java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java
Author: markt Date: Wed Oct 16 11:23:53 2013 New Revision: 1532727 URL: http://svn.apache.org/r1532727 Log: Handle the client dropping the connection during the SSL handshake in the same way as it is handled at any other time. Modified: tomcat/tc7.0.x/trunk/ (props changed) 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 Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1532721 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=1532727&r1=1532726&r2=1532727&view=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 Wed Oct 16 11:23:53 2013 @@ -98,6 +98,9 @@ public class AprServletInputStream exten (-result == Status.APR_OS_START_SYSERR + 10053)) { // 10053 on Windows is connection aborted throw new EOFException(sm.getString("apr.clientAbort")); +} else if (-result == Status.APR_EGENERAL && wrapper.isSecure()) { +// Connection abort by client during SSL handshake +throw new EOFException(sm.getString("apr.clientAbort")); } else { throw new IOException(sm.getString("apr.read.error", Integer.valueOf(-result), Long.valueOf(socket))); 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=1532727&r1=1532726&r2=1532727&view=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 Wed Oct 16 11:23:53 2013 @@ -141,6 +141,9 @@ public class AprServletOutputStream exte (-written == Status.APR_OS_START_SYSERR + 10053)) { // 10053 on Windows is connection aborted throw new EOFException(sm.getString("apr.clientAbort")); +} else if (-written == Status.APR_EGENERAL && wrapper.isSecure()) { +// Connection abort by client during SSL handshake +throw new EOFException(sm.getString("apr.clientAbort")); } else if (written < 0) { throw new IOException(sm.getString("apr.write.error", Integer.valueOf(-written), Long.valueOf(socket))); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1532726 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/coyote/http11/upgrade/AprServletInputStream.java java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java java/org/apache/c
Author: markt Date: Wed Oct 16 11:23:20 2013 New Revision: 1532726 URL: http://svn.apache.org/r1532726 Log: Include socket reference in IOExceptions to make debugging easier Modified: tomcat/tc7.0.x/trunk/ (props changed) 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/coyote/http11/upgrade/LocalStrings.properties Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1532720 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=1532726&r1=1532725&r2=1532726&view=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 Wed Oct 16 11:23:20 2013 @@ -53,7 +53,7 @@ public class AprServletInputStream exten readLock.lock(); if (wrapper.getBlockingStatus() == block) { if (closed) { -throw new IOException(sm.getString("apr.closed")); +throw new IOException(sm.getString("apr.closed", Long.valueOf(socket))); } result = Socket.recv(socket, b, off, len); readDone = true; @@ -73,7 +73,7 @@ public class AprServletInputStream exten readLock.lock(); writeLock.unlock(); if (closed) { -throw new IOException(sm.getString("apr.closed")); +throw new IOException(sm.getString("apr.closed", Long.valueOf(socket))); } result = Socket.recv(socket, b, off, len); } finally { @@ -100,7 +100,7 @@ public class AprServletInputStream exten throw new EOFException(sm.getString("apr.clientAbort")); } else { throw new IOException(sm.getString("apr.read.error", -Integer.valueOf(-result))); +Integer.valueOf(-result), Long.valueOf(socket))); } } 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=1532726&r1=1532725&r2=1532726&view=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 Wed Oct 16 11:23:20 2013 @@ -63,7 +63,7 @@ public class AprServletOutputStream exte readLock.lock(); if (wrapper.getBlockingStatus() == block) { if (closed) { -throw new IOException(sm.getString("apr.closed")); +throw new IOException(sm.getString("apr.closed", Long.valueOf(socket))); } return doWriteInternal(b, off, len); } @@ -86,7 +86,7 @@ public class AprServletOutputStream exte readLock.lock(); writeLock.unlock(); if (closed) { -throw new IOException(sm.getString("apr.closed")); +throw new IOException(sm.getString("apr.closed", Long.valueOf(socket))); } return doWriteInternal(b, off, len); } finally { @@ -143,7 +143,7 @@ public class AprServletOutputStream exte throw new EOFException(sm.getString("apr.clientAbort")); } else if (written < 0) { throw new IOException(sm.getString("apr.write.error", -Integer.valueOf(-written))); +Integer.valueOf(-written), Long.valueOf(socket))); } start += written; left -= written; Modified: tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/LocalStrings.properties?rev=1532726&r1=1532725&r2=1532726&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/LocalStrings.properties (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/LocalStrings.properties Wed Oct 16 11:23:20 2013 @@ -25,8 +25,8 @@ upgrade.sos.writeListener.null=It is ill upgrade.sis.write.ise=It is i
svn commit: r1532725 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/tomcat/util/net/AprEndpoint.java java/org/apache/tomcat/util/net/res/LocalStrings.properties
Author: markt Date: Wed Oct 16 11:22:44 2013 New Revision: 1532725 URL: http://svn.apache.org/r1532725 Log: Add a debug message that enables the socket reference (used in most debug messages) to be matched to the port number (used in tcpdump) to enable unusual behaviour in the debug logs to be easily matched to the corresponding network activity. Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/res/LocalStrings.properties Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1532719 Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1532725&r1=1532724&r2=1532725&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Wed Oct 16 11:22:44 2013 @@ -979,6 +979,13 @@ public class AprEndpoint extends Abstrac // Accept the next incoming connection from the server // socket socket = Socket.accept(serverSock); +if (log.isDebugEnabled()) { +long sa = Address.get(Socket.APR_REMOTE, socket); +Sockaddr addr = Address.getInfo(sa); +log.debug(sm.getString("endpoint.apr.remoteport", +Long.valueOf(socket), +Long.valueOf(addr.port))); +} } catch (Exception e) { //we didn't get a socket countDownConnection(); Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/res/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/res/LocalStrings.properties?rev=1532725&r1=1532724&r2=1532725&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/res/LocalStrings.properties (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/res/LocalStrings.properties Wed Oct 16 11:22:44 2013 @@ -49,10 +49,11 @@ endpoint.process.fail=Error allocating s endpoint.sendfile.error=Unexpected sendfile error endpoint.sendfile.addfail=Sendfile failure: [{0}] {1} endpoint.timeout.err=Error processing socket timeout +endpoint.apr.invalidSslProtocol=An invalid value [{0}] was provided for the SSLProtocol attribute endpoint.apr.noSslCertFile=Connector attribute SSLCertificateFile must be defined when using SSL with APR endpoint.apr.pollAddInvalid=Invalid attempted to add a socket [{0}] to the poller endpoint.apr.pollError=Poller failed with error [{0}] : [{1}] endpoint.apr.pollUnknownEvent=A socket was returned from the poller with an unrecognized event [{0}] -endpoint.apr.invalidSslProtocol=An invalid value [{0}] was provided for the SSLProtocol attribute +endpoint.apr.remoteport=APR socket [{0}] opened with remote port [{1}] endpoint.nio.selectorCloseFail=Failed to close selector when closing the poller endpoint.warn.noExector=Failed to process socket [{0}] in state [{1}] because the executor had already been shutdown - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1532724 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/tomcat/util/net/AprEndpoint.java java/org/apache/tomcat/util/net/JIoEndpoint.java java/org/apache/tomcat/util/net/NioEndpoint.java j
Author: markt Date: Wed Oct 16 11:20:35 2013 New Revision: 1532724 URL: http://svn.apache.org/r1532724 Log: Add a flag to the SocketWrapper to indicate if the socket is using a secure connection. Initially this is intended for use with the APR connector to better determine what various error codes may mean. Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1532718 Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1532724&r1=1532723&r2=1532724&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Wed Oct 16 11:20:35 2013 @@ -792,6 +792,7 @@ public class AprEndpoint extends Abstrac AprSocketWrapper wrapper = new AprSocketWrapper(Long.valueOf(socket)); wrapper.setKeepAliveLeft(getMaxKeepAliveRequests()); +wrapper.setSecure(isSSLEnabled()); connections.put(Long.valueOf(socket), wrapper); getExecutor().execute(new SocketWithOptionsProcessor(wrapper)); } Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java?rev=1532724&r1=1532723&r2=1532724&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java Wed Oct 16 11:20:35 2013 @@ -519,6 +519,7 @@ public class JIoEndpoint extends Abstrac try { SocketWrapper wrapper = new SocketWrapper(socket); wrapper.setKeepAliveLeft(getMaxKeepAliveRequests()); +wrapper.setSecure(isSSLEnabled()); // During shutdown, executor may be null - avoid NPE if (!running) { return false; Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?rev=1532724&r1=1532723&r2=1532724&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Wed Oct 16 11:20:35 2013 @@ -1048,19 +1048,20 @@ public class NioEndpoint extends Abstrac return result; } -public void register(final NioChannel socket) -{ +public void register(final NioChannel socket) { socket.setPoller(this); KeyAttachment key = keyCache.poll(); final KeyAttachment ka = key!=null?key:new KeyAttachment(socket); ka.reset(this,socket,getSocketProperties().getSoTimeout()); ka.setKeepAliveLeft(NioEndpoint.this.getMaxKeepAliveRequests()); +ka.setSecure(isSSLEnabled()); PollerEvent r = eventCache.poll(); ka.interestOps(SelectionKey.OP_READ);//this is what OP_REGISTER turns into. if ( r==null) r = new PollerEvent(socket,ka,OP_REGISTER); else r.reset(socket,ka,OP_REGISTER); addEvent(r); } + public void cancelledKey(SelectionKey key, SocketStatus status, boolean dispatch) { try { if ( key == null ) return;//nothing to do 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=1532724&r1=1532723&r2=1532724&view=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 Wed Oct 16 11:20:35 2013 @@ -33,6 +33,7 @@ public class SocketWrapper { protected boolean async = false; protected boolean keptAlive = false; private boolean upgraded = false; +private boolean secure = false; /* * Used if block/non-blocking is set at the socket level. The client is @@ -6
svn commit: r1532722 - /tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java
Author: markt Date: Wed Oct 16 11:16:52 2013 New Revision: 1532722 URL: http://svn.apache.org/r1532722 Log: Don't call the onError() method of the endpoint if the WebSocket close message cannot be sent for abnormal closure as this is not unexpected. Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.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=1532722&r1=1532721&r2=1532722&view=diff == --- tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java Wed Oct 16 11:16:52 2013 @@ -30,6 +30,7 @@ import java.util.concurrent.ConcurrentHa import java.util.concurrent.atomic.AtomicLong; import javax.websocket.CloseReason; +import javax.websocket.CloseReason.CloseCode; import javax.websocket.CloseReason.CloseCodes; import javax.websocket.DeploymentException; import javax.websocket.Endpoint; @@ -463,7 +464,8 @@ public class WsSession implements Sessio private void sendCloseMessage(CloseReason closeReason) { // 125 is maximum size for the payload of a control message ByteBuffer msg = ByteBuffer.allocate(125); -msg.putShort((short) closeReason.getCloseCode().getCode()); +CloseCode closeCode = closeReason.getCloseCode(); +msg.putShort((short) closeCode.getCode()); String reason = closeReason.getReasonPhrase(); if (reason != null && reason.length() > 0) { @@ -480,7 +482,13 @@ public class WsSession implements Sessio log.debug(sm.getString("wsSession.sendCloseFail"), ioe); } wsRemoteEndpoint.close(); -localEndpoint.onError(this, ioe); +// Failure to send a close message is not unexpected in the case of +// an abnormal closure (usually triggered by a failure to read/write +// from/to the client. In this case do not trigger the endpoint's +// error handling +if (closeCode != CloseCodes.CLOSED_ABNORMALLY) { +localEndpoint.onError(this, ioe); +} } finally { webSocketContainer.unregisterSession(localEndpoint, this); } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1532721 - in /tomcat/trunk/java/org/apache/coyote/http11/upgrade: AprServletInputStream.java AprServletOutputStream.java
Author: markt Date: Wed Oct 16 11:15:42 2013 New Revision: 1532721 URL: http://svn.apache.org/r1532721 Log: Handle the client dropping the connection during the SSL handshake in the same way as it is handled at any other time. Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java 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=1532721&r1=1532720&r2=1532721&view=diff == --- tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java Wed Oct 16 11:15:42 2013 @@ -100,6 +100,9 @@ public class AprServletInputStream exten (-result == Status.APR_OS_START_SYSERR + 10053)) { // 10053 on Windows is connection aborted throw new EOFException(sm.getString("apr.clientAbort")); +} else if (-result == Status.APR_EGENERAL && wrapper.isSecure()) { +// Connection abort by client during SSL handshake +throw new EOFException(sm.getString("apr.clientAbort")); } else { throw new IOException(sm.getString("apr.read.error", Integer.valueOf(-result), Long.valueOf(socket))); 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=1532721&r1=1532720&r2=1532721&view=diff == --- tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java Wed Oct 16 11:15:42 2013 @@ -141,6 +141,9 @@ public class AprServletOutputStream exte (-written == Status.APR_OS_START_SYSERR + 10053)) { // 10053 on Windows is connection aborted throw new EOFException(sm.getString("apr.clientAbort")); +} else if (-written == Status.APR_EGENERAL && wrapper.isSecure()) { +// Connection abort by client during SSL handshake +throw new EOFException(sm.getString("apr.clientAbort")); } else if (written < 0) { throw new IOException(sm.getString("apr.write.error", Integer.valueOf(-written), Long.valueOf(socket))); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1532720 - in /tomcat/trunk/java/org/apache/coyote/http11/upgrade: AprServletInputStream.java AprServletOutputStream.java LocalStrings.properties
Author: markt Date: Wed Oct 16 11:14:37 2013 New Revision: 1532720 URL: http://svn.apache.org/r1532720 Log: Include socket reference in IOExceptions to make debugging easier Modified: 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/coyote/http11/upgrade/LocalStrings.properties 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=1532720&r1=1532719&r2=1532720&view=diff == --- tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java Wed Oct 16 11:14:37 2013 @@ -53,7 +53,7 @@ public class AprServletInputStream exten readLock.lock(); if (wrapper.getBlockingStatus() == block) { if (closed) { -throw new IOException(sm.getString("apr.closed")); +throw new IOException(sm.getString("apr.closed", Long.valueOf(socket))); } result = Socket.recv(socket, b, off, len); readDone = true; @@ -73,7 +73,7 @@ public class AprServletInputStream exten readLock.lock(); writeLock.unlock(); if (closed) { -throw new IOException(sm.getString("apr.closed")); +throw new IOException(sm.getString("apr.closed", Long.valueOf(socket))); } result = Socket.recv(socket, b, off, len); } finally { @@ -102,7 +102,7 @@ public class AprServletInputStream exten throw new EOFException(sm.getString("apr.clientAbort")); } else { throw new IOException(sm.getString("apr.read.error", -Integer.valueOf(-result))); +Integer.valueOf(-result), Long.valueOf(socket))); } } 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=1532720&r1=1532719&r2=1532720&view=diff == --- tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java Wed Oct 16 11:14:37 2013 @@ -63,7 +63,7 @@ public class AprServletOutputStream exte readLock.lock(); if (wrapper.getBlockingStatus() == block) { if (closed) { -throw new IOException(sm.getString("apr.closed")); +throw new IOException(sm.getString("apr.closed", Long.valueOf(socket))); } return doWriteInternal(b, off, len); } @@ -86,7 +86,7 @@ public class AprServletOutputStream exte readLock.lock(); writeLock.unlock(); if (closed) { -throw new IOException(sm.getString("apr.closed")); +throw new IOException(sm.getString("apr.closed", Long.valueOf(socket))); } return doWriteInternal(b, off, len); } finally { @@ -143,7 +143,7 @@ public class AprServletOutputStream exte throw new EOFException(sm.getString("apr.clientAbort")); } else if (written < 0) { throw new IOException(sm.getString("apr.write.error", -Integer.valueOf(-written))); +Integer.valueOf(-written), Long.valueOf(socket))); } start += written; left -= written; Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/LocalStrings.properties?rev=1532720&r1=1532719&r2=1532720&view=diff == --- tomcat/trunk/java/org/apache/coyote/http11/upgrade/LocalStrings.properties (original) +++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/LocalStrings.properties Wed Oct 16 11:14:37 2013 @@ -25,7 +25,7 @@ upgrade.sos.writeListener.null=It is ill upgrade.sis.write.ise=It is illegal to call any of the write() methods in non-blocking mode without first checking that there is space available by calling isReady() apr.clientAbort=The client aborted the connection. -apr.read.error=Unexpected error [{0}] reading data from the APR/native socket. -apr.write.error=Unexpected error [{0}]
svn commit: r1532719 - in /tomcat/trunk/java/org/apache/tomcat/util/net: AprEndpoint.java res/LocalStrings.properties
Author: markt Date: Wed Oct 16 11:12:46 2013 New Revision: 1532719 URL: http://svn.apache.org/r1532719 Log: Add a debug message that enables the socket reference (used in most debuig messages) to be matched to the port number (used in tcpdump) to enable unusual behaviour in the debug logs to be easily matched to the corresponding network activity. Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java tomcat/trunk/java/org/apache/tomcat/util/net/res/LocalStrings.properties Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1532719&r1=1532718&r2=1532719&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Wed Oct 16 11:12:46 2013 @@ -1007,6 +1007,13 @@ public class AprEndpoint extends Abstrac // Accept the next incoming connection from the server // socket socket = Socket.accept(serverSock); +if (log.isDebugEnabled()) { +long sa = Address.get(Socket.APR_REMOTE, socket); +Sockaddr addr = Address.getInfo(sa); +log.debug(sm.getString("endpoint.apr.remoteport", +Long.valueOf(socket), +Long.valueOf(addr.port))); +} } catch (Exception e) { //we didn't get a socket countDownConnection(); Modified: tomcat/trunk/java/org/apache/tomcat/util/net/res/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/res/LocalStrings.properties?rev=1532719&r1=1532718&r2=1532719&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/res/LocalStrings.properties (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/res/LocalStrings.properties Wed Oct 16 11:12:46 2013 @@ -50,10 +50,11 @@ endpoint.sendfile.error=Unexpected sendf endpoint.sendfile.addfail=Sendfile failure: [{0}] {1} endpoint.setAttribute=Set [{0}] to [{1}] endpoint.timeout.err=Error processing socket timeout +endpoint.apr.invalidSslProtocol=An invalid value [{0}] was provided for the SSLProtocol attribute +endpoint.apr.noSendfileWithSSL=Sendfile is not supported for the APR/native connector when SSL is enabled endpoint.apr.noSslCertFile=Connector attribute SSLCertificateFile must be defined when using SSL with APR endpoint.apr.pollAddInvalid=Invalid attempted to add a socket [{0}] to the poller endpoint.apr.pollError=Poller failed with error [{0}] : [{1}] endpoint.apr.pollUnknownEvent=A socket was returned from the poller with an unrecognized event [{0}] -endpoint.apr.invalidSslProtocol=An invalid value [{0}] was provided for the SSLProtocol attribute -endpoint.apr.noSendfileWithSSL=Sendfile is not supported for the APR/native connector when SSL is enabled +endpoint.apr.remoteport=APR socket [{0}] opened with remote port [{1}] endpoint.nio.selectorCloseFail=Failed to close selector when closing the poller - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1532718 - in /tomcat/trunk/java/org/apache/tomcat/util/net: AprEndpoint.java JIoEndpoint.java NioEndpoint.java SocketWrapper.java
Author: markt Date: Wed Oct 16 11:10:58 2013 New Revision: 1532718 URL: http://svn.apache.org/r1532718 Log: Add a flag to the SocketWrapper to indicate if the socket is using a secure connection. Initially this is intended for use with the APR connector to better determine what various error codes may mean. Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1532718&r1=1532717&r2=1532718&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Wed Oct 16 11:10:58 2013 @@ -821,6 +821,7 @@ public class AprEndpoint extends Abstrac AprSocketWrapper wrapper = new AprSocketWrapper(Long.valueOf(socket)); wrapper.setKeepAliveLeft(getMaxKeepAliveRequests()); +wrapper.setSecure(isSSLEnabled()); connections.put(Long.valueOf(socket), wrapper); getExecutor().execute(new SocketWithOptionsProcessor(wrapper)); } Modified: tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java?rev=1532718&r1=1532717&r2=1532718&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java Wed Oct 16 11:10:58 2013 @@ -531,6 +531,7 @@ public class JIoEndpoint extends Abstrac try { SocketWrapper wrapper = new SocketWrapper<>(socket); wrapper.setKeepAliveLeft(getMaxKeepAliveRequests()); +wrapper.setSecure(isSSLEnabled()); // During shutdown, executor may be null - avoid NPE if (!running) { return false; Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?rev=1532718&r1=1532717&r2=1532718&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Wed Oct 16 11:10:58 2013 @@ -967,6 +967,7 @@ public class NioEndpoint extends Abstrac final KeyAttachment ka = key!=null?key:new KeyAttachment(socket); ka.reset(this,socket,getSocketProperties().getSoTimeout()); ka.setKeepAliveLeft(NioEndpoint.this.getMaxKeepAliveRequests()); +ka.setSecure(isSSLEnabled()); PollerEvent r = eventCache.pop(); ka.interestOps(SelectionKey.OP_READ);//this is what OP_REGISTER turns into. if ( r==null) r = new PollerEvent(socket,ka,OP_REGISTER); 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=1532718&r1=1532717&r2=1532718&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java Wed Oct 16 11:10:58 2013 @@ -35,6 +35,7 @@ public class SocketWrapper { private boolean async = false; private boolean keptAlive = false; private boolean upgraded = false; +private boolean secure = false; /* * Following cached for speed / reduced GC */ @@ -81,6 +82,8 @@ public class SocketWrapper { public void setAsync(boolean async) { this.async = async; } public boolean isUpgraded() { return upgraded; } public void setUpgraded(boolean upgraded) { this.upgraded = upgraded; } +public boolean isSecure() { return secure; } +public void setSecure(boolean secure) { this.secure = secure; } public long getLastAccess() { return lastAccess; } public void access() { access(System.currentTimeMillis()); } public void access(long access) { lastAccess = access; } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 55656] New: Server ClassLoader not used for Server creation
https://issues.apache.org/bugzilla/show_bug.cgi?id=55656 Bug ID: 55656 Summary: Server ClassLoader not used for Server creation Product: Tomcat 7 Version: 7.0.42 Hardware: PC Status: NEW Severity: normal Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: roberto.benede...@dedalus.eu Created attachment 30931 --> https://issues.apache.org/bugzilla/attachment.cgi?id=30931&action=edit proposed patch When configuring server.loader in catalina.properties with libraries containing valves or realms and their dependencies, if those classes are set in server.xml a CNFE is thrown. The reason is Digester using StandardServer's ClassLoader and not context ClassLoader. -- 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: r1532703 - in /tomcat/native/branches/1.1.x/native: include/tcn_version.h os/win32/libtcnative.rc
Author: mturk Date: Wed Oct 16 09:49:36 2013 New Revision: 1532703 URL: http://svn.apache.org/r1532703 Log: Branch version is 1.1.30-dev Modified: tomcat/native/branches/1.1.x/native/include/tcn_version.h tomcat/native/branches/1.1.x/native/os/win32/libtcnative.rc Modified: tomcat/native/branches/1.1.x/native/include/tcn_version.h URL: http://svn.apache.org/viewvc/tomcat/native/branches/1.1.x/native/include/tcn_version.h?rev=1532703&r1=1532702&r2=1532703&view=diff == --- tomcat/native/branches/1.1.x/native/include/tcn_version.h (original) +++ tomcat/native/branches/1.1.x/native/include/tcn_version.h Wed Oct 16 09:49:36 2013 @@ -69,13 +69,13 @@ extern "C" { #define TCN_MINOR_VERSION 1 /** patch level */ -#define TCN_PATCH_VERSION 29 +#define TCN_PATCH_VERSION 30 /** * This symbol is defined for internal, "development" copies of TCN. This * symbol will be #undef'd for releases. */ -#define TCN_IS_DEV_VERSION 0 +#define TCN_IS_DEV_VERSION 1 /** The formatted string of APU's version */ Modified: tomcat/native/branches/1.1.x/native/os/win32/libtcnative.rc URL: http://svn.apache.org/viewvc/tomcat/native/branches/1.1.x/native/os/win32/libtcnative.rc?rev=1532703&r1=1532702&r2=1532703&view=diff == --- tomcat/native/branches/1.1.x/native/os/win32/libtcnative.rc (original) +++ tomcat/native/branches/1.1.x/native/os/win32/libtcnative.rc Wed Oct 16 09:49:36 2013 @@ -20,7 +20,7 @@ LANGUAGE 0x9,0x1 "See the License for the specific language governing " \ "permissions and limitations under the License." -#define TCN_VERSION "1.1.29" +#define TCN_VERSION "1.1.30" 1000 ICON "apache.ico" 1001 DIALOGEX 0, 0, 252, 51 @@ -36,8 +36,8 @@ BEGIN END 1 VERSIONINFO - FILEVERSION 1,1,29,0 - PRODUCTVERSION 1,1,29,0 + FILEVERSION 1,1,30,0 + PRODUCTVERSION 1,1,30,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1532688 - /tomcat/trunk/webapps/examples/websocket/drawboard.xhtml
Author: markt Date: Wed Oct 16 08:37:46 2013 New Revision: 1532688 URL: http://svn.apache.org/r1532688 Log: Trailing whitespace police Modified: tomcat/trunk/webapps/examples/websocket/drawboard.xhtml Modified: tomcat/trunk/webapps/examples/websocket/drawboard.xhtml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/examples/websocket/drawboard.xhtml?rev=1532688&r1=1532687&r2=1532688&view=diff == --- tomcat/trunk/webapps/examples/websocket/drawboard.xhtml (original) +++ tomcat/trunk/webapps/examples/websocket/drawboard.xhtml Wed Oct 16 08:37:46 2013 @@ -532,7 +532,7 @@ drawContainer.appendChild(canvasDisplay); drawContainer.appendChild(optionContainer); - + canvasMouseDownHandler = function(e) { if (e.button == 0) { currentMouseX = e.pageX - canvasDisplay.offsetLeft; - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org