Re: svn commit: r1665736 - in /tomcat/trunk/java/org/apache/tomcat/util/net: AprEndpoint.java Nio2Endpoint.java NioEndpoint.java SocketWrapperBase.java
On 11/03/2015 06:19, Keiichi Fujino wrote: > 2015-03-11 7:35 GMT+09:00 : > >> Author: markt >> Date: Tue Mar 10 22:35:19 2015 >> New Revision: 1665736 >> >> URL: http://svn.apache.org/r1665736 >> Log: >> Stop re-using the SocketWrapper >> With the introduction of upgrade and non-blocking, I/O can occur on >> non-container threads. This makes it near impossible to track whether a >> SocketWrapper (== connection) is still referenced or not, making re-use a >> risky proposition. > I think this fix causes NPE. Quite possibly. > Do we need initialization of poller and socketBufferHandler in > SocketWrapper? Again, quite possibly. I have been focussed on the crashing test case and this change didn't break that (neither did it fix it). I haven't even done a basic smoke test of these changes yet. What is the simplest way to reproduce this? Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[GUMP@vmgump]: Project tomcat-trunk-test-nio (in module tomcat-trunk) failed
To whom it may engage... This is an automated request, but not an unsolicited one. For more information please visit http://gump.apache.org/nagged.html, and/or contact the folk at gene...@gump.apache.org. Project tomcat-trunk-test-nio has an issue affecting its community integration. This issue affects 1 projects. The current state of this project is 'Failed', with reason 'Build Timed Out'. For reference only, the following projects are affected by this: - tomcat-trunk-test-nio : Tomcat 9.x, a web server implementing the Java Servlet 4.0, ... Full details are available at: http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-test-nio/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -DEBUG- Dependency on commons-daemon exists, no need to add for property commons-daemon.native.src.tgz. -DEBUG- Dependency on commons-daemon exists, no need to add for property tomcat-native.tar.gz. -INFO- Failed with reason build timed out -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-trunk/output/logs-NIO -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-trunk/output/test-tmp-NIO/logs The following work was performed: http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-test-nio/gump_work/build_tomcat-trunk_tomcat-trunk-test-nio.html Work Name: build_tomcat-trunk_tomcat-trunk-test-nio (Type: Build) Work ended in a state of : Failed Elapsed: 1 hour 3 secs Command Line: /usr/lib/jvm/java-8-oracle/bin/java -Djava.awt.headless=true -Dbuild.sysclasspath=only org.apache.tools.ant.Main -Dgump.merge=/srv/gump/public/gump/work/merge.xml -Djunit.jar=/srv/gump/public/workspace/junit/target/junit-4.13-SNAPSHOT.jar -Dobjenesis.jar=/srv/gump/public/workspace/objenesis/main/target/objenesis-2.2-SNAPSHOT.jar -Dtest.reports=output/logs-NIO -Dtomcat-native.tar.gz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20150311-native-src.tar.gz -Dexamples.sources.skip=true -Djdt.jar=/srv/gump/packages/eclipse/plugins/R-4.4-201406061215/ecj-4.4.jar -Dcommons-daemon.jar=/srv/gump/public/workspace/apache-commons/daemon/dist/commons-daemon-20150311.jar -Dcommons-daemon.native.src.tgz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20150311-native-src.tar.gz -Dtest.temp=output/test-tmp-NIO -Dtest.accesslog=true -Dexecute.test.nio=true -Dtest.openssl.path=/srv/gump/public/workspace/openssl/dest-20150311/bin/openssl -Dexecute.test.apr=false -Dexecute.test.nio2=false -Deasymock.jar=/srv/gump/public/workspace/easymock/easymock/target/easymock-3.4-SNAPSHOT.jar -Dhamcrest.jar=/srv/gump/packages/hamcrest/hamcrest-core-1.3.jar -Dcglib.jar=/srv/gump/packages/cglib/cglib-nodep-2.2.jar test [Working Directory: /srv/gump/public/workspace/tomcat-trunk] CLASSPATH: /usr/lib/jvm/java-8-oracle/lib/tools.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/webapps/examples/WEB-INF/classes:/srv/gump/public/workspace/tomcat-trunk/output/testclasses:/srv/gump/public/workspace/ant/dist/lib/ant.jar:/srv/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/srv/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit4.jar:/srv/gump/public/workspace/ant/dist/lib/ant-swing.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-xalan2.jar:/srv/gump/public/workspace/xml-commons/java/build/resolver.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/bin/bootstrap.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/bin/tomcat-juli.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/annotations-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/servlet-api.ja r:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jsp-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/el-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/websocket-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-ant.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-storeconfig.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/tomcat-coyote.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jasper.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jasper-el.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-tribes.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-ha.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/tomcat-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/tomcat-jni.jar:/srv/gump/public/workspace/tomcat-trunk/output/bu ild/lib/tomcat-spdy.jar:/srv/gump/public/workspace/tomcat-trunk/output/build
Re: svn commit: r1665736 - in /tomcat/trunk/java/org/apache/tomcat/util/net: AprEndpoint.java Nio2Endpoint.java NioEndpoint.java SocketWrapperBase.java
2015-03-11 16:50 GMT+09:00 Mark Thomas : > On 11/03/2015 06:19, Keiichi Fujino wrote: > > 2015-03-11 7:35 GMT+09:00 : > > > >> Author: markt > >> Date: Tue Mar 10 22:35:19 2015 > >> New Revision: 1665736 > >> > >> URL: http://svn.apache.org/r1665736 > >> Log: > >> Stop re-using the SocketWrapper > >> With the introduction of upgrade and non-blocking, I/O can occur on > >> non-container threads. This makes it near impossible to track whether a > >> SocketWrapper (== connection) is still referenced or not, making re-use > a > >> risky proposition. > > > > > I think this fix causes NPE. > > Quite possibly. > > > Do we need initialization of poller and socketBufferHandler in > > SocketWrapper? > > Again, quite possibly. > > I have been focussed on the crashing test case and this change didn't > break that (neither did it fix it). I haven't even done a basic smoke > test of these changes yet. What is the simplest way to reproduce this? > > I think this is reproduced by simple HTTP access. e.g. access to http://localhost:8080 by browser. > Mark > > > - > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > > -- > Keiichi.Fujino > > >
[GUMP@vmgump]: Project tomcat-tc7.0.x-test-bio (in module tomcat-7.0.x) failed
To whom it may engage... This is an automated request, but not an unsolicited one. For more information please visit http://gump.apache.org/nagged.html, and/or contact the folk at gene...@gump.apache.org. Project tomcat-tc7.0.x-test-bio has an issue affecting its community integration. This issue affects 1 projects, and has been outstanding for 7 runs. The current state of this project is 'Failed', with reason 'Build Failed'. For reference only, the following projects are affected by this: - tomcat-tc7.0.x-test-bio : Tomcat 7.x, a web server implementing Java Servlet 3.0, ... Full details are available at: http://vmgump.apache.org/gump/public/tomcat-7.0.x/tomcat-tc7.0.x-test-bio/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -DEBUG- Dependency on tomcat-tc7.0.x-dbcp exists, no need to add for property tomcat-dbcp-src.jar. -DEBUG- Dependency on commons-daemon exists, no need to add for property commons-daemon.native.src.tgz. -DEBUG- Dependency on commons-daemon exists, no need to add for property tomcat-native.tar.gz. -DEBUG- Dependency on tomcat-tc7.0.x-dbcp exists, no need to add for property tomcat-dbcp.home. -INFO- Failed with reason build failed -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-7.0.x/output/logs-BIO -WARNING- No directory [/srv/gump/public/workspace/tomcat-7.0.x/output/logs-BIO] -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-7.0.x/output/test-tmp-BIO/logs -WARNING- No directory [/srv/gump/public/workspace/tomcat-7.0.x/output/test-tmp-BIO/logs] The following work was performed: http://vmgump.apache.org/gump/public/tomcat-7.0.x/tomcat-tc7.0.x-test-bio/gump_work/build_tomcat-7.0.x_tomcat-tc7.0.x-test-bio.html Work Name: build_tomcat-7.0.x_tomcat-tc7.0.x-test-bio (Type: Build) Work ended in a state of : Failed Elapsed: 52 secs Command Line: /usr/lib/jvm/java-8-oracle/bin/java -Djava.awt.headless=true -Dbuild.sysclasspath=only org.apache.tools.ant.Main -Dgump.merge=/srv/gump/public/gump/work/merge.xml -Djunit.jar=/srv/gump/public/workspace/junit/target/junit-4.13-SNAPSHOT.jar -Dcommons-daemon.native.src.tgz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20150311-native-src.tar.gz -Dtest.reports=output/logs-BIO -Dtomcat-native.tar.gz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20150311-native-src.tar.gz -Dexamples.sources.skip=true -Dtomcat-dbcp.home=/srv/gump/public/workspace/tomcat-7.0.x/tomcat-deps -Djdt.jar=/srv/gump/packages/eclipse/plugins/R-4.4-201406061215/ecj-4.4.jar -Dcommons-daemon.jar=/srv/gump/public/workspace/apache-commons/daemon/dist/commons-daemon-20150311.jar -Dtomcat-dbcp-src.jar=/srv/gump/public/workspace/tomcat-7.0.x/tomcat-deps/tomcat-dbcp-src.jar -Dexecute.test.nio=false -Dtest.accesslog=true -Dcommons-pool.home=/srv/gump/public/wo rkspace/commons-pool-1.x -Dcommons-dbcp.home=/srv/gump/public/workspace/commons-dbcp-1.x -Dexecute.test.apr=false -Dexecute.test.bio=true -Dtomcat-dbcp.jar=/srv/gump/public/workspace/tomcat-7.0.x/tomcat-deps/tomcat-dbcp-20150311.jar -Dtest.temp=output/test-tmp-BIO -Dhamcrest.jar=/srv/gump/packages/hamcrest/hamcrest-core-1.3.jar test [Working Directory: /srv/gump/public/workspace/tomcat-7.0.x] CLASSPATH: /usr/lib/jvm/java-8-oracle/lib/tools.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/webapps/examples/WEB-INF/classes:/srv/gump/public/workspace/tomcat-7.0.x/output/testclasses:/srv/gump/public/workspace/ant/dist/lib/ant.jar:/srv/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/srv/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit4.jar:/srv/gump/public/workspace/ant/dist/lib/ant-swing.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-xalan2.jar:/srv/gump/public/workspace/xml-commons/java/build/resolver.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/bin/bootstrap.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/bin/tomcat-juli.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/annotations-api.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/servlet-api.ja r:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/jsp-api.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/el-api.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/catalina.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/catalina-ant.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/tomcat-coyote.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/jasper.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/jasper-el.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/catalina-tribes.jar:/srv/gump/public/workspace
Re: svn commit: r1665736 - in /tomcat/trunk/java/org/apache/tomcat/util/net: AprEndpoint.java Nio2Endpoint.java NioEndpoint.java SocketWrapperBase.java
2015-03-10 23:35 GMT+01:00 : > Author: markt > Date: Tue Mar 10 22:35:19 2015 > New Revision: 1665736 > > URL: http://svn.apache.org/r1665736 > Log: > Stop re-using the SocketWrapper > With the introduction of upgrade and non-blocking, I/O can occur on > non-container threads. This makes it near impossible to track whether a > SocketWrapper (== connection) is still referenced or not, making re-use a > risky proposition. > > Modified: > tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java > tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java > tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java > tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java > I had tested enabling reuse of the wrapper with NIO2, and it didn't change the ab results. Same for using the useCaches flag, so there's probably no point either reusing the other objects in endpoint. Rémy
svn commit: r1665779 - /tomcat/trunk/webapps/docs/config/valve.xml
Author: violetagg Date: Wed Mar 11 08:11:24 2015 New Revision: 1665779 URL: http://svn.apache.org/r1665779 Log: %s/comma/semicolon. Issue reported via comments at apache org. Modified: tomcat/trunk/webapps/docs/config/valve.xml Modified: tomcat/trunk/webapps/docs/config/valve.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/config/valve.xml?rev=1665779&r1=1665778&r2=1665779&view=diff == --- tomcat/trunk/webapps/docs/config/valve.xml (original) +++ tomcat/trunk/webapps/docs/config/valve.xml Wed Mar 11 08:11:24 2015 @@ -484,7 +484,7 @@ expressions supported. Optionally one can append the server connector port separated with a -comma (";") to allow different expressions for each connector. +semicolon (";") to allow different expressions for each connector. The behavior when a request is refused can be changed to not deny but instead set an invalid authentication @@ -613,7 +613,7 @@ expressions supported. Optionally one can append the server connector port separated with a -comma (";") to allow different expressions for each connector. +semicolon (";") to allow different expressions for each connector. The behavior when a request is refused can be changed to not deny but instead set an invalid authentication @@ -666,7 +666,7 @@ Append the server connector port to the client hostname separated -with a comma (";"). If this is set to true, the +with a semicolon (";"). If this is set to true, the expressions configured with allow and deny is compared against HOSTNAME;PORT where HOSTNAME is the client hostname and - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1665781 - in /tomcat/trunk/java/org/apache/tomcat/util/net: Nio2Endpoint.java NioEndpoint.java
Author: markt Date: Wed Mar 11 08:13:07 2015 New Revision: 1665781 URL: http://svn.apache.org/r1665781 Log: Follow-up to r1665736 Fix NPEs Modified: tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Modified: tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java?rev=1665781&r1=1665780&r2=1665781&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java Wed Mar 11 08:13:07 2015 @@ -757,6 +757,7 @@ public class Nio2Endpoint extends Abstra public Nio2SocketWrapper(Nio2Channel channel, Nio2Endpoint endpoint) { super(channel, endpoint); +socketBufferHandler = channel.getBufHandler(); this.readCompletionHandler = new CompletionHandler>() { @Override 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=1665781&r1=1665780&r2=1665781&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Wed Mar 11 08:13:07 2015 @@ -1295,6 +1295,7 @@ public class NioEndpoint extends Abstrac public NioSocketWrapper(NioChannel channel, NioEndpoint endpoint) { super(channel, endpoint); pool = endpoint.getSelectorPool(); +socketBufferHandler = channel.getBufHandler(); } public Poller getPoller() { return poller;} - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1665783 - in /tomcat/tc8.0.x/trunk: ./ webapps/docs/config/valve.xml
Author: violetagg Date: Wed Mar 11 08:16:55 2015 New Revision: 1665783 URL: http://svn.apache.org/r1665783 Log: Merged revision 1665779 from tomcat/trunk: %s/comma/semicolon. Issue reported via comments at apache org. Modified: tomcat/tc8.0.x/trunk/ (props changed) tomcat/tc8.0.x/trunk/webapps/docs/config/valve.xml Propchange: tomcat/tc8.0.x/trunk/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Mar 11 08:16:55 2015 @@ -1 +1 @@ -/tomcat/trunk:1636524,1637156,1637176,1637188,1637331,1637684,1637695,1638720-1638725,1639653,1640010,1640083-1640084,1640088,1640275,1640322,1640347,1640361,1640365,1640403,1640410,1640652,1640655-1640658,1640688,1640700-1640883,1640903,1640976,1640978,1641000,1641026,1641038-1641039,1641051-1641052,1641058,1641064,1641300,1641369,1641374,1641380,1641486,1641634,1641656-1641692,1641704,1641707-1641718,1641720-1641722,1641735,1641981,1642233,1642280,1642554,1642564,1642595,1642606,1642668,1642679,1642697,1642699,1642766,1643002,1643045,1643054-1643055,1643066,1643121,1643128,1643206,1643209-1643210,1643216,1643249,1643270,1643283,1643309-1643310,1643323,1643365-1643366,1643370-1643371,1643465,1643474,1643536,1643570,1643634,1643649,1643651,1643654,1643675,1643731,1643733-1643734,1643761,1643766,1643814,1643937,1643963,1644017,1644169,1644201-1644203,1644321,1644323,1644516,1644523,1644529,1644535,1644730,1644768,1644784-1644785,1644790,1644793,1644815,1644884,1644886,1644890,1644892 ,1644910,1644924,1644929-1644930,1644935,1644989,1645011,1645247,1645355,1645357-1645358,1645455,1645465,1645469,1645471,1645473,1645475,1645486-1645488,1645626,1645641,1645685,1645743,1645763,1645951-1645953,1645955,1645993,1646098-1646106,1646178,1646220,1646302,1646304,1646420,1646470-1646471,1646476,1646559,1646717-1646723,1646773,1647026,1647042,1647530,1647655,1648304,1648815,1648907,1650081,1650365,1651116,1651120,1651280,1651470,1652938,1652970,1653041,1653471,1653550,1653574,1653797,1653815-1653816,1653819,1653840,1653857,1653888,1653972,1654013,1654030,1654050,1654123,1654148,1654159,1654513,1654515,1654517,1654522,1654524,1654725,1654735,1654766,1654785,1654851-1654852,1654978,1655122-1655124,1655126-1655127,1655129-1655130,1655132-1655133,1655312,1655438,1655441,1655454,168,1656087,1656299,1656319,1656331,1656345,1656350,1656590,1656648-1656650,1656657,1657041,1657054,1657374,1657492,1657510,1657565,1657580,1657584,1657586,1657589,1657592,1657607,1657609,1657682,1657 907,1658207,1658734,1658781,1658790,1658799,1658802,1658804,1658833,1658840,1658966,1659043,1659053,1659059,1659188-1659189,1659216,1659263,1659293,1659304,1659306-1659307,1659382,1659384,1659428,1659471,1659486,1659505,1659516,1659521,1659524,1659559,1659562,1659803,1659806,1659814,1659833,1659862,1659905,1659919,1659948,1659967,1659983-1659984,1660060,1660074,1660077,1660133,1660168,1660331-1660332,1660353,1660358,1660924,1661386,1661867,1661972,1661990,1662200,1662308-1662309,1662548,1662614,1662736,1662985,1662988-1662989,1663264,1663277,1663298,1663324,1663534,1663562,1663676,1663715,1663754,1663768,1663772,1663781,1663893,1663995,1664143,1664163,1664174,1664301,1664317,1664347,1664657,1664659,1664710,1664863-1664864,1664866,1665085,1665292,1665661 +/tomcat/trunk:1636524,1637156,1637176,1637188,1637331,1637684,1637695,1638720-1638725,1639653,1640010,1640083-1640084,1640088,1640275,1640322,1640347,1640361,1640365,1640403,1640410,1640652,1640655-1640658,1640688,1640700-1640883,1640903,1640976,1640978,1641000,1641026,1641038-1641039,1641051-1641052,1641058,1641064,1641300,1641369,1641374,1641380,1641486,1641634,1641656-1641692,1641704,1641707-1641718,1641720-1641722,1641735,1641981,1642233,1642280,1642554,1642564,1642595,1642606,1642668,1642679,1642697,1642699,1642766,1643002,1643045,1643054-1643055,1643066,1643121,1643128,1643206,1643209-1643210,1643216,1643249,1643270,1643283,1643309-1643310,1643323,1643365-1643366,1643370-1643371,1643465,1643474,1643536,1643570,1643634,1643649,1643651,1643654,1643675,1643731,1643733-1643734,1643761,1643766,1643814,1643937,1643963,1644017,1644169,1644201-1644203,1644321,1644323,1644516,1644523,1644529,1644535,1644730,1644768,1644784-1644785,1644790,1644793,1644815,1644884,1644886,1644890,1644892 ,1644910,1644924,1644929-1644930,1644935,1644989,1645011,1645247,1645355,1645357-1645358,1645455,1645465,1645469,1645471,1645473,1645475,1645486-1645488,1645626,1645641,1645685,1645743,1645763,1645951-1645953,1645955,1645993,1646098-1646106,1646178,1646220,1646302,1646304,1646420,1646470-1646471,1646476,1646559,1646717-1646723,1646773,1647026,1647042,1647530,1647655,1648304,1648815,1648907,1650081,1650365,1651116,1651120,1651280,1651470,1652938,1652970,1653041,1653471,1653550,1653574,1653797,1653815-1653816,1653819,1653840,1653857,1653888,1653972,1654013,1654030,1654050,1654123,1654148,1654159,1654513,1654515,1654517,1654522,1654524,1654725,1654735,1654766,1654785,1654851-1654852,1654978,1655122-1
svn commit: r1665786 - in /tomcat/tc7.0.x/trunk: ./ webapps/docs/config/valve.xml
Author: violetagg Date: Wed Mar 11 08:18:11 2015 New Revision: 1665786 URL: http://svn.apache.org/r1665786 Log: Merged revision 1665779 from tomcat/trunk: %s/comma/semicolon. Issue reported via comments at apache org. Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/webapps/docs/config/valve.xml Propchange: tomcat/tc7.0.x/trunk/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Mar 11 08:18:11 2015 @@ -1,2 +1,2 @@ /tomcat/tc8.0.x/trunk:1636525,1637336,1637685,1637709,1638726,1640089,1640276,1640349,1640363,1640366,1640642,1640672,1640674,1640689,1640884,1641001,1641065,1641067,1641375,1641638,1641723,1641726,1641729-1641730,1641736,1641988,1642669-1642670,1642698,1642701,1643205,1643215,1643217,1643230,1643232,1643273,1643285,1643329-1643330,1643511,1643513,1643521,1643539,1643571,1643581-1643582,1643635,1643655,1643738,1643964,1644018,1644333,1644954,1644992,1645014,1645360,1645456,1645627,1645642,1645686,1645903-1645904,1645908-1645909,1645913,1645920,1646458,1646460-1646462,1647043,1648816,1651420-1651422,1651844,1652939-1652940,1652973,1653798,1653817,1653841,1654042,1654161,1654736,1654767,1654787,1656592,1662986,1663265,1663278,1663325,1663535,1663567,1663679,1663997,1664175,1664321,1664872,1665061,1665086 -/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-1222329,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,1346365,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,1 352661,1352663,1352788,1352799,1353087,1353125,1353240,1353261,1353414,1353468,1353501,1353581,1353708,1354137,1354170,1354197,1354255,1354362,1354375,1354469,1354664,1354685,1354817,1354847,1354856,1355726,1355810,1356006-1356007,1356014,1356045,1356125,1356422,1356505,1356898,1357042,1357401,1357407,1358586,1358590,1358612-1358613,1359102,1359340,1359981,1360059,1360455,1360460,1360838,1360847,1360892,1360942,1361263,1361430,1361754-1361755,1361762,1361769,1361772,1361962,1361982,1361985,1361991,1364141,1364149,1364411-1364412,1364448,1366708,1366720,1366729,1366734,1366910,1366945,1366953,1366959,1367214,1370346,1370364,1370373,1370386,1370
Re: svn commit: r1665736 - in /tomcat/trunk/java/org/apache/tomcat/util/net: AprEndpoint.java Nio2Endpoint.java NioEndpoint.java SocketWrapperBase.java
On 11/03/2015 08:01, Keiichi Fujino wrote: > 2015-03-11 16:50 GMT+09:00 Mark Thomas : > >> On 11/03/2015 06:19, Keiichi Fujino wrote: >>> 2015-03-11 7:35 GMT+09:00 : >>> Author: markt Date: Tue Mar 10 22:35:19 2015 New Revision: 1665736 URL: http://svn.apache.org/r1665736 Log: Stop re-using the SocketWrapper With the introduction of upgrade and non-blocking, I/O can occur on non-container threads. This makes it near impossible to track whether a SocketWrapper (== connection) is still referenced or not, making re-use >> a risky proposition. >> >> >> >>> I think this fix causes NPE. >> >> Quite possibly. >> >>> Do we need initialization of poller and socketBufferHandler in >>> SocketWrapper? >> >> Again, quite possibly. >> >> I have been focussed on the crashing test case and this change didn't >> break that (neither did it fix it). I haven't even done a basic smoke >> test of these changes yet. What is the simplest way to reproduce this? >> >> > I think this is reproduced by simple HTTP access. > e.g. access to http://localhost:8080 by browser. Whoops :) Fixed. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: svn commit: r1665736 - in /tomcat/trunk/java/org/apache/tomcat/util/net: AprEndpoint.java Nio2Endpoint.java NioEndpoint.java SocketWrapperBase.java
On 11/03/2015 08:07, Rémy Maucherat wrote: > 2015-03-10 23:35 GMT+01:00 : > >> Author: markt >> Date: Tue Mar 10 22:35:19 2015 >> New Revision: 1665736 >> >> URL: http://svn.apache.org/r1665736 >> Log: >> Stop re-using the SocketWrapper >> With the introduction of upgrade and non-blocking, I/O can occur on >> non-container threads. This makes it near impossible to track whether a >> SocketWrapper (== connection) is still referenced or not, making re-use a >> risky proposition. >> >> Modified: >> tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java >> tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java >> tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java >> tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java >> > > I had tested enabling reuse of the wrapper with NIO2, and it didn't change > the ab results. Same for using the useCaches flag, so there's probably no > point either reusing the other objects in endpoint. I while back I did some GC testing under load and I think some of those caches were introduced to reduce the GC churn. Given none of them are obviously causing problems my instinct is to leave them as is for now. My current TODO list is: - fix this APR crash - fix the remaining bugs that impact 8.0.x - do an 8.0.x release - do some performance testing I can add looking at the performance and GC benefits (or not) of these caches to that last item although I'd be more than happy to if someone beat me to it. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: svn commit: r1665736 - in /tomcat/trunk/java/org/apache/tomcat/util/net: AprEndpoint.java Nio2Endpoint.java NioEndpoint.java SocketWrapperBase.java
On 11/03/2015 08:19, Mark Thomas wrote: > On 11/03/2015 08:01, Keiichi Fujino wrote: >> 2015-03-11 16:50 GMT+09:00 Mark Thomas : >> >>> On 11/03/2015 06:19, Keiichi Fujino wrote: 2015-03-11 7:35 GMT+09:00 : > Author: markt > Date: Tue Mar 10 22:35:19 2015 > New Revision: 1665736 > > URL: http://svn.apache.org/r1665736 > Log: > Stop re-using the SocketWrapper > With the introduction of upgrade and non-blocking, I/O can occur on > non-container threads. This makes it near impossible to track whether a > SocketWrapper (== connection) is still referenced or not, making re-use >>> a > risky proposition. >>> >>> >>> I think this fix causes NPE. >>> >>> Quite possibly. >>> Do we need initialization of poller and socketBufferHandler in SocketWrapper? >>> >>> Again, quite possibly. >>> >>> I have been focussed on the crashing test case and this change didn't >>> break that (neither did it fix it). I haven't even done a basic smoke >>> test of these changes yet. What is the simplest way to reproduce this? >>> >>> >> I think this is reproduced by simple HTTP access. >> e.g. access to http://localhost:8080 by browser. > > Whoops :) > > Fixed. I may have spoken too soon. Browser access works but I'm seeing lots of errors in the logs. They might be related to my local APR changes but maybe not. I'll take a closer look. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1665803 - /tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
Author: markt Date: Wed Mar 11 08:47:39 2015 New Revision: 1665803 URL: http://svn.apache.org/r1665803 Log: Follow-up to r1665736 Fix another NPE Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java 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=1665803&r1=1665802&r2=1665803&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Wed Mar 11 08:47:39 2015 @@ -892,6 +892,7 @@ public class NioEndpoint extends Abstrac public void register(final NioChannel socket) { socket.setPoller(this); NioSocketWrapper ka = new NioSocketWrapper(socket, NioEndpoint.this); +ka.setPoller(this); ka.setReadTimeout(getSocketProperties().getSoTimeout()); ka.setWriteTimeout(getSocketProperties().getSoTimeout()); ka.setKeepAliveLeft(NioEndpoint.this.getMaxKeepAliveRequests()); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[GUMP@vmgump]: Project tomcat-tc7.0.x-test-apr (in module tomcat-7.0.x) failed
To whom it may engage... This is an automated request, but not an unsolicited one. For more information please visit http://gump.apache.org/nagged.html, and/or contact the folk at gene...@gump.apache.org. Project tomcat-tc7.0.x-test-apr has an issue affecting its community integration. This issue affects 1 projects, and has been outstanding for 4 runs. The current state of this project is 'Failed', with reason 'Build Failed'. For reference only, the following projects are affected by this: - tomcat-tc7.0.x-test-apr : Tomcat 7.x, a web server implementing Java Servlet 3.0, ... Full details are available at: http://vmgump.apache.org/gump/public/tomcat-7.0.x/tomcat-tc7.0.x-test-apr/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -DEBUG- Dependency on tomcat-tc7.0.x-dbcp exists, no need to add for property tomcat-dbcp-src.jar. -DEBUG- Dependency on commons-daemon exists, no need to add for property commons-daemon.native.src.tgz. -DEBUG- Dependency on commons-daemon exists, no need to add for property tomcat-native.tar.gz. -DEBUG- Dependency on tomcat-tc7.0.x-dbcp exists, no need to add for property tomcat-dbcp.home. -INFO- Failed with reason build failed -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-7.0.x/output/logs-APR -WARNING- No directory [/srv/gump/public/workspace/tomcat-7.0.x/output/logs-APR] -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-7.0.x/output/test-tmp-APR/logs -WARNING- No directory [/srv/gump/public/workspace/tomcat-7.0.x/output/test-tmp-APR/logs] The following work was performed: http://vmgump.apache.org/gump/public/tomcat-7.0.x/tomcat-tc7.0.x-test-apr/gump_work/build_tomcat-7.0.x_tomcat-tc7.0.x-test-apr.html Work Name: build_tomcat-7.0.x_tomcat-tc7.0.x-test-apr (Type: Build) Work ended in a state of : Failed Elapsed: 57 secs Command Line: /usr/lib/jvm/java-8-oracle/bin/java -Djava.awt.headless=true -Dbuild.sysclasspath=only org.apache.tools.ant.Main -Dgump.merge=/srv/gump/public/gump/work/merge.xml -Djunit.jar=/srv/gump/public/workspace/junit/target/junit-4.13-SNAPSHOT.jar -Dcommons-daemon.native.src.tgz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20150311-native-src.tar.gz -Dtest.reports=output/logs-APR -Dtomcat-native.tar.gz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20150311-native-src.tar.gz -Dexamples.sources.skip=true -Dtomcat-dbcp.home=/srv/gump/public/workspace/tomcat-7.0.x/tomcat-deps -Djdt.jar=/srv/gump/packages/eclipse/plugins/R-4.4-201406061215/ecj-4.4.jar -Dtest.apr.loc=/srv/gump/public/workspace/tomcat-native/dest-20150311/lib -Dcommons-daemon.jar=/srv/gump/public/workspace/apache-commons/daemon/dist/commons-daemon-20150311.jar -Dtomcat-dbcp-src.jar=/srv/gump/public/workspace/tomcat-7.0.x/tomcat-deps/tomcat-dbcp-src.jar -Dexecute.te st.nio=false -Dtest.accesslog=true -Dcommons-pool.home=/srv/gump/public/workspace/commons-pool-1.x -Dcommons-dbcp.home=/srv/gump/public/workspace/commons-dbcp-1.x -Dexecute.test.apr=true -Dexecute.test.bio=false -Dtomcat-dbcp.jar=/srv/gump/public/workspace/tomcat-7.0.x/tomcat-deps/tomcat-dbcp-20150311.jar -Dtest.temp=output/test-tmp-APR -Dhamcrest.jar=/srv/gump/packages/hamcrest/hamcrest-core-1.3.jar test [Working Directory: /srv/gump/public/workspace/tomcat-7.0.x] CLASSPATH: /usr/lib/jvm/java-8-oracle/lib/tools.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/webapps/examples/WEB-INF/classes:/srv/gump/public/workspace/tomcat-7.0.x/output/testclasses:/srv/gump/public/workspace/ant/dist/lib/ant.jar:/srv/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/srv/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit4.jar:/srv/gump/public/workspace/ant/dist/lib/ant-swing.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-xalan2.jar:/srv/gump/public/workspace/xml-commons/java/build/resolver.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/bin/bootstrap.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/bin/tomcat-juli.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/annotations-api.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/servlet-api.ja r:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/jsp-api.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/el-api.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/catalina.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/catalina-ant.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/tomcat-coyote.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/jasper.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/jasper-el.jar:/srv/gump/public/workspace
[GUMP@vmgump]: Project tomcat-trunk-test-nio2 (in module tomcat-trunk) failed
To whom it may engage... This is an automated request, but not an unsolicited one. For more information please visit http://gump.apache.org/nagged.html, and/or contact the folk at gene...@gump.apache.org. Project tomcat-trunk-test-nio2 has an issue affecting its community integration. This issue affects 1 projects. The current state of this project is 'Failed', with reason 'Build Timed Out'. For reference only, the following projects are affected by this: - tomcat-trunk-test-nio2 : Tomcat 9.x, a web server implementing the Java Servlet 4.0, ... Full details are available at: http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-test-nio2/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -DEBUG- Dependency on commons-daemon exists, no need to add for property commons-daemon.native.src.tgz. -DEBUG- Dependency on commons-daemon exists, no need to add for property tomcat-native.tar.gz. -INFO- Failed with reason build timed out -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-trunk/output/logs-NIO2 -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-trunk/output/test-tmp-NIO2/logs The following work was performed: http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-test-nio2/gump_work/build_tomcat-trunk_tomcat-trunk-test-nio2.html Work Name: build_tomcat-trunk_tomcat-trunk-test-nio2 (Type: Build) Work ended in a state of : Failed Elapsed: 1 hour 1 sec Command Line: /usr/lib/jvm/java-8-oracle/bin/java -Djava.awt.headless=true -Dbuild.sysclasspath=only org.apache.tools.ant.Main -Dgump.merge=/srv/gump/public/gump/work/merge.xml -Djunit.jar=/srv/gump/public/workspace/junit/target/junit-4.13-SNAPSHOT.jar -Dobjenesis.jar=/srv/gump/public/workspace/objenesis/main/target/objenesis-2.2-SNAPSHOT.jar -Dtest.reports=output/logs-NIO2 -Dtomcat-native.tar.gz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20150311-native-src.tar.gz -Dexamples.sources.skip=true -Djdt.jar=/srv/gump/packages/eclipse/plugins/R-4.4-201406061215/ecj-4.4.jar -Dcommons-daemon.jar=/srv/gump/public/workspace/apache-commons/daemon/dist/commons-daemon-20150311.jar -Dcommons-daemon.native.src.tgz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20150311-native-src.tar.gz -Dtest.temp=output/test-tmp-NIO2 -Dtest.accesslog=true -Dexecute.test.nio=false -Dtest.openssl.path=/srv/gump/public/workspace/openssl/dest-20150311/bin/opens sl -Dexecute.test.apr=false -Dexecute.test.nio2=true -Deasymock.jar=/srv/gump/public/workspace/easymock/easymock/target/easymock-3.4-SNAPSHOT.jar -Dhamcrest.jar=/srv/gump/packages/hamcrest/hamcrest-core-1.3.jar -Dcglib.jar=/srv/gump/packages/cglib/cglib-nodep-2.2.jar test [Working Directory: /srv/gump/public/workspace/tomcat-trunk] CLASSPATH: /usr/lib/jvm/java-8-oracle/lib/tools.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/webapps/examples/WEB-INF/classes:/srv/gump/public/workspace/tomcat-trunk/output/testclasses:/srv/gump/public/workspace/ant/dist/lib/ant.jar:/srv/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/srv/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit4.jar:/srv/gump/public/workspace/ant/dist/lib/ant-swing.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-xalan2.jar:/srv/gump/public/workspace/xml-commons/java/build/resolver.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/bin/bootstrap.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/bin/tomcat-juli.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/annotations-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/servlet-api.ja r:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jsp-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/el-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/websocket-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-ant.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-storeconfig.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/tomcat-coyote.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jasper.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jasper-el.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-tribes.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-ha.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/tomcat-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/tomcat-jni.jar:/srv/gump/public/workspace/tomcat-trunk/output/bu ild/lib/tomcat-spdy.jar:/srv/gump/public/workspace/tomcat-trunk/out
svn commit: r1665830 - in /tomcat/native/branches/1.1.x: build.properties.default native/include/tcn_version.h native/os/win32/libtcnative.rc
Author: markt Date: Wed Mar 11 10:14:17 2015 New Revision: 1665830 URL: http://svn.apache.org/r1665830 Log: Update version to 1.1.33 Modified: tomcat/native/branches/1.1.x/build.properties.default 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/build.properties.default URL: http://svn.apache.org/viewvc/tomcat/native/branches/1.1.x/build.properties.default?rev=1665830&r1=1665829&r2=1665830&view=diff == --- tomcat/native/branches/1.1.x/build.properties.default (original) +++ tomcat/native/branches/1.1.x/build.properties.default Wed Mar 11 10:14:17 2015 @@ -18,7 +18,7 @@ # - Version Control Flags - version.major=1 version.minor=1 -version.build=32 +version.build=33 version.patch=0 version.suffix=-dev 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=1665830&r1=1665829&r2=1665830&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 Mar 11 10:14:17 2015 @@ -69,7 +69,7 @@ extern "C" { #define TCN_MINOR_VERSION 1 /** patch level */ -#define TCN_PATCH_VERSION 32 +#define TCN_PATCH_VERSION 33 /** * This symbol is defined for internal, "development" copies of TCN. This 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=1665830&r1=1665829&r2=1665830&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 Mar 11 10:14:17 2015 @@ -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.32" +#define TCN_VERSION "1.1.33" 1000 ICON "apache.ico" 1001 DIALOGEX 0, 0, 252, 51 @@ -36,8 +36,8 @@ BEGIN END 1 VERSIONINFO - FILEVERSION 1,1,32,0 - PRODUCTVERSION 1,1,32,0 + FILEVERSION 1,1,33,0 + PRODUCTVERSION 1,1,33,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
[Bug 57653] APR/native crash during HTTP upgrade
https://bz.apache.org/bugzilla/show_bug.cgi?id=57653 --- Comment #3 from Mark Thomas --- Thanks for the safety patch. I can see what it is doing (and it looks) right but the crash still occurs. -- 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
[GUMP@vmgump]: Project tomcat-trunk-test-apr (in module tomcat-trunk) failed
To whom it may engage... This is an automated request, but not an unsolicited one. For more information please visit http://gump.apache.org/nagged.html, and/or contact the folk at gene...@gump.apache.org. Project tomcat-trunk-test-apr has an issue affecting its community integration. This issue affects 1 projects, and has been outstanding for 4 runs. The current state of this project is 'Failed', with reason 'Build Failed'. For reference only, the following projects are affected by this: - tomcat-trunk-test-apr : Tomcat 9.x, a web server implementing the Java Servlet 4.0, ... Full details are available at: http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-test-apr/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -DEBUG- Dependency on commons-daemon exists, no need to add for property commons-daemon.native.src.tgz. -DEBUG- Dependency on commons-daemon exists, no need to add for property tomcat-native.tar.gz. -INFO- Failed with reason build failed -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-trunk/output/logs-APR -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-trunk/output/test-tmp-APR/logs The following work was performed: http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-test-apr/gump_work/build_tomcat-trunk_tomcat-trunk-test-apr.html Work Name: build_tomcat-trunk_tomcat-trunk-test-apr (Type: Build) Work ended in a state of : Failed Elapsed: 56 mins 46 secs Command Line: /usr/lib/jvm/java-8-oracle/bin/java -Djava.awt.headless=true -Dbuild.sysclasspath=only org.apache.tools.ant.Main -Dgump.merge=/srv/gump/public/gump/work/merge.xml -Djunit.jar=/srv/gump/public/workspace/junit/target/junit-4.13-SNAPSHOT.jar -Dobjenesis.jar=/srv/gump/public/workspace/objenesis/main/target/objenesis-2.2-SNAPSHOT.jar -Dtest.reports=output/logs-APR -Dtomcat-native.tar.gz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20150311-native-src.tar.gz -Dexamples.sources.skip=true -Djdt.jar=/srv/gump/packages/eclipse/plugins/R-4.4-201406061215/ecj-4.4.jar -Dtest.apr.loc=/srv/gump/public/workspace/tomcat-native/dest-20150311/lib -Dcommons-daemon.jar=/srv/gump/public/workspace/apache-commons/daemon/dist/commons-daemon-20150311.jar -Dcommons-daemon.native.src.tgz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20150311-native-src.tar.gz -Dtest.temp=output/test-tmp-APR -Dtest.accesslog=true -Dexecute.test.nio=false -Dtest .openssl.path=/srv/gump/public/workspace/openssl/dest-20150311/bin/openssl -Dexecute.test.apr=true -Dexecute.test.nio2=false -Deasymock.jar=/srv/gump/public/workspace/easymock/easymock/target/easymock-3.4-SNAPSHOT.jar -Dhamcrest.jar=/srv/gump/packages/hamcrest/hamcrest-core-1.3.jar -Dcglib.jar=/srv/gump/packages/cglib/cglib-nodep-2.2.jar test [Working Directory: /srv/gump/public/workspace/tomcat-trunk] CLASSPATH: /usr/lib/jvm/java-8-oracle/lib/tools.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/webapps/examples/WEB-INF/classes:/srv/gump/public/workspace/tomcat-trunk/output/testclasses:/srv/gump/public/workspace/ant/dist/lib/ant.jar:/srv/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/srv/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit4.jar:/srv/gump/public/workspace/ant/dist/lib/ant-swing.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-xalan2.jar:/srv/gump/public/workspace/xml-commons/java/build/resolver.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/bin/bootstrap.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/bin/tomcat-juli.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/annotations-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/servlet-api.ja r:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jsp-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/el-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/websocket-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-ant.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-storeconfig.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/tomcat-coyote.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jasper.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jasper-el.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-tribes.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-ha.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/tomcat-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/tomcat-jni.jar:/srv/gump/public/wo
[GUMP@vmgump]: Project tomcat-tc7.0.x-test-nio (in module tomcat-7.0.x) failed
To whom it may engage... This is an automated request, but not an unsolicited one. For more information please visit http://gump.apache.org/nagged.html, and/or contact the folk at gene...@gump.apache.org. Project tomcat-tc7.0.x-test-nio has an issue affecting its community integration. This issue affects 1 projects, and has been outstanding for 7 runs. The current state of this project is 'Failed', with reason 'Build Failed'. For reference only, the following projects are affected by this: - tomcat-tc7.0.x-test-nio : Tomcat 7.x, a web server implementing Java Servlet 3.0, ... Full details are available at: http://vmgump.apache.org/gump/public/tomcat-7.0.x/tomcat-tc7.0.x-test-nio/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -DEBUG- Dependency on tomcat-tc7.0.x-dbcp exists, no need to add for property tomcat-dbcp-src.jar. -DEBUG- Dependency on commons-daemon exists, no need to add for property commons-daemon.native.src.tgz. -DEBUG- Dependency on commons-daemon exists, no need to add for property tomcat-native.tar.gz. -DEBUG- Dependency on tomcat-tc7.0.x-dbcp exists, no need to add for property tomcat-dbcp.home. -INFO- Failed with reason build failed -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-7.0.x/output/logs-NIO -WARNING- No directory [/srv/gump/public/workspace/tomcat-7.0.x/output/logs-NIO] -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-7.0.x/output/test-tmp-NIO/logs -WARNING- No directory [/srv/gump/public/workspace/tomcat-7.0.x/output/test-tmp-NIO/logs] The following work was performed: http://vmgump.apache.org/gump/public/tomcat-7.0.x/tomcat-tc7.0.x-test-nio/gump_work/build_tomcat-7.0.x_tomcat-tc7.0.x-test-nio.html Work Name: build_tomcat-7.0.x_tomcat-tc7.0.x-test-nio (Type: Build) Work ended in a state of : Failed Elapsed: 57 secs Command Line: /usr/lib/jvm/java-8-oracle/bin/java -Djava.awt.headless=true -Dbuild.sysclasspath=only org.apache.tools.ant.Main -Dgump.merge=/srv/gump/public/gump/work/merge.xml -Djunit.jar=/srv/gump/public/workspace/junit/target/junit-4.13-SNAPSHOT.jar -Dcommons-daemon.native.src.tgz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20150311-native-src.tar.gz -Dtest.reports=output/logs-NIO -Dtomcat-native.tar.gz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20150311-native-src.tar.gz -Dexamples.sources.skip=true -Dtomcat-dbcp.home=/srv/gump/public/workspace/tomcat-7.0.x/tomcat-deps -Djdt.jar=/srv/gump/packages/eclipse/plugins/R-4.4-201406061215/ecj-4.4.jar -Dcommons-daemon.jar=/srv/gump/public/workspace/apache-commons/daemon/dist/commons-daemon-20150311.jar -Dtomcat-dbcp-src.jar=/srv/gump/public/workspace/tomcat-7.0.x/tomcat-deps/tomcat-dbcp-src.jar -Dexecute.test.nio=true -Dtest.accesslog=true -Dcommons-pool.home=/srv/gump/public/wor kspace/commons-pool-1.x -Dcommons-dbcp.home=/srv/gump/public/workspace/commons-dbcp-1.x -Dexecute.test.apr=false -Dexecute.test.bio=false -Dtomcat-dbcp.jar=/srv/gump/public/workspace/tomcat-7.0.x/tomcat-deps/tomcat-dbcp-20150311.jar -Dtest.temp=output/test-tmp-NIO -Dhamcrest.jar=/srv/gump/packages/hamcrest/hamcrest-core-1.3.jar test [Working Directory: /srv/gump/public/workspace/tomcat-7.0.x] CLASSPATH: /usr/lib/jvm/java-8-oracle/lib/tools.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/webapps/examples/WEB-INF/classes:/srv/gump/public/workspace/tomcat-7.0.x/output/testclasses:/srv/gump/public/workspace/ant/dist/lib/ant.jar:/srv/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/srv/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit4.jar:/srv/gump/public/workspace/ant/dist/lib/ant-swing.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-xalan2.jar:/srv/gump/public/workspace/xml-commons/java/build/resolver.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/bin/bootstrap.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/bin/tomcat-juli.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/annotations-api.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/servlet-api.ja r:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/jsp-api.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/el-api.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/catalina.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/catalina-ant.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/tomcat-coyote.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/jasper.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/jasper-el.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/catalina-tribes.jar:/srv/gump/public/workspace
svn commit: r1665855 - in /tomcat/site/trunk: docs/bugreport.html xdocs/bugreport.xml
Author: kkolinko Date: Wed Mar 11 12:04:44 2015 New Revision: 1665855 URL: http://svn.apache.org/r1665855 Log: Mention "git diff" command as a way to propose patches Modified: tomcat/site/trunk/docs/bugreport.html tomcat/site/trunk/xdocs/bugreport.xml Modified: tomcat/site/trunk/docs/bugreport.html URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/bugreport.html?rev=1665855&r1=1665854&r2=1665855&view=diff == --- tomcat/site/trunk/docs/bugreport.html (original) +++ tomcat/site/trunk/docs/bugreport.html Wed Mar 11 12:04:44 2015 @@ -888,18 +888,15 @@ bug in your web application. -To propose a patch, attach it to a Bugzilla issue. Any patches are welcome, -but we prefer the ones that use the +To propose a patch, attach it to a Bugzilla issue. +When providing a patch, please mention to which version of the source code it +applies. Any patches are welcome, but we prefer the ones that use the http://en.wikipedia.org/wiki/Diff#Unified_format"; rel="nofollow"> Unified Diff format. Those can be generated using diff -u -command or svn diff command. +command or svn diff or git diff command. -When providing a patch, please mention to which version of the sources it -applies. - - Here are some references: Modified: tomcat/site/trunk/xdocs/bugreport.xml URL: http://svn.apache.org/viewvc/tomcat/site/trunk/xdocs/bugreport.xml?rev=1665855&r1=1665854&r2=1665855&view=diff == --- tomcat/site/trunk/xdocs/bugreport.xml (original) +++ tomcat/site/trunk/xdocs/bugreport.xml Wed Mar 11 12:04:44 2015 @@ -406,16 +406,14 @@ bug in your web application. "enhancement". - To propose a patch, attach it to a Bugzilla issue. Any patches are welcome, -but we prefer the ones that use the + To propose a patch, attach it to a Bugzilla issue. +When providing a patch, please mention to which version of the source code it +applies. Any patches are welcome, but we prefer the ones that use the http://en.wikipedia.org/wiki/Diff#Unified_format"; rel="nofollow"> Unified Diff format. Those can be generated using diff -u -command or svn diff command. +command or svn diff or git diff command. - When providing a patch, please mention to which version of the sources it -applies. - Here are some references: Regarding Apache Tomcat: - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 57653] APR/native crash during HTTP upgrade
https://bz.apache.org/bugzilla/show_bug.cgi?id=57653 --- Comment #4 from Mark Thomas --- This is the line that is failing: http://svn.eu.apache.org/viewvc/tomcat/native/branches/1.1.x/native/src/poll.c?view=annotate#l365 APR_RING_REMOVE(s->pe, link); And the core dump shows s->pe is 0x0. So that explains why it is crashing. I should be able to add another safety check for that to prevent the crash. Next step is to figure out how it gets into that state in the first place. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 57687] New: securitymanager: codeBase cannot be denoted if unpackWARs=false
https://bz.apache.org/bugzilla/show_bug.cgi?id=57687 Bug ID: 57687 Summary: securitymanager: codeBase cannot be denoted if unpackWARs=false Product: Tomcat 8 Version: 8.0.18 Hardware: PC Status: NEW Severity: normal Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: gern...@nurfuerspam.de Deploying a webapp myapp.war at context path "some/path/myapp" and unpackWARs is set to "false". So there's a conf/Catalina/localhost/some#path#myapp.xml with "..." In Tomcat 7 (and also Tomcat 6 and Tomcat 5.5) you can add following codeBase in catalina.policy for granting permissions: grant codeBase "file:${catalina.base}/work/Catalina/localhost/some_path_myapp/-" or grant codeBase "file:${catalina.base}/work/Catalina/localhost/some_path_myapp/WEB-INF/lib/somejar.jar" In Tomcat 8 these codeBases does not work. There's also no info about that in http://tomcat.apache.org/tomcat-8.0-doc/security-manager-howto.html. Actually there seems to be no way to denote a codeBase for WARs which are deployed as unpackWARs=false. -- 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: r1665862 - in /tomcat/site/trunk: docs/bugreport.html xdocs/bugreport.xml
Author: kkolinko Date: Wed Mar 11 12:26:37 2015 New Revision: 1665862 URL: http://svn.apache.org/r1665862 Log: Describe how Tomcat documentation is built, to encourage submission of documentation patches. Modified: tomcat/site/trunk/docs/bugreport.html tomcat/site/trunk/xdocs/bugreport.xml Modified: tomcat/site/trunk/docs/bugreport.html URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/bugreport.html?rev=1665862&r1=1665861&r2=1665862&view=diff == --- tomcat/site/trunk/docs/bugreport.html (original) +++ tomcat/site/trunk/docs/bugreport.html Wed Mar 11 12:26:37 2015 @@ -897,23 +897,38 @@ bug in your web application. -Here are some references: +To patch and build Apache Tomcat see the following references: + -Regarding Apache Tomcat: - - - - Subversion repository structure of Apache Tomcat - + Read BUILDING.txt in the source distribution - + - - + + +To prepare a documentation patch: + + +Read section on building the documentation in BUILDING.txt file + in the source distribution. + Usually the documentation for a version of Tomcat is located in + webapps/docs/ directory in the source code and + can be built with ant build-docs command. + + +To build documentation it should be sufficient to have a Java runtime + and a copy of http://ant.apache.org/";>Apache Ant. Compiling + Tomcat code should be unnecessary. + + + +Generic references: + + Apache Software Foundation guildelines: Modified: tomcat/site/trunk/xdocs/bugreport.xml URL: http://svn.apache.org/viewvc/tomcat/site/trunk/xdocs/bugreport.xml?rev=1665862&r1=1665861&r2=1665862&view=diff == --- tomcat/site/trunk/xdocs/bugreport.xml (original) +++ tomcat/site/trunk/xdocs/bugreport.xml Wed Mar 11 12:26:37 2015 @@ -414,14 +414,28 @@ bug in your web application. command or svn diff or git diff command. - Here are some references: + To patch and build Apache Tomcat see the following references: + + +Subversion repository structure of Apache Tomcat +Read BUILDING.txt in the source distribution + + + To prepare a documentation patch: + + Read section on building the documentation in BUILDING.txt file + in the source distribution. + Usually the documentation for a version of Tomcat is located in + webapps/docs/ directory in the source code and + can be built with ant build-docs command. + + To build documentation it should be sufficient to have a Java runtime + and a copy of http://ant.apache.org/";>Apache Ant. Compiling + Tomcat code should be unnecessary. + + + Generic references: -Regarding Apache Tomcat: - -Subversion repository structure of Apache Tomcat -Read BUILDING.txt in the source distribution - - Apache Software Foundation guildelines: General http://www.apache.org/dev/version-control.html#anon-svn";>Apache - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 57653] APR/native crash during HTTP upgrade
https://bz.apache.org/bugzilla/show_bug.cgi?id=57653 Mark Thomas changed: What|Removed |Added Product|Tomcat 9|Tomcat Native Hardware|PC |Macintosh Component|Connectors |Library Version|unspecified |1.1.32 Target Milestone|- |--- --- Comment #5 from Mark Thomas --- I think I have got to the bottom of this. Looking at the docs for apr_pollset_poll [1], it states "Multiple signalled conditions for the same descriptor may be reported in one or more returned apr_pollfd_t structures, depending on the implementation.". The crash is occurring when the socket is registered for read and write. The tc-native code assumes that there is only ever one returned structure per descriptor. The unit test + modified code I am using just happens - if the timing is right - to register a socket for read and write which almost instantly becomes available for both. It looks like OSX rerurns mutiple apr_pollfd_t structures for mutliple events on the same descriptor and that triggers the crash. I've thrown together a quick patch to test this theory and the unit test has been running in a loop now for 20+ minutes without crashing so I am fairly confident this is the issue. [1] http://apr.apache.org/docs/apr/1.4/group__apr__poll.html#ga6b31d7b3a7b2d356370403dd2b79ecf3 -- 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: r1665888 - /tomcat/native/branches/1.1.x/native/src/poll.c
Author: markt Date: Wed Mar 11 14:44:23 2015 New Revision: 1665888 URL: http://svn.apache.org/r1665888 Log: Fix 57653. Crash when multiple events for same socket are returned via separate apr_pollfd_t structures Modified: tomcat/native/branches/1.1.x/native/src/poll.c Modified: tomcat/native/branches/1.1.x/native/src/poll.c URL: http://svn.apache.org/viewvc/tomcat/native/branches/1.1.x/native/src/poll.c?rev=1665888&r1=1665887&r2=1665888&view=diff == --- tomcat/native/branches/1.1.x/native/src/poll.c (original) +++ tomcat/native/branches/1.1.x/native/src/poll.c Wed Mar 11 14:44:23 2015 @@ -360,7 +360,13 @@ TCN_IMPLEMENT_CALL(jint, Poll, poll)(TCN tcn_socket_t *s = (tcn_socket_t *)fd->client_data; p->set[i*2+0] = (jlong)(fd->rtnevents); p->set[i*2+1] = P2J(s); -if (remove) { +/* If a socket is registered for multiple events and the poller has + multiple events to return it may do as a single pair in this + array or as multiple pairs depending on implementation. On OSX at + least, multiple pairs have been observed. In this case do not try + and remove socket from the pollset for a second time else a crash + will result. */ +if (remove && s->pe) { apr_pollset_remove(p->pollset, fd); APR_RING_REMOVE(s->pe, link); APR_RING_INSERT_TAIL(&p->dead_ring, s->pe, tcn_pfde_t, link); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: svn commit: r1665888 - /tomcat/native/branches/1.1.x/native/src/poll.c
On 11/03/2015 14:44, ma...@apache.org wrote: > Author: markt > Date: Wed Mar 11 14:44:23 2015 > New Revision: 1665888 > > URL: http://svn.apache.org/r1665888 > Log: > Fix 57653. Crash when multiple events for same socket are returned via > separate apr_pollfd_t structures Review appreciated from folks that understand C better than I do (i.e. pretty much anybody). Hopefully it is clear from the comment what I am trying to do here and why. Cheers, Mark > Modified: > tomcat/native/branches/1.1.x/native/src/poll.c > > Modified: tomcat/native/branches/1.1.x/native/src/poll.c > URL: > http://svn.apache.org/viewvc/tomcat/native/branches/1.1.x/native/src/poll.c?rev=1665888&r1=1665887&r2=1665888&view=diff > == > --- tomcat/native/branches/1.1.x/native/src/poll.c (original) > +++ tomcat/native/branches/1.1.x/native/src/poll.c Wed Mar 11 14:44:23 2015 > @@ -360,7 +360,13 @@ TCN_IMPLEMENT_CALL(jint, Poll, poll)(TCN > tcn_socket_t *s = (tcn_socket_t *)fd->client_data; > p->set[i*2+0] = (jlong)(fd->rtnevents); > p->set[i*2+1] = P2J(s); > -if (remove) { > +/* If a socket is registered for multiple events and the poller > has > + multiple events to return it may do as a single pair in this > + array or as multiple pairs depending on implementation. On > OSX at > + least, multiple pairs have been observed. In this case do not > try > + and remove socket from the pollset for a second time else a > crash > + will result. */ > +if (remove && s->pe) { > apr_pollset_remove(p->pollset, fd); > APR_RING_REMOVE(s->pe, link); > APR_RING_INSERT_TAIL(&p->dead_ring, s->pe, tcn_pfde_t, link); > > > > - > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 57653] APR/native crash during HTTP upgrade
https://bz.apache.org/bugzilla/show_bug.cgi?id=57653 --- Comment #6 from Rainer Jung --- I had a look at the origins of that APR comment: http://svn.apache.org/viewvc?view=revision&revision=748951 It was especialy added to allow for an APR internal optimization when used in combination with the kqueue pollset implementation. And kqueue is the default pollset implof APR on OSX (and BSD). Quoting: "Allow the kqueue pollset implementation to support checking both APR_POLLIN and APR_POLLOUT for the same descriptor. This requires separate kevent structures for both conditions. Importantly, if both conditions are present, they will be returned in separate apr_pollfd_t structures with this implementation (to avoid the cycles to coalesce into the minimal number of structures)." So that fits nicely with your "The crash is occurring when the socket is registered for read and write." OTOH that means it would not in an obvious way provide a reason if this problem occured on other platforms than OSX or BSD. Although the code comment doesn't limit itself to kqueue ... Regards, Rainer -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: svn commit: r1665888 - /tomcat/native/branches/1.1.x/native/src/poll.c
Am 11.03.2015 um 15:45 schrieb Mark Thomas: On 11/03/2015 14:44, ma...@apache.org wrote: Author: markt Date: Wed Mar 11 14:44:23 2015 New Revision: 1665888 URL: http://svn.apache.org/r1665888 Log: Fix 57653. Crash when multiple events for same socket are returned via separate apr_pollfd_t structures Review appreciated from folks that understand C better than I do (i.e. pretty much anybody). Hopefully it is clear from the comment what I am trying to do here and why. I guess it is more of a question of knowing the pollset and RING magic - which I don't really qualify for - but it looks good to me. Even if for the two fd with the same socket their client_data parts might not be identical, they should point to the same (identical) socket structure, so NULLing "pe" in the socket during the first fd occurence should work as a decision point for the second occurence. The only other case would be some fd which has a NUL s->pe from the beginning, but then the existing code would have also crashed though only after calling apr_pollset_remove(). So I guess that case is not possible. Nice finding. Regards, Rainer - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: svn commit: r1665682 - /tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java
Mark, On 3/10/15 4:44 PM, ma...@apache.org wrote: > Author: markt > Date: Tue Mar 10 20:44:56 2015 > New Revision: 1665682 > > URL: http://svn.apache.org/r1665682 > Log: > Follow-up to r1665297 > Correct output loop. Forgot to increment offset for subsequent writes. > > Modified: > tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java > > Modified: tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java > URL: > http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java?rev=1665682&r1=1665681&r2=1665682&view=diff > == > --- tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java > (original) > +++ tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java Tue > Mar 10 20:44:56 2015 > @@ -302,11 +302,11 @@ public class AjpNioProcessor extends Abs > ByteBuffer writeBuffer = > socketWrapper.getSocket().getBufHandler().getWriteBuffer(); > > -int left = length; > +int thisTime = 0; > int written = 0; > -while (left > 0) { > -int toWrite = Math.min(left, writeBuffer.remaining()); > -writeBuffer.put(src, offset, toWrite); > +while (written < length) { > +int toWrite = Math.min(length - written, > writeBuffer.remaining()); > +writeBuffer.put(src, offset + written, toWrite); > > writeBuffer.flip(); > > @@ -318,13 +318,13 @@ public class AjpNioProcessor extends Abs > //ignore > } > try { > -written = pool.write(writeBuffer, socketWrapper.getSocket(), > +thisTime = pool.write(writeBuffer, socketWrapper.getSocket(), > selector, writeTimeout, true); > } finally { > writeBuffer.clear(); > if ( selector != null ) pool.put(selector); > } > -left -= written; > +written += thisTime; > } > } This patch fixes my latest problem. (yay!) I'm not sure how I didn't catch the failure to update "offset" in the original patch. Thanks, -chris signature.asc Description: OpenPGP digital signature
Re: svn commit: r1665682 - /tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java
Mark, On 3/11/15 1:02 PM, Christopher Schultz wrote: > Mark, > > On 3/10/15 4:44 PM, ma...@apache.org wrote: >> Author: markt >> Date: Tue Mar 10 20:44:56 2015 >> New Revision: 1665682 >> >> URL: http://svn.apache.org/r1665682 >> Log: >> Follow-up to r1665297 >> Correct output loop. Forgot to increment offset for subsequent writes. >> >> Modified: >> tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java >> >> Modified: >> tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java >> URL: >> http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java?rev=1665682&r1=1665681&r2=1665682&view=diff >> == >> --- tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java >> (original) >> +++ tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java Tue >> Mar 10 20:44:56 2015 >> @@ -302,11 +302,11 @@ public class AjpNioProcessor extends Abs >> ByteBuffer writeBuffer = >> socketWrapper.getSocket().getBufHandler().getWriteBuffer(); >> >> -int left = length; >> +int thisTime = 0; >> int written = 0; >> -while (left > 0) { >> -int toWrite = Math.min(left, writeBuffer.remaining()); >> -writeBuffer.put(src, offset, toWrite); >> +while (written < length) { >> +int toWrite = Math.min(length - written, >> writeBuffer.remaining()); >> +writeBuffer.put(src, offset + written, toWrite); >> >> writeBuffer.flip(); >> >> @@ -318,13 +318,13 @@ public class AjpNioProcessor extends Abs >> //ignore >> } >> try { >> -written = pool.write(writeBuffer, socketWrapper.getSocket(), >> +thisTime = pool.write(writeBuffer, >> socketWrapper.getSocket(), >> selector, writeTimeout, true); >> } finally { >> writeBuffer.clear(); >> if ( selector != null ) pool.put(selector); >> } >> -left -= written; >> +written += thisTime; >> } >> } > > This patch fixes my latest problem. (yay!) > > I'm not sure how I didn't catch the failure to update "offset" in the > original patch. Can you give me a quick explanation of what's going on with writeBuffer.put()? Why is the second argument "offset + written" instead of just zero? Do I misunderstand the way that NIO buffers are used? If I were using a byte[] to buffer data, I'd usually fill up that buffer starting at offset=0, then "send" the data wherever, then treat the buffer as empty and start the copy targeted again as offset=0. Do NIO buffers also carry message-context information (such as exactly what the starting offset in the whole message the current contents of the buffer represent)? Thanks, -chris signature.asc Description: OpenPGP digital signature
Re: svn commit: r1665888 - /tomcat/native/branches/1.1.x/native/src/poll.c
Rainer, On 3/11/15 12:38 PM, Rainer Jung wrote: > Am 11.03.2015 um 15:45 schrieb Mark Thomas: >> On 11/03/2015 14:44, ma...@apache.org wrote: >>> Author: markt >>> Date: Wed Mar 11 14:44:23 2015 >>> New Revision: 1665888 >>> >>> URL: http://svn.apache.org/r1665888 >>> Log: >>> Fix 57653. Crash when multiple events for same socket are returned >>> via separate apr_pollfd_t structures >> >> Review appreciated from folks that understand C better than I do (i.e. >> pretty much anybody). Hopefully it is clear from the comment what I am >> trying to do here and why. > > I guess it is more of a question of knowing the pollset and RING magic - > which I don't really qualify for - but it looks good to me. +1 > Even if for > the two fd with the same socket their client_data parts might not be > identical, they should point to the same (identical) socket structure, > so NULLing "pe" in the socket during the first fd occurence should work > as a decision point for the second occurence. +1 Is it a problem to call apr_pollset_remove for that file descriptor if it's not actually in the pollset? That is, are remove operations idempotent? Would it be considered an error (at a higher level) to try to remove the same fd twice? > The only other case would be some fd which has a NUL s->pe from the > beginning, but then the existing code would have also crashed though > only after calling apr_pollset_remove(). So I guess that case is not > possible. +1 What you (Mark) have done is just avoid a seg fault when s->pe is NULL. What you haven't done (which might not actually be necessary) is solve any issue where this method shouldn't be called in the first place (i.e. state management). -chris signature.asc Description: OpenPGP digital signature
[Bug 57653] APR/native crash during HTTP upgrade
https://bz.apache.org/bugzilla/show_bug.cgi?id=57653 --- Comment #7 from Christopher Schultz --- Not knowing a great deal about the underlying issue... If the fd is registered for both READ and WRITE, and we get multiple "responses" from apr_pollset_poll, are those happening (somewhat) simultaneously in two separate threads? So one of them fetches the fd, then the other fetches the same fd, then one of them removes the fd, then the other tries to do that same thing? Or do we need to examine the return from apr_pollset_poll to find out if we got the READ versus WRITE notification and make sure it's the one we were expecting? -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 57653] APR/native crash during HTTP upgrade
https://bz.apache.org/bugzilla/show_bug.cgi?id=57653 --- Comment #8 from Mark Thomas --- (In reply to Christopher Schultz from comment #7) > Not knowing a great deal about the underlying issue... It is worth reading AprEndpoint.Poller.run() and the native implementation of poll() > If the fd is registered for both READ and WRITE, and we get multiple > "responses" from apr_pollset_poll, are those happening (somewhat) > simultaneously in two separate threads? No. > So one of them fetches the fd, then > the other fetches the same fd, then one of them removes the fd, then the > other tries to do that same thing? No. It happens sequentially in a single thread. > Or do we need to examine the return from apr_pollset_poll to find out if we > got the READ versus WRITE notification and make sure it's the one we were > expecting? That is handled in Poller.run() The fundamental problem is that poll() assumed that there would never be multiple notifications for the same socket. That assumption was not valid. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: svn commit: r1665682 - /tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java
On 11/03/2015 18:09, Christopher Schultz wrote: > Mark, > > On 3/11/15 1:02 PM, Christopher Schultz wrote: >> Mark, >> >> On 3/10/15 4:44 PM, ma...@apache.org wrote: >>> Author: markt >>> Date: Tue Mar 10 20:44:56 2015 >>> New Revision: 1665682 >>> >>> URL: http://svn.apache.org/r1665682 >>> Log: >>> Follow-up to r1665297 >>> Correct output loop. Forgot to increment offset for subsequent writes. >>> >>> Modified: >>> tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java >>> >>> Modified: >>> tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java >>> URL: >>> http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java?rev=1665682&r1=1665681&r2=1665682&view=diff >>> == >>> --- tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java >>> (original) >>> +++ tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java >>> Tue Mar 10 20:44:56 2015 >>> @@ -302,11 +302,11 @@ public class AjpNioProcessor extends Abs >>> ByteBuffer writeBuffer = >>> socketWrapper.getSocket().getBufHandler().getWriteBuffer(); >>> >>> -int left = length; >>> +int thisTime = 0; >>> int written = 0; >>> -while (left > 0) { >>> -int toWrite = Math.min(left, writeBuffer.remaining()); >>> -writeBuffer.put(src, offset, toWrite); >>> +while (written < length) { >>> +int toWrite = Math.min(length - written, >>> writeBuffer.remaining()); >>> +writeBuffer.put(src, offset + written, toWrite); >>> >>> writeBuffer.flip(); >>> >>> @@ -318,13 +318,13 @@ public class AjpNioProcessor extends Abs >>> //ignore >>> } >>> try { >>> -written = pool.write(writeBuffer, >>> socketWrapper.getSocket(), >>> +thisTime = pool.write(writeBuffer, >>> socketWrapper.getSocket(), >>> selector, writeTimeout, true); >>> } finally { >>> writeBuffer.clear(); >>> if ( selector != null ) pool.put(selector); >>> } >>> -left -= written; >>> +written += thisTime; >>> } >>> } >> >> This patch fixes my latest problem. (yay!) >> >> I'm not sure how I didn't catch the failure to update "offset" in the >> original patch. > > Can you give me a quick explanation of what's going on with > writeBuffer.put()? Why is the second argument "offset + written" instead > of just zero? Because it is the start point in src for the data you want to put into the writeBuffer. > Do I misunderstand the way that NIO buffers are used? Take a look at the Javadoc for put. The args are all about the source, not the destination. > If I were using a byte[] to buffer data, I'd usually fill up that buffer > starting at offset=0, then "send" the data wherever, then treat the > buffer as empty and start the copy targeted again as offset=0. That is what we are doing. I think you are confusing source and destination. > Do NIO buffers also carry message-context information (such as exactly > what the starting offset in the whole message the current contents of > the buffer represent)? Yes. Although the meaning varies depending on whether it has been flipped or not (which is why I ended up writing the wrapper around the I/O buffers to track it). Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 57674] BufferOverflowException in AjpNioProcessor when writing content larger than the underlying buffer
https://bz.apache.org/bugzilla/show_bug.cgi?id=57674 --- Comment #17 from Christopher Schultz --- Looks good in my test case. I'm re-enabling the configuration (by removing the socket.appWriteBufSize setting) in my development environment to see it under real use. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: svn commit: r1665888 - /tomcat/native/branches/1.1.x/native/src/poll.c
On 11/03/2015 18:13, Christopher Schultz wrote: > Rainer, > > On 3/11/15 12:38 PM, Rainer Jung wrote: >> Am 11.03.2015 um 15:45 schrieb Mark Thomas: >>> On 11/03/2015 14:44, ma...@apache.org wrote: Author: markt Date: Wed Mar 11 14:44:23 2015 New Revision: 1665888 URL: http://svn.apache.org/r1665888 Log: Fix 57653. Crash when multiple events for same socket are returned via separate apr_pollfd_t structures >>> >>> Review appreciated from folks that understand C better than I do (i.e. >>> pretty much anybody). Hopefully it is clear from the comment what I am >>> trying to do here and why. >> >> I guess it is more of a question of knowing the pollset and RING magic - >> which I don't really qualify for - but it looks good to me. > > +1 > >> Even if for >> the two fd with the same socket their client_data parts might not be >> identical, they should point to the same (identical) socket structure, >> so NULLing "pe" in the socket during the first fd occurence should work >> as a decision point for the second occurence. > > +1 > > Is it a problem to call apr_pollset_remove for that file descriptor if > it's not actually in the pollset? That is, are remove operations > idempotent? Would it be considered an error (at a higher level) to try > to remove the same fd twice? You get a return code indicating that the fd wasn't in the pollset. >> The only other case would be some fd which has a NUL s->pe from the >> beginning, but then the existing code would have also crashed though >> only after calling apr_pollset_remove(). So I guess that case is not >> possible. > > +1 > > What you (Mark) have done is just avoid a seg fault when s->pe is NULL. Which should never happen apart from in the case that we are trying to handle. > What you haven't done (which might not actually be necessary) is solve > any issue where this method shouldn't be called in the first place (i.e. > state management). I don't believe that is an issue. We could have tried to merge multiple returns for the one fd but that would have been a much more complicated patch. I'd rather deal with that in the Java code. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1665977 - /tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
Author: markt Date: Wed Mar 11 19:30:39 2015 New Revision: 1665977 URL: http://svn.apache.org/r1665977 Log: Return value is never checked. Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1665977&r1=1665976&r2=1665977&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Wed Mar 11 19:30:39 2015 @@ -1531,7 +1531,7 @@ public class AprEndpoint extends Abstrac * Remove specified socket from the pollers. Must only be called from * {@link Poller#run()}. */ -private boolean removeFromPoller(long socket) { +private void removeFromPoller(long socket) { if (log.isDebugEnabled()) { log.debug(sm.getString("endpoint.debug.pollerRemove", Long.valueOf(socket))); @@ -1552,7 +1552,6 @@ public class AprEndpoint extends Abstrac } } timeouts.remove(socket); -return (rv == Status.APR_SUCCESS); } /** - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1665976 - /tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
Author: markt Date: Wed Mar 11 19:30:34 2015 New Revision: 1665976 URL: http://svn.apache.org/r1665976 Log: Fix indent Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1665976&r1=1665975&r2=1665976&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Wed Mar 11 19:30:34 2015 @@ -1252,7 +1252,7 @@ public class AprEndpoint extends Abstrac // -- Poller Inner Class - public class Poller implements Runnable { +public class Poller implements Runnable { /** * Pointers to the pollers. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1665981 - /tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
Author: markt Date: Wed Mar 11 19:36:03 2015 New Revision: 1665981 URL: http://svn.apache.org/r1665981 Log: Avoid unexpected closure of the socket if the socket is first registered for one event and then later registered for another. Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1665981&r1=1665980&r2=1665981&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Wed Mar 11 19:36:03 2015 @@ -1708,6 +1708,12 @@ public class AprEndpoint extends Abstrac wrapper.pollerFlags = wrapper.pollerFlags | (info.read() ? Poll.APR_POLLIN : 0) | (info.write() ? Poll.APR_POLLOUT : 0); +// A socket can only be added to the poller +// once. Adding it twice will return an error +// which will close the socket. Therefore make +// sure the socket we are about to add isn't in +// the poller. +removeFromPoller(info.socket); if (!addToPoller(info.socket, wrapper.pollerFlags)) { closeSocket(info.socket); } else { - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1665980 - /tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
Author: markt Date: Wed Mar 11 19:35:58 2015 New Revision: 1665980 URL: http://svn.apache.org/r1665980 Log: If the socket is being destroyed, need to remove it from the addList as well. Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1665980&r1=1665979&r2=1665980&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Wed Mar 11 19:35:58 2015 @@ -1558,7 +1558,6 @@ public class AprEndpoint extends Abstrac * Timeout checks. Must only be called from {@link Poller#run()}. */ private synchronized void maintain() { - long date = System.currentTimeMillis(); // Maintain runs at most once every 1s, although it will likely get // called more @@ -1575,6 +1574,7 @@ public class AprEndpoint extends Abstrac } removeFromPoller(socket); destroySocket(socket); +addList.remove(socket); closeList.remove(socket); socket = timeouts.check(date); } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1665985 - /tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
Author: markt Date: Wed Mar 11 19:57:01 2015 New Revision: 1665985 URL: http://svn.apache.org/r1665985 Log: Tighten up the close code to reduce the chances of a socket being closed more than once. This also provides some plumbing required by the next commit to ensure that sockets are not registered for read or write once they have been closed. Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1665985&r1=1665984&r2=1665985&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Wed Mar 11 19:57:01 2015 @@ -935,19 +935,12 @@ public class AprEndpoint extends Abstrac } private void closeSocket(long socket) { -// If not running the socket will be destroyed by -// parent pool or acceptor socket. -// In any case disable double free which would cause JVM core. - -connections.remove(Long.valueOf(socket)); - -// While the connector is running, destroySocket() will call -// countDownConnection(). Once the connector is stopped, the latch is -// removed so it does not matter that destroySocket() does not call -// countDownConnection() in that case -Poller poller = this.poller; -if (poller != null) { -poller.close(socket); +// Once this is called, the mapping from socket to wrapper will no +// longer be required. +SocketWrapperBase wrapper = connections.remove(Long.valueOf(socket)); +if (wrapper != null) { +// Cast to avoid having to catch an IOE that is never thrown. +((AprSocketWrapper) wrapper).close(); } } @@ -2357,7 +2350,8 @@ public class AprEndpoint extends Abstrac private final ByteBuffer sslOutputBuffer; -private volatile boolean closed = false; +private final Object closedLock = new Object(); +private boolean closed = false; // This field should only be used by Poller#run() private int pollerFlags = 0; @@ -2537,9 +2531,15 @@ public class AprEndpoint extends Abstrac @Override public void close() { -closed = true; -// AbstractProcessor needs to trigger the close as multiple closes for -// APR/native sockets will cause problems. +synchronized (closedLock) { +// APR typically crashes if the same socket is closed twice so +// make sure that doesn't happen. +if (closed) { +return; +} +closed = true; +((AprEndpoint) getEndpoint()).getPoller().close(getSocket().longValue()); +} } @@ -2652,15 +2652,27 @@ public class AprEndpoint extends Abstrac @Override public void registerReadInterest() { -((AprEndpoint) getEndpoint()).getPoller().add( -getSocket().longValue(), -1, true, false); +// Make sure an already closed socket is not added to the poller +synchronized (closedLock) { +if (closed) { +return; +} +((AprEndpoint) getEndpoint()).getPoller().add( +getSocket().longValue(), -1, true, false); +} } @Override public void registerWriteInterest() { -((AprEndpoint) getEndpoint()).getPoller().add( -getSocket().longValue(), -1, false, true); +// Make sure an already closed socket is not added to the poller +synchronized (closedLock) { +if (closed) { +return; +} +((AprEndpoint) getEndpoint()).getPoller().add( +getSocket().longValue(), -1, false, true); +} } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1665986 - in /tomcat/trunk/java/org/apache: coyote/ajp/AjpAprProtocol.java coyote/http11/Http11AprProtocol.java tomcat/util/net/AprEndpoint.java
Author: markt Date: Wed Mar 11 19:57:07 2015 New Revision: 1665986 URL: http://svn.apache.org/r1665986 Log: Ensure all additions to the Poller go through the SocketWrapper so it can check if the socket has been closed first. Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java?rev=1665986&r1=1665985&r2=1665986&view=diff == --- tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java Wed Mar 11 19:57:07 2015 @@ -90,9 +90,8 @@ public class AjpAprProtocol extends Abst processor.recycle(); recycledProcessors.push(processor); if (addToPoller) { -((AprEndpoint)getProtocol().getEndpoint()).getPoller().add( -socket.getSocket().longValue(), -getProtocol().getEndpoint().getKeepAliveTimeout(), true, false); + socket.setReadTimeout(getProtocol().getEndpoint().getKeepAliveTimeout()); +socket.registerReadInterest(); } } } Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java?rev=1665986&r1=1665985&r2=1665986&view=diff == --- tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java Wed Mar 11 19:57:07 2015 @@ -221,9 +221,8 @@ public class Http11AprProtocol extends A processor.recycle(); recycledProcessors.push(processor); if (addToPoller && getProtocol().getEndpoint().isRunning()) { -((AprEndpoint)getProtocol().getEndpoint()).getPoller().add( -socket.getSocket().longValue(), -getProtocol().getEndpoint().getKeepAliveTimeout(), true, false); + socket.setReadTimeout(getProtocol().getEndpoint().getKeepAliveTimeout()); +socket.registerReadInterest(); } } @@ -262,7 +261,7 @@ public class Http11AprProtocol extends A // Connector has been stopped release(socket, processor, false); } else { -p.add(socket.getSocket().longValue(), -1, true, false); +socket.registerReadInterest(); } } } 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=1665986&r1=1665985&r2=1665986&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Wed Mar 11 19:57:07 2015 @@ -1461,7 +1461,7 @@ public class AprEndpoint extends Abstrac * @param read to do read polling * @param write to do write polling */ -public void add(long socket, int timeout, boolean read, boolean write) { +private void add(long socket, int timeout, boolean read, boolean write) { add(socket, timeout, (read ? Poll.APR_POLLIN : 0) | (write ? Poll.APR_POLLOUT : 0)); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1665988 - /tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
Author: markt Date: Wed Mar 11 20:01:23 2015 New Revision: 1665988 URL: http://svn.apache.org/r1665988 Log: Restore volatile for closed. Not all reads are inside a sync. Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1665988&r1=1665987&r2=1665988&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Wed Mar 11 20:01:23 2015 @@ -2351,7 +2351,7 @@ public class AprEndpoint extends Abstrac private final ByteBuffer sslOutputBuffer; private final Object closedLock = new Object(); -private boolean closed = false; +private volatile boolean closed = false; // This field should only be used by Poller#run() private int pollerFlags = 0; - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1665989 - /tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
Author: markt Date: Wed Mar 11 20:01:28 2015 New Revision: 1665989 URL: http://svn.apache.org/r1665989 Log: Add a comment Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1665989&r1=1665988&r2=1665989&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Wed Mar 11 20:01:28 2015 @@ -1512,6 +1512,11 @@ public class AprEndpoint extends Abstrac } +/* + * This is only called from the SocketWrapper to ensure that it is only + * called once per socket. Calling it more than once typically results + * in the JVM crash. + */ protected void close(long socket) { synchronized (this) { closeList.add(socket, 0, 0); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: svn commit: r1665682 - /tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java
Mark, On 3/11/15 2:57 PM, Mark Thomas wrote: > On 11/03/2015 18:09, Christopher Schultz wrote: >> Mark, >> >> On 3/11/15 1:02 PM, Christopher Schultz wrote: >>> Mark, >>> >>> On 3/10/15 4:44 PM, ma...@apache.org wrote: Author: markt Date: Tue Mar 10 20:44:56 2015 New Revision: 1665682 URL: http://svn.apache.org/r1665682 Log: Follow-up to r1665297 Correct output loop. Forgot to increment offset for subsequent writes. Modified: tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java Modified: tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java?rev=1665682&r1=1665681&r2=1665682&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java Tue Mar 10 20:44:56 2015 @@ -302,11 +302,11 @@ public class AjpNioProcessor extends Abs ByteBuffer writeBuffer = socketWrapper.getSocket().getBufHandler().getWriteBuffer(); -int left = length; +int thisTime = 0; int written = 0; -while (left > 0) { -int toWrite = Math.min(left, writeBuffer.remaining()); -writeBuffer.put(src, offset, toWrite); +while (written < length) { +int toWrite = Math.min(length - written, writeBuffer.remaining()); +writeBuffer.put(src, offset + written, toWrite); writeBuffer.flip(); @@ -318,13 +318,13 @@ public class AjpNioProcessor extends Abs //ignore } try { -written = pool.write(writeBuffer, socketWrapper.getSocket(), +thisTime = pool.write(writeBuffer, socketWrapper.getSocket(), selector, writeTimeout, true); } finally { writeBuffer.clear(); if ( selector != null ) pool.put(selector); } -left -= written; +written += thisTime; } } >>> >>> This patch fixes my latest problem. (yay!) >>> >>> I'm not sure how I didn't catch the failure to update "offset" in the >>> original patch. >> >> Can you give me a quick explanation of what's going on with >> writeBuffer.put()? Why is the second argument "offset + written" instead >> of just zero? > > Because it is the start point in src for the data you want to put into > the writeBuffer. > >> Do I misunderstand the way that NIO buffers are used? > > Take a look at the Javadoc for put. The args are all about the source, > not the destination. > >> If I were using a byte[] to buffer data, I'd usually fill up that buffer >> starting at offset=0, then "send" the data wherever, then treat the >> buffer as empty and start the copy targeted again as offset=0. > > That is what we are doing. I think you are confusing source and destination. Yes, definitely. I first wrote the above message, then things clarified in my brain and I discarded the message without sending it. Then, I went back to look at the patch and started scratching my head again and decided to ask. >> Do NIO buffers also carry message-context information (such as exactly >> what the starting offset in the whole message the current contents of >> the buffer represent)? > > Yes. Although the meaning varies depending on whether it has been > flipped or not (which is why I ended up writing the wrapper around the > I/O buffers to track it). Time to dive-into NIO, I think. I've got some Java code to contact a web resource, optionally POST/PUT data and then fetch the response. It doesn't know how to do 10-Continue and it won't check for a response until after it has sent the data (a classic "stupid" client we always complain about around here). The use of NIO can help, here, and I'm likely to use that as a motivating example for myself. At ApacheCon, don't be surprised if I ask you a bunch of questions about NIO ;) -chris signature.asc Description: OpenPGP digital signature
Re: svn commit: r1665989 - /tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
Mark, On 3/11/15 4:01 PM, ma...@apache.org wrote: > Author: markt > Date: Wed Mar 11 20:01:28 2015 > New Revision: 1665989 > > URL: http://svn.apache.org/r1665989 > Log: > Add a comment > > Modified: > tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java > > Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java > URL: > http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1665989&r1=1665988&r2=1665989&view=diff > == > --- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original) > +++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Wed Mar 11 > 20:01:28 2015 > @@ -1512,6 +1512,11 @@ public class AprEndpoint extends Abstrac > } > > > +/* > + * This is only called from the SocketWrapper to ensure that it is > only > + * called once per socket. Calling it more than once typically > results > + * in the JVM crash. > + */ > protected void close(long socket) { > synchronized (this) { > closeList.add(socket, 0, 0); Is there a reason to prefer synchronized(this) here to simply using a synchronized method? As for an architectural comment: if only the SocketWrapper should be calling that method, should the method not exist elsewhere... or with some other kind of access strategy? -chris signature.asc Description: OpenPGP digital signature
svn commit: r1665998 - /tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
Author: markt Date: Wed Mar 11 20:36:26 2015 New Revision: 1665998 URL: http://svn.apache.org/r1665998 Log: Review of r1665989 by schultz. Clean-up. Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1665998&r1=1665997&r2=1665998&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Wed Mar 11 20:36:26 2015 @@ -1517,11 +1517,9 @@ public class AprEndpoint extends Abstrac * called once per socket. Calling it more than once typically results * in the JVM crash. */ -protected void close(long socket) { -synchronized (this) { -closeList.add(socket, 0, 0); -this.notify(); -} +private synchronized void close(long socket) { +closeList.add(socket, 0, 0); +this.notify(); } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: svn commit: r1665989 - /tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
On 11/03/2015 20:27, Christopher Schultz wrote: > Mark, > > On 3/11/15 4:01 PM, ma...@apache.org wrote: >> Author: markt >> Date: Wed Mar 11 20:01:28 2015 >> New Revision: 1665989 >> >> URL: http://svn.apache.org/r1665989 >> Log: >> Add a comment >> >> Modified: >> tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java >> >> Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java >> URL: >> http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1665989&r1=1665988&r2=1665989&view=diff >> == >> --- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original) >> +++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Wed Mar 11 >> 20:01:28 2015 >> @@ -1512,6 +1512,11 @@ public class AprEndpoint extends Abstrac >> } >> >> >> +/* >> + * This is only called from the SocketWrapper to ensure that it is >> only >> + * called once per socket. Calling it more than once typically >> results >> + * in the JVM crash. >> + */ >> protected void close(long socket) { >> synchronized (this) { >> closeList.add(socket, 0, 0); > > Is there a reason to prefer synchronized(this) here to simply using a > synchronized method? Nope. Just poor clean up on my part. > As for an architectural comment: if only the SocketWrapper should be > calling that method, should the method not exist elsewhere... or with > some other kind of access strategy? I think the best I can do is make it private. Thanks for the review. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1666004 - /tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
Author: markt Date: Wed Mar 11 20:39:43 2015 New Revision: 1666004 URL: http://svn.apache.org/r1666004 Log: Increase the size of the descriptor array to handle the worst case (believed only to occur on BSD and OSX but there is a chance it may occur on other platforms). Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1666004&r1=1666003&r2=1666004&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Wed Mar 11 20:39:43 2015 @@ -1380,7 +1380,16 @@ public class AprEndpoint extends Abstrac pollerSpace[i] = actualPollerSize; } -desc = new long[actualPollerSize * 2]; +/* + * x2 - One descriptor for the socket, one for the event(s). + * x2 - Some APR implementations return multiple events for the + * same socket as different entries. Each socket is registered + * for a maximum of two events (read and write) at any one + * time. + * + * Therefore size is actual poller size *4. + */ +desc = new long[actualPollerSize * 4]; connectionCount.set(0); addList = new SocketList(defaultPollerSize); closeList = new SocketList(defaultPollerSize); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1666008 - /tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
Author: markt Date: Wed Mar 11 20:52:39 2015 New Revision: 1666008 URL: http://svn.apache.org/r1666008 Log: Clean-up Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1666008&r1=1666007&r2=1666008&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Wed Mar 11 20:52:39 2015 @@ -1739,9 +1739,8 @@ public class AprEndpoint extends Abstrac // Poll for the specified interval for (int i = 0; i < pollers.length; i++) { -// Flags to ask to reallocate the pool +// Flag to ask to reallocate the pool boolean reset = false; -//ArrayList skip = null; int rv = 0; // Iterate on each pollers, but no need to poll empty pollers - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1666013 - /tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
Author: markt Date: Wed Mar 11 21:06:53 2015 New Revision: 1666013 URL: http://svn.apache.org/r1666013 Log: Add a placeholder for the descriptor merging that is going to be necessary for OSX and BSD. Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1666013&r1=1666012&r2=1666013&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Wed Mar 11 21:06:53 2015 @@ -1759,6 +1759,7 @@ public class AprEndpoint extends Abstrac nextPollerTime += pollerTime; } if (rv > 0) { +rv = mergeDescriptors(desc, rv); pollerSpace[i] += rv; connectionCount.addAndGet(-rv); for (int n = 0; n < rv; n++) { @@ -1923,6 +1924,21 @@ public class AprEndpoint extends Abstrac this.notifyAll(); } } + + +private int mergeDescriptors(long[] desc, int startCount) { +if (OS.IS_BSD || OS.IS_MACOSX) { +// TODO Need to actually implement merging of the descriptors here. +// I'm currently thinking quicksort followed by running +// through the sorted list to merge the events. +return startCount; +} else { +// Other OS's do not (as far as it is known) return multiple +// entries for the same socket when the socket is registered for +// multiple events. +return startCount; +} +} } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1666017 - /tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
Author: markt Date: Wed Mar 11 21:35:39 2015 New Revision: 1666017 URL: http://svn.apache.org/r1666017 Log: Implement the merging. I opted for certain clarity over the possible speed improvement of a more 'hands-on' implementation. Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1666017&r1=1666016&r2=1666017&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Wed Mar 11 21:35:39 2015 @@ -1928,10 +1928,22 @@ public class AprEndpoint extends Abstrac private int mergeDescriptors(long[] desc, int startCount) { if (OS.IS_BSD || OS.IS_MACOSX) { -// TODO Need to actually implement merging of the descriptors here. -// I'm currently thinking quicksort followed by running -// through the sorted list to merge the events. -return startCount; +/* + * Notes: Only the first startCount * 2 elements of the array + *are populated. + *The array is event, socket, event, socket etc. + */ +HashMap merged = new HashMap<>(startCount); +for (int n = 0; n < startCount; n++) { +merged.merge(Long.valueOf(desc[2*n+1]), Long.valueOf(desc[2*n]), +(v1, v2) -> Long.valueOf(v1.longValue() | v2.longValue())); +} +int i = 0; +for (Map.Entry entry : merged.entrySet()) { +desc[i++] = entry.getValue().longValue(); +desc[i++] = entry.getKey().longValue(); +} +return merged.size(); } else { // Other OS's do not (as far as it is known) return multiple // entries for the same socket when the socket is registered for - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1666024 - /tomcat/trunk/webapps/examples/WEB-INF/classes/async/AsyncStockServlet.java
Author: markt Date: Wed Mar 11 22:08:21 2015 New Revision: 1666024 URL: http://svn.apache.org/r1666024 Log: Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=57683 An aborted request (the only way for the client to disconnect) should not stop the example from working for future requests. Modified: tomcat/trunk/webapps/examples/WEB-INF/classes/async/AsyncStockServlet.java Modified: tomcat/trunk/webapps/examples/WEB-INF/classes/async/AsyncStockServlet.java URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/examples/WEB-INF/classes/async/AsyncStockServlet.java?rev=1666024&r1=1666023&r2=1666024&view=diff == --- tomcat/trunk/webapps/examples/WEB-INF/classes/async/AsyncStockServlet.java (original) +++ tomcat/trunk/webapps/examples/WEB-INF/classes/async/AsyncStockServlet.java Wed Mar 11 22:08:21 2015 @@ -72,7 +72,11 @@ public class AsyncStockServlet extends H Iterator it = clients.iterator(); while (it.hasNext()) { AsyncContext actx = it.next(); -writeStock(actx, stock); +try { +writeStock(actx, stock); +} catch (Exception e) { +// Ignore. The async error handling will deal with this. +} } } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1666027 - in /tomcat/tc8.0.x/trunk: ./ webapps/docs/changelog.xml webapps/examples/WEB-INF/classes/async/AsyncStockServlet.java
Author: markt Date: Wed Mar 11 22:17:04 2015 New Revision: 1666027 URL: http://svn.apache.org/r1666027 Log: Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=57683 An aborted request (the only way for the client to disconnect) should not stop the example from working for future requests. Modified: tomcat/tc8.0.x/trunk/ (props changed) tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml tomcat/tc8.0.x/trunk/webapps/examples/WEB-INF/classes/async/AsyncStockServlet.java Propchange: tomcat/tc8.0.x/trunk/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Mar 11 22:17:04 2015 @@ -1 +1 @@ -/tomcat/trunk:1636524,1637156,1637176,1637188,1637331,1637684,1637695,1638720-1638725,1639653,1640010,1640083-1640084,1640088,1640275,1640322,1640347,1640361,1640365,1640403,1640410,1640652,1640655-1640658,1640688,1640700-1640883,1640903,1640976,1640978,1641000,1641026,1641038-1641039,1641051-1641052,1641058,1641064,1641300,1641369,1641374,1641380,1641486,1641634,1641656-1641692,1641704,1641707-1641718,1641720-1641722,1641735,1641981,1642233,1642280,1642554,1642564,1642595,1642606,1642668,1642679,1642697,1642699,1642766,1643002,1643045,1643054-1643055,1643066,1643121,1643128,1643206,1643209-1643210,1643216,1643249,1643270,1643283,1643309-1643310,1643323,1643365-1643366,1643370-1643371,1643465,1643474,1643536,1643570,1643634,1643649,1643651,1643654,1643675,1643731,1643733-1643734,1643761,1643766,1643814,1643937,1643963,1644017,1644169,1644201-1644203,1644321,1644323,1644516,1644523,1644529,1644535,1644730,1644768,1644784-1644785,1644790,1644793,1644815,1644884,1644886,1644890,1644892 ,1644910,1644924,1644929-1644930,1644935,1644989,1645011,1645247,1645355,1645357-1645358,1645455,1645465,1645469,1645471,1645473,1645475,1645486-1645488,1645626,1645641,1645685,1645743,1645763,1645951-1645953,1645955,1645993,1646098-1646106,1646178,1646220,1646302,1646304,1646420,1646470-1646471,1646476,1646559,1646717-1646723,1646773,1647026,1647042,1647530,1647655,1648304,1648815,1648907,1650081,1650365,1651116,1651120,1651280,1651470,1652938,1652970,1653041,1653471,1653550,1653574,1653797,1653815-1653816,1653819,1653840,1653857,1653888,1653972,1654013,1654030,1654050,1654123,1654148,1654159,1654513,1654515,1654517,1654522,1654524,1654725,1654735,1654766,1654785,1654851-1654852,1654978,1655122-1655124,1655126-1655127,1655129-1655130,1655132-1655133,1655312,1655438,1655441,1655454,168,1656087,1656299,1656319,1656331,1656345,1656350,1656590,1656648-1656650,1656657,1657041,1657054,1657374,1657492,1657510,1657565,1657580,1657584,1657586,1657589,1657592,1657607,1657609,1657682,1657 907,1658207,1658734,1658781,1658790,1658799,1658802,1658804,1658833,1658840,1658966,1659043,1659053,1659059,1659188-1659189,1659216,1659263,1659293,1659304,1659306-1659307,1659382,1659384,1659428,1659471,1659486,1659505,1659516,1659521,1659524,1659559,1659562,1659803,1659806,1659814,1659833,1659862,1659905,1659919,1659948,1659967,1659983-1659984,1660060,1660074,1660077,1660133,1660168,1660331-1660332,1660353,1660358,1660924,1661386,1661867,1661972,1661990,1662200,1662308-1662309,1662548,1662614,1662736,1662985,1662988-1662989,1663264,1663277,1663298,1663324,1663534,1663562,1663676,1663715,1663754,1663768,1663772,1663781,1663893,1663995,1664143,1664163,1664174,1664301,1664317,1664347,1664657,1664659,1664710,1664863-1664864,1664866,1665085,1665292,1665661,1665779 +/tomcat/trunk:1636524,1637156,1637176,1637188,1637331,1637684,1637695,1638720-1638725,1639653,1640010,1640083-1640084,1640088,1640275,1640322,1640347,1640361,1640365,1640403,1640410,1640652,1640655-1640658,1640688,1640700-1640883,1640903,1640976,1640978,1641000,1641026,1641038-1641039,1641051-1641052,1641058,1641064,1641300,1641369,1641374,1641380,1641486,1641634,1641656-1641692,1641704,1641707-1641718,1641720-1641722,1641735,1641981,1642233,1642280,1642554,1642564,1642595,1642606,1642668,1642679,1642697,1642699,1642766,1643002,1643045,1643054-1643055,1643066,1643121,1643128,1643206,1643209-1643210,1643216,1643249,1643270,1643283,1643309-1643310,1643323,1643365-1643366,1643370-1643371,1643465,1643474,1643536,1643570,1643634,1643649,1643651,1643654,1643675,1643731,1643733-1643734,1643761,1643766,1643814,1643937,1643963,1644017,1644169,1644201-1644203,1644321,1644323,1644516,1644523,1644529,1644535,1644730,1644768,1644784-1644785,1644790,1644793,1644815,1644884,1644886,1644890,1644892 ,1644910,1644924,1644929-1644930,1644935,1644989,1645011,1645247,1645355,1645357-1645358,1645455,1645465,1645469,1645471,1645473,1645475,1645486-1645488,1645626,1645641,1645685,1645743,1645763,1645951-1645953,1645955,1645993,1646098-1646106,1646178,1646220,1646302,1646304,1646420,1646470-1646471,1646476,1646559,1646717-1646723,1646773,1647026,1647042,1647530,1647655,1648304,1648815,1648907,1650081,1650365,1651116,1651120,1651280,1651470,1652938,1652970,1653041,1653471,1653550,1653574,1653797,1653815-1653816,1653819,1653840,1653857,165
svn commit: r1666028 - in /tomcat/tc7.0.x/trunk: ./ webapps/docs/changelog.xml webapps/examples/WEB-INF/classes/async/AsyncStockServlet.java
Author: markt Date: Wed Mar 11 22:18:50 2015 New Revision: 1666028 URL: http://svn.apache.org/r1666028 Log: Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=57683 An aborted request (the only way for the client to disconnect) should not stop the example from working for future requests. Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml tomcat/tc7.0.x/trunk/webapps/examples/WEB-INF/classes/async/AsyncStockServlet.java Propchange: tomcat/tc7.0.x/trunk/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Mar 11 22:18:50 2015 @@ -1,2 +1,2 @@ -/tomcat/tc8.0.x/trunk:1636525,1637336,1637685,1637709,1638726,1640089,1640276,1640349,1640363,1640366,1640642,1640672,1640674,1640689,1640884,1641001,1641065,1641067,1641375,1641638,1641723,1641726,1641729-1641730,1641736,1641988,1642669-1642670,1642698,1642701,1643205,1643215,1643217,1643230,1643232,1643273,1643285,1643329-1643330,1643511,1643513,1643521,1643539,1643571,1643581-1643582,1643635,1643655,1643738,1643964,1644018,1644333,1644954,1644992,1645014,1645360,1645456,1645627,1645642,1645686,1645903-1645904,1645908-1645909,1645913,1645920,1646458,1646460-1646462,1647043,1648816,1651420-1651422,1651844,1652939-1652940,1652973,1653798,1653817,1653841,1654042,1654161,1654736,1654767,1654787,1656592,1662986,1663265,1663278,1663325,1663535,1663567,1663679,1663997,1664175,1664321,1664872,1665061,1665086 -/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-1222329,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,1346365,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,1 352661,1352663,1352788,1352799,1353087,1353125,1353240,1353261,1353414,1353468,1353501,1353581,1353708,1354137,1354170,1354197,1354255,1354362,1354375,1354469,1354664,1354685,1354817,1354847,1354856,1355726,1355810,1356006-1356007,1356014,1356045,1356125,1356422,1356505,1356898,1357042,1357401,1357407,1358586,1358590,1358612-1358613,1359102,1359340,1359981,1360059,1360455,1360460,1360838,1360847,1360892,1360942,1361263,1361430,1361754-1361755,1361762,1361769,1361772,1361962,1361982,1361985
[Bug 57683] Crash of stockticket async example caused by an aborted client request
https://bz.apache.org/bugzilla/show_bug.cgi?id=57683 Mark Thomas changed: What|Removed |Added Resolution|--- |FIXED Status|NEW |RESOLVED OS||All --- Comment #1 from Mark Thomas --- Fixed in trunk 8.0.x (for 8.0.21 onwards) and 7.0.x (for 7.0.60 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
[GUMP@vmgump]: Project tomcat-tc8.0.x-test-apr (in module tomcat-8.0.x) failed
To whom it may engage... This is an automated request, but not an unsolicited one. For more information please visit http://gump.apache.org/nagged.html, and/or contact the folk at gene...@gump.apache.org. Project tomcat-tc8.0.x-test-apr has an issue affecting its community integration. This issue affects 1 projects. The current state of this project is 'Failed', with reason 'Build Failed'. For reference only, the following projects are affected by this: - tomcat-tc8.0.x-test-apr : Tomcat 8.x, a web server implementing the Java Servlet 3.1, ... Full details are available at: http://vmgump.apache.org/gump/public/tomcat-8.0.x/tomcat-tc8.0.x-test-apr/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -DEBUG- Dependency on commons-daemon exists, no need to add for property commons-daemon.native.src.tgz. -DEBUG- Dependency on commons-daemon exists, no need to add for property tomcat-native.tar.gz. -INFO- Failed with reason build failed -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-8.0.x/output/logs-APR -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-8.0.x/output/test-tmp-APR/logs The following work was performed: http://vmgump.apache.org/gump/public/tomcat-8.0.x/tomcat-tc8.0.x-test-apr/gump_work/build_tomcat-8.0.x_tomcat-tc8.0.x-test-apr.html Work Name: build_tomcat-8.0.x_tomcat-tc8.0.x-test-apr (Type: Build) Work ended in a state of : Failed Elapsed: 58 mins 9 secs Command Line: /usr/lib/jvm/java-8-oracle/bin/java -Djava.awt.headless=true -Dbuild.sysclasspath=only org.apache.tools.ant.Main -Dgump.merge=/srv/gump/public/gump/work/merge.xml -Djunit.jar=/srv/gump/public/workspace/junit/target/junit-4.13-SNAPSHOT.jar -Dobjenesis.jar=/srv/gump/public/workspace/objenesis/main/target/objenesis-2.2-SNAPSHOT.jar -Dtest.reports=output/logs-APR -Dtomcat-native.tar.gz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20150311-native-src.tar.gz -Dexamples.sources.skip=true -Djdt.jar=/srv/gump/packages/eclipse/plugins/R-4.4-201406061215/ecj-4.4.jar -Dtest.apr.loc=/srv/gump/public/workspace/tomcat-native/dest-20150311/lib -Dcommons-daemon.jar=/srv/gump/public/workspace/apache-commons/daemon/dist/commons-daemon-20150311.jar -Dcommons-daemon.native.src.tgz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20150311-native-src.tar.gz -Dtest.temp=output/test-tmp-APR -Dtest.accesslog=true -Dexecute.test.nio=false -Dtest .openssl.path=/srv/gump/public/workspace/openssl-1.0.2/dest-20150311/bin/openssl -Dexecute.test.apr=true -Dexecute.test.bio=false -Dexecute.test.nio2=false -Deasymock.jar=/srv/gump/public/workspace/easymock/easymock/target/easymock-3.4-SNAPSHOT.jar -Dhamcrest.jar=/srv/gump/packages/hamcrest/hamcrest-core-1.3.jar -Dcglib.jar=/srv/gump/packages/cglib/cglib-nodep-2.2.jar test [Working Directory: /srv/gump/public/workspace/tomcat-8.0.x] CLASSPATH: /usr/lib/jvm/java-8-oracle/lib/tools.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/webapps/examples/WEB-INF/classes:/srv/gump/public/workspace/tomcat-8.0.x/output/testclasses:/srv/gump/public/workspace/ant/dist/lib/ant.jar:/srv/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/srv/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit4.jar:/srv/gump/public/workspace/ant/dist/lib/ant-swing.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-xalan2.jar:/srv/gump/public/workspace/xml-commons/java/build/resolver.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/bin/bootstrap.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/bin/tomcat-juli.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/annotations-api.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/servlet-api.ja r:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/jsp-api.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/el-api.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/websocket-api.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/catalina.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/catalina-ant.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/catalina-storeconfig.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/tomcat-coyote.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/jasper.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/jasper-el.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/catalina-tribes.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/catalina-ha.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/tomcat-api.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/tomcat-jni.jar:/srv/gump/public/
[GUMP@vmgump]: Project tomcat-trunk-test-nio (in module tomcat-trunk) failed
To whom it may engage... This is an automated request, but not an unsolicited one. For more information please visit http://gump.apache.org/nagged.html, and/or contact the folk at gene...@gump.apache.org. Project tomcat-trunk-test-nio has an issue affecting its community integration. This issue affects 1 projects. The current state of this project is 'Failed', with reason 'Build Timed Out'. For reference only, the following projects are affected by this: - tomcat-trunk-test-nio : Tomcat 9.x, a web server implementing the Java Servlet 4.0, ... Full details are available at: http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-test-nio/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -DEBUG- Dependency on commons-daemon exists, no need to add for property commons-daemon.native.src.tgz. -DEBUG- Dependency on commons-daemon exists, no need to add for property tomcat-native.tar.gz. -INFO- Failed with reason build timed out -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-trunk/output/logs-NIO -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-trunk/output/test-tmp-NIO/logs The following work was performed: http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-test-nio/gump_work/build_tomcat-trunk_tomcat-trunk-test-nio.html Work Name: build_tomcat-trunk_tomcat-trunk-test-nio (Type: Build) Work ended in a state of : Failed Elapsed: 1 hour 10 secs Command Line: /usr/lib/jvm/java-8-oracle/bin/java -Djava.awt.headless=true -Dbuild.sysclasspath=only org.apache.tools.ant.Main -Dgump.merge=/srv/gump/public/gump/work/merge.xml -Djunit.jar=/srv/gump/public/workspace/junit/target/junit-4.13-SNAPSHOT.jar -Dobjenesis.jar=/srv/gump/public/workspace/objenesis/main/target/objenesis-2.2-SNAPSHOT.jar -Dtest.reports=output/logs-NIO -Dtomcat-native.tar.gz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20150311-native-src.tar.gz -Dexamples.sources.skip=true -Djdt.jar=/srv/gump/packages/eclipse/plugins/R-4.4-201406061215/ecj-4.4.jar -Dcommons-daemon.jar=/srv/gump/public/workspace/apache-commons/daemon/dist/commons-daemon-20150311.jar -Dcommons-daemon.native.src.tgz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20150311-native-src.tar.gz -Dtest.temp=output/test-tmp-NIO -Dtest.accesslog=true -Dexecute.test.nio=true -Dtest.openssl.path=/srv/gump/public/workspace/openssl/dest-20150311/bin/openssl -Dexecute.test.apr=false -Dexecute.test.nio2=false -Deasymock.jar=/srv/gump/public/workspace/easymock/easymock/target/easymock-3.4-SNAPSHOT.jar -Dhamcrest.jar=/srv/gump/packages/hamcrest/hamcrest-core-1.3.jar -Dcglib.jar=/srv/gump/packages/cglib/cglib-nodep-2.2.jar test [Working Directory: /srv/gump/public/workspace/tomcat-trunk] CLASSPATH: /usr/lib/jvm/java-8-oracle/lib/tools.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/webapps/examples/WEB-INF/classes:/srv/gump/public/workspace/tomcat-trunk/output/testclasses:/srv/gump/public/workspace/ant/dist/lib/ant.jar:/srv/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/srv/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit4.jar:/srv/gump/public/workspace/ant/dist/lib/ant-swing.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-xalan2.jar:/srv/gump/public/workspace/xml-commons/java/build/resolver.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/bin/bootstrap.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/bin/tomcat-juli.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/annotations-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/servlet-api.ja r:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jsp-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/el-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/websocket-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-ant.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-storeconfig.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/tomcat-coyote.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jasper.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jasper-el.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-tribes.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-ha.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/tomcat-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/tomcat-jni.jar:/srv/gump/public/workspace/tomcat-trunk/output/bu ild/lib/tomcat-spdy.jar:/srv/gump/public/workspace/tomcat-trunk/output/build
[GUMP@vmgump]: Project tomcat-tc8.0.x-test-nio (in module tomcat-8.0.x) failed
To whom it may engage... This is an automated request, but not an unsolicited one. For more information please visit http://gump.apache.org/nagged.html, and/or contact the folk at gene...@gump.apache.org. Project tomcat-tc8.0.x-test-nio has an issue affecting its community integration. This issue affects 1 projects. The current state of this project is 'Failed', with reason 'Build Failed'. For reference only, the following projects are affected by this: - tomcat-tc8.0.x-test-nio : Tomcat 8.x, a web server implementing the Java Servlet 3.1, ... Full details are available at: http://vmgump.apache.org/gump/public/tomcat-8.0.x/tomcat-tc8.0.x-test-nio/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -DEBUG- Dependency on commons-daemon exists, no need to add for property commons-daemon.native.src.tgz. -DEBUG- Dependency on commons-daemon exists, no need to add for property tomcat-native.tar.gz. -INFO- Failed with reason build failed -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-8.0.x/output/logs-NIO -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-8.0.x/output/test-tmp-NIO/logs The following work was performed: http://vmgump.apache.org/gump/public/tomcat-8.0.x/tomcat-tc8.0.x-test-nio/gump_work/build_tomcat-8.0.x_tomcat-tc8.0.x-test-nio.html Work Name: build_tomcat-8.0.x_tomcat-tc8.0.x-test-nio (Type: Build) Work ended in a state of : Failed Elapsed: 59 mins 16 secs Command Line: /usr/lib/jvm/java-8-oracle/bin/java -Djava.awt.headless=true -Dbuild.sysclasspath=only org.apache.tools.ant.Main -Dgump.merge=/srv/gump/public/gump/work/merge.xml -Djunit.jar=/srv/gump/public/workspace/junit/target/junit-4.13-SNAPSHOT.jar -Dobjenesis.jar=/srv/gump/public/workspace/objenesis/main/target/objenesis-2.2-SNAPSHOT.jar -Dtest.reports=output/logs-NIO -Dtomcat-native.tar.gz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20150311-native-src.tar.gz -Dexamples.sources.skip=true -Djdt.jar=/srv/gump/packages/eclipse/plugins/R-4.4-201406061215/ecj-4.4.jar -Dcommons-daemon.jar=/srv/gump/public/workspace/apache-commons/daemon/dist/commons-daemon-20150311.jar -Dcommons-daemon.native.src.tgz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20150311-native-src.tar.gz -Dtest.temp=output/test-tmp-NIO -Dtest.accesslog=true -Dexecute.test.nio=true -Dtest.openssl.path=/srv/gump/public/workspace/openssl-1.0.2/dest-20150311/bin/op enssl -Dexecute.test.apr=false -Dexecute.test.bio=false -Dexecute.test.nio2=false -Deasymock.jar=/srv/gump/public/workspace/easymock/easymock/target/easymock-3.4-SNAPSHOT.jar -Dhamcrest.jar=/srv/gump/packages/hamcrest/hamcrest-core-1.3.jar -Dcglib.jar=/srv/gump/packages/cglib/cglib-nodep-2.2.jar test [Working Directory: /srv/gump/public/workspace/tomcat-8.0.x] CLASSPATH: /usr/lib/jvm/java-8-oracle/lib/tools.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/webapps/examples/WEB-INF/classes:/srv/gump/public/workspace/tomcat-8.0.x/output/testclasses:/srv/gump/public/workspace/ant/dist/lib/ant.jar:/srv/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/srv/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit4.jar:/srv/gump/public/workspace/ant/dist/lib/ant-swing.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-xalan2.jar:/srv/gump/public/workspace/xml-commons/java/build/resolver.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/bin/bootstrap.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/bin/tomcat-juli.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/annotations-api.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/servlet-api.ja r:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/jsp-api.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/el-api.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/websocket-api.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/catalina.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/catalina-ant.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/catalina-storeconfig.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/tomcat-coyote.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/jasper.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/jasper-el.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/catalina-tribes.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/catalina-ha.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/tomcat-api.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/tomcat-jni.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/bu ild/lib/tomcat-spdy.jar:/srv/gump/pub
svn commit: r1666062 - /tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/DomainFilterInterceptor.java
Author: kfujino Date: Thu Mar 12 02:14:08 2015 New Revision: 1666062 URL: http://svn.apache.org/r1666062 Log: Make sure that refuse the messages from a different domain in DomainFilterInterceptor. Modified: tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/DomainFilterInterceptor.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/DomainFilterInterceptor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/DomainFilterInterceptor.java?rev=1666062&r1=1666061&r2=1666062&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/DomainFilterInterceptor.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/DomainFilterInterceptor.java Thu Mar 12 02:14:08 2015 @@ -41,8 +41,12 @@ public class DomainFilterInterceptor ext @Override public void messageReceived(ChannelMessage msg) { -//should we filter incoming based on domain? -super.messageReceived(msg); +if (Arrays.equals(domain, msg.getAddress().getDomain())) { +super.messageReceived(msg); +} else { +if (log.isWarnEnabled()) +log.warn("Received message from cluster["+msg.getAddress()+"] was refused."); +} }//messageReceived - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1666063 - /tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java
Author: kfujino Date: Thu Mar 12 02:16:15 2015 New Revision: 1666063 URL: http://svn.apache.org/r1666063 Log: Remove unnecessary method that always returns true. The domain filtering works on DomainFilterInterceptor. Modified: tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java Modified: tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java?rev=1666063&r1=1666062&r2=1666063&view=diff == --- tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java (original) +++ tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java Thu Mar 12 02:16:15 2015 @@ -1179,22 +1179,6 @@ public class DeltaManager extends Cluste // message receive /** - * Test that sender and local domain is the same - */ -protected boolean checkSenderDomain(SessionMessage msg,Member sender) { -boolean sameDomain= true; -if (!sameDomain && log.isWarnEnabled()) { - log.warn(sm.getString("deltaManager.receiveMessage.fromWrongDomain", - new Object[] {getName(), - msg.getEventTypeString(), - sender, - "", - "" })); -} -return sameDomain ; -} - -/** * This method is called by the received thread when a SessionMessage has * been received from one of the other nodes in the cluster. * @@ -1206,9 +1190,6 @@ public class DeltaManager extends Cluste *requesting node */ protected void messageReceived(SessionMessage msg, Member sender) { -if(!checkSenderDomain(msg,sender)) { -return; -} ClassLoader contextLoader = Thread.currentThread().getContextClassLoader(); try { - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1666064 - /tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/DomainFilterInterceptor.java
Author: kfujino Date: Thu Mar 12 02:24:10 2015 New Revision: 1666064 URL: http://svn.apache.org/r1666064 Log: Make sure that refuse the messages from a different domain in DomainFilterInterceptor. Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/DomainFilterInterceptor.java Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/DomainFilterInterceptor.java URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/DomainFilterInterceptor.java?rev=1666064&r1=1666063&r2=1666064&view=diff == --- tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/DomainFilterInterceptor.java (original) +++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/DomainFilterInterceptor.java Thu Mar 12 02:24:10 2015 @@ -41,8 +41,12 @@ public class DomainFilterInterceptor ext @Override public void messageReceived(ChannelMessage msg) { -//should we filter incoming based on domain? -super.messageReceived(msg); +if (Arrays.equals(domain, msg.getAddress().getDomain())) { +super.messageReceived(msg); +} else { +if (log.isWarnEnabled()) +log.warn("Received message from cluster["+msg.getAddress()+"] was refused."); +} }//messageReceived - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1666065 - /tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml
Author: kfujino Date: Thu Mar 12 02:26:27 2015 New Revision: 1666065 URL: http://svn.apache.org/r1666065 Log: Add changelog entry for r1666064. Modified: tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml Modified: tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml?rev=1666065&r1=1666064&r2=1666065&view=diff == --- tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml Thu Mar 12 02:26:27 2015 @@ -232,6 +232,10 @@ When a map member has been added to ReplicatedMap, make sure to add it to backup nodes list of all other members. (kfujino) + +Make sure that refuse the messages from a different domain in +DomainFilterInterceptor. (kfujino) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1666066 - in /tomcat/tc8.0.x/trunk: java/org/apache/catalina/ha/session/DeltaManager.java webapps/docs/changelog.xml
Author: kfujino Date: Thu Mar 12 02:28:42 2015 New Revision: 1666066 URL: http://svn.apache.org/r1666066 Log: Remove unnecessary method that always returns true. The domain filtering works on DomainFilterInterceptor. Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/session/DeltaManager.java tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/session/DeltaManager.java URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/session/DeltaManager.java?rev=1666066&r1=1666065&r2=1666066&view=diff == --- tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/session/DeltaManager.java (original) +++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/session/DeltaManager.java Thu Mar 12 02:28:42 2015 @@ -1178,22 +1178,6 @@ public class DeltaManager extends Cluste // message receive /** - * Test that sender and local domain is the same - */ -protected boolean checkSenderDomain(SessionMessage msg,Member sender) { -boolean sameDomain= true; -if (!sameDomain && log.isWarnEnabled()) { - log.warn(sm.getString("deltaManager.receiveMessage.fromWrongDomain", - new Object[] {getName(), - msg.getEventTypeString(), - sender, - "", - "" })); -} -return sameDomain ; -} - -/** * This method is called by the received thread when a SessionMessage has * been received from one of the other nodes in the cluster. * @@ -1205,9 +1189,6 @@ public class DeltaManager extends Cluste *requesting node */ protected void messageReceived(SessionMessage msg, Member sender) { -if(!checkSenderDomain(msg,sender)) { -return; -} ClassLoader contextLoader = Thread.currentThread().getContextClassLoader(); try { Modified: tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml?rev=1666066&r1=1666065&r2=1666066&view=diff == --- tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml Thu Mar 12 02:28:42 2015 @@ -188,6 +188,14 @@ + + + +Remove unnecessary method that always returns true. The domain filtering +works on DomainFilterInterceptor. (kfujino) + + + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1666070 - in /tomcat/tc7.0.x/trunk: java/org/apache/catalina/tribes/group/interceptors/DomainFilterInterceptor.java webapps/docs/changelog.xml
Author: kfujino Date: Thu Mar 12 02:44:00 2015 New Revision: 1666070 URL: http://svn.apache.org/r1666070 Log: Make sure that refuse the messages from a different domain in DomainFilterInterceptor. Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/DomainFilterInterceptor.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/DomainFilterInterceptor.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/DomainFilterInterceptor.java?rev=1666070&r1=1666069&r2=1666070&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/DomainFilterInterceptor.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/DomainFilterInterceptor.java Thu Mar 12 02:44:00 2015 @@ -43,8 +43,12 @@ public class DomainFilterInterceptor ext @Override public void messageReceived(ChannelMessage msg) { -//should we filter incoming based on domain? -super.messageReceived(msg); +if (Arrays.equals(domain, msg.getAddress().getDomain())) { +super.messageReceived(msg); +} else { +if (log.isWarnEnabled()) +log.warn("Received message from cluster["+msg.getAddress()+"] was refused."); +} }//messageReceived 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=1666070&r1=1666069&r2=1666070&view=diff == --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Thu Mar 12 02:44:00 2015 @@ -283,6 +283,14 @@ + + + +Make sure that refuse the messages from a different domain in +DomainFilterInterceptor. (kfujino) + + + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1666071 - in /tomcat/tc7.0.x/trunk: java/org/apache/catalina/ha/session/DeltaManager.java webapps/docs/changelog.xml
Author: kfujino Date: Thu Mar 12 02:48:59 2015 New Revision: 1666071 URL: http://svn.apache.org/r1666071 Log: Remove unnecessary method that always returns true. The domain filtering works on DomainFilterInterceptor. Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/session/DeltaManager.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/session/DeltaManager.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/session/DeltaManager.java?rev=1666071&r1=1666070&r2=1666071&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/session/DeltaManager.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/session/DeltaManager.java Thu Mar 12 02:48:59 2015 @@ -1160,22 +1160,6 @@ public class DeltaManager extends Cluste // message receive /** - * Test that sender and local domain is the same - */ -protected boolean checkSenderDomain(SessionMessage msg,Member sender) { -boolean sameDomain= true; -if (!sameDomain && log.isWarnEnabled()) { - log.warn(sm.getString("deltaManager.receiveMessage.fromWrongDomain", - new Object[] {getName(), - msg.getEventTypeString(), - sender, - "", - "" })); -} -return sameDomain ; -} - -/** * This method is called by the received thread when a SessionMessage has * been received from one of the other nodes in the cluster. * @@ -1187,9 +1171,6 @@ public class DeltaManager extends Cluste *requesting node */ protected void messageReceived(SessionMessage msg, Member sender) { -if(!checkSenderDomain(msg,sender)) { -return; -} ClassLoader contextLoader = Thread.currentThread().getContextClassLoader(); try { 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=1666071&r1=1666070&r2=1666071&view=diff == --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Thu Mar 12 02:48:59 2015 @@ -246,6 +246,14 @@ + + + +Remove unnecessary method that always returns true. The domain filtering +works on DomainFilterInterceptor. (kfujino) + + + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[GUMP@vmgump]: Project tomcat-trunk-test-nio2 (in module tomcat-trunk) failed
To whom it may engage... This is an automated request, but not an unsolicited one. For more information please visit http://gump.apache.org/nagged.html, and/or contact the folk at gene...@gump.apache.org. Project tomcat-trunk-test-nio2 has an issue affecting its community integration. This issue affects 1 projects. The current state of this project is 'Failed', with reason 'Build Failed'. For reference only, the following projects are affected by this: - tomcat-trunk-test-nio2 : Tomcat 9.x, a web server implementing the Java Servlet 4.0, ... Full details are available at: http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-test-nio2/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -DEBUG- Dependency on commons-daemon exists, no need to add for property commons-daemon.native.src.tgz. -DEBUG- Dependency on commons-daemon exists, no need to add for property tomcat-native.tar.gz. -INFO- Failed with reason build failed -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-trunk/output/logs-NIO2 -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-trunk/output/test-tmp-NIO2/logs The following work was performed: http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-test-nio2/gump_work/build_tomcat-trunk_tomcat-trunk-test-nio2.html Work Name: build_tomcat-trunk_tomcat-trunk-test-nio2 (Type: Build) Work ended in a state of : Failed Elapsed: 57 mins 9 secs Command Line: /usr/lib/jvm/java-8-oracle/bin/java -Djava.awt.headless=true -Dbuild.sysclasspath=only org.apache.tools.ant.Main -Dgump.merge=/srv/gump/public/gump/work/merge.xml -Djunit.jar=/srv/gump/public/workspace/junit/target/junit-4.13-SNAPSHOT.jar -Dobjenesis.jar=/srv/gump/public/workspace/objenesis/main/target/objenesis-2.2-SNAPSHOT.jar -Dtest.reports=output/logs-NIO2 -Dtomcat-native.tar.gz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20150311-native-src.tar.gz -Dexamples.sources.skip=true -Djdt.jar=/srv/gump/packages/eclipse/plugins/R-4.4-201406061215/ecj-4.4.jar -Dcommons-daemon.jar=/srv/gump/public/workspace/apache-commons/daemon/dist/commons-daemon-20150311.jar -Dcommons-daemon.native.src.tgz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20150311-native-src.tar.gz -Dtest.temp=output/test-tmp-NIO2 -Dtest.accesslog=true -Dexecute.test.nio=false -Dtest.openssl.path=/srv/gump/public/workspace/openssl/dest-20150311/bin/opens sl -Dexecute.test.apr=false -Dexecute.test.nio2=true -Deasymock.jar=/srv/gump/public/workspace/easymock/easymock/target/easymock-3.4-SNAPSHOT.jar -Dhamcrest.jar=/srv/gump/packages/hamcrest/hamcrest-core-1.3.jar -Dcglib.jar=/srv/gump/packages/cglib/cglib-nodep-2.2.jar test [Working Directory: /srv/gump/public/workspace/tomcat-trunk] CLASSPATH: /usr/lib/jvm/java-8-oracle/lib/tools.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/webapps/examples/WEB-INF/classes:/srv/gump/public/workspace/tomcat-trunk/output/testclasses:/srv/gump/public/workspace/ant/dist/lib/ant.jar:/srv/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/srv/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit4.jar:/srv/gump/public/workspace/ant/dist/lib/ant-swing.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-xalan2.jar:/srv/gump/public/workspace/xml-commons/java/build/resolver.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/bin/bootstrap.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/bin/tomcat-juli.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/annotations-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/servlet-api.ja r:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jsp-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/el-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/websocket-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-ant.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-storeconfig.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/tomcat-coyote.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jasper.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jasper-el.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-tribes.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-ha.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/tomcat-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/tomcat-jni.jar:/srv/gump/public/workspace/tomcat-trunk/output/bu ild/lib/tomcat-spdy.jar:/srv/gump/public/workspace/tomcat-trunk/out
svn commit: r1666083 - in /tomcat/trunk/java/org/apache/catalina/ha/session: LocalStrings.properties LocalStrings_es.properties
Author: kfujino Date: Thu Mar 12 05:39:16 2015 New Revision: 1666083 URL: http://svn.apache.org/r1666083 Log: Remove unused message. Modified: tomcat/trunk/java/org/apache/catalina/ha/session/LocalStrings.properties tomcat/trunk/java/org/apache/catalina/ha/session/LocalStrings_es.properties Modified: tomcat/trunk/java/org/apache/catalina/ha/session/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/LocalStrings.properties?rev=1666083&r1=1666082&r2=1666083&view=diff == --- tomcat/trunk/java/org/apache/catalina/ha/session/LocalStrings.properties (original) +++ tomcat/trunk/java/org/apache/catalina/ha/session/LocalStrings.properties Thu Mar 12 05:39:16 2015 @@ -46,7 +46,6 @@ deltaManager.receiveMessage.unloadingAft deltaManager.receiveMessage.unloadingBegin=Manager [{0}]: start unloading sessions deltaManager.receiveMessage.allSessionDataAfter=Manager [{0}]: session state deserialized deltaManager.receiveMessage.allSessionDataBegin=Manager [{0}]: received session state data -deltaManager.receiveMessage.fromWrongDomain=Manager [{0}]: Received wrong SessionMessage of type=({1}) from [{2}] with domain [{3}] (localdomain [{4}] deltaManager.registerCluster=Register manager {0} to cluster element {1} with name {2} deltaManager.sessionReceived=Manager [{0}]; session state send at {1} received in {2} ms. deltaManager.startClustering=Starting clustering manager at {0} Modified: tomcat/trunk/java/org/apache/catalina/ha/session/LocalStrings_es.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/LocalStrings_es.properties?rev=1666083&r1=1666082&r2=1666083&view=diff == --- tomcat/trunk/java/org/apache/catalina/ha/session/LocalStrings_es.properties (original) +++ tomcat/trunk/java/org/apache/catalina/ha/session/LocalStrings_es.properties Thu Mar 12 05:39:16 2015 @@ -43,7 +43,6 @@ deltaManager.receiveMessage.unloadingAft deltaManager.receiveMessage.unloadingBegin = Gestor [{0}]\: iniciada descarga de sesiones deltaManager.receiveMessage.allSessionDataAfter = Gestor [{0}]\: estado de sesi\u00F3n deserializado deltaManager.receiveMessage.allSessionDataBegin = Gestor [{0}]\: recibidos datos de estado de sesi\u00F3n -deltaManager.receiveMessage.fromWrongDomain = Gestor [{0}]\: Recibido SessionMessage equivocado de tipo\=({1}) desde [{2}] con dominio [{3}] (dominio local [{4}] deltaManager.registerCluster = Registrar gestor {0} a elemento de cl\u00FAster {1} con nombre {2} deltaManager.sessionReceived = Gestor [{0}]; estado de sesi\u00F3n enviado a las {1} recibido en {2} ms. deltaManager.startClustering = Iniciando gestor de cl\u00FAster a las {0} - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1666084 - in /tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/session: LocalStrings.properties LocalStrings_es.properties
Author: kfujino Date: Thu Mar 12 05:40:01 2015 New Revision: 1666084 URL: http://svn.apache.org/r1666084 Log: Remove unused message. Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/session/LocalStrings.properties tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/session/LocalStrings_es.properties Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/session/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/session/LocalStrings.properties?rev=1666084&r1=1666083&r2=1666084&view=diff == --- tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/session/LocalStrings.properties (original) +++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/session/LocalStrings.properties Thu Mar 12 05:40:01 2015 @@ -46,7 +46,6 @@ deltaManager.receiveMessage.unloadingAft deltaManager.receiveMessage.unloadingBegin=Manager [{0}]: start unloading sessions deltaManager.receiveMessage.allSessionDataAfter=Manager [{0}]: session state deserialized deltaManager.receiveMessage.allSessionDataBegin=Manager [{0}]: received session state data -deltaManager.receiveMessage.fromWrongDomain=Manager [{0}]: Received wrong SessionMessage of type=({1}) from [{2}] with domain [{3}] (localdomain [{4}] deltaManager.registerCluster=Register manager {0} to cluster element {1} with name {2} deltaManager.sessionReceived=Manager [{0}]; session state send at {1} received in {2} ms. deltaManager.startClustering=Starting clustering manager at {0} Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/session/LocalStrings_es.properties URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/session/LocalStrings_es.properties?rev=1666084&r1=1666083&r2=1666084&view=diff == --- tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/session/LocalStrings_es.properties (original) +++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/session/LocalStrings_es.properties Thu Mar 12 05:40:01 2015 @@ -43,7 +43,6 @@ deltaManager.receiveMessage.unloadingAft deltaManager.receiveMessage.unloadingBegin = Gestor [{0}]\: iniciada descarga de sesiones deltaManager.receiveMessage.allSessionDataAfter = Gestor [{0}]\: estado de sesi\u00F3n deserializado deltaManager.receiveMessage.allSessionDataBegin = Gestor [{0}]\: recibidos datos de estado de sesi\u00F3n -deltaManager.receiveMessage.fromWrongDomain = Gestor [{0}]\: Recibido SessionMessage equivocado de tipo\=({1}) desde [{2}] con dominio [{3}] (dominio local [{4}] deltaManager.registerCluster = Registrar gestor {0} a elemento de cl\u00FAster {1} con nombre {2} deltaManager.sessionReceived = Gestor [{0}]; estado de sesi\u00F3n enviado a las {1} recibido en {2} ms. deltaManager.startClustering = Iniciando gestor de cl\u00FAster a las {0} - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1666085 - in /tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/session: LocalStrings.properties LocalStrings_es.properties
Author: kfujino Date: Thu Mar 12 05:40:44 2015 New Revision: 1666085 URL: http://svn.apache.org/r1666085 Log: Remove unused message. Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/session/LocalStrings.properties tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/session/LocalStrings_es.properties Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/session/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/session/LocalStrings.properties?rev=1666085&r1=1666084&r2=1666085&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/session/LocalStrings.properties (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/session/LocalStrings.properties Thu Mar 12 05:40:44 2015 @@ -48,7 +48,6 @@ deltaManager.receiveMessage.unloadingAft deltaManager.receiveMessage.unloadingBegin=Manager [{0}]: start unloading sessions deltaManager.receiveMessage.allSessionDataAfter=Manager [{0}]: session state deserialized deltaManager.receiveMessage.allSessionDataBegin=Manager [{0}]: received session state data -deltaManager.receiveMessage.fromWrongDomain=Manager [{0}]: Received wrong SessionMessage of type=({1}) from [{2}] with domain [{3}] (localdomain [{4}] deltaManager.registerCluster=Register manager {0} to cluster element {1} with name {2} deltaManager.sessionReceived=Manager [{0}]; session state send at {1} received in {2} ms. deltaManager.startClustering=Starting clustering manager at {0} Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/session/LocalStrings_es.properties URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/session/LocalStrings_es.properties?rev=1666085&r1=1666084&r2=1666085&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/session/LocalStrings_es.properties (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/session/LocalStrings_es.properties Thu Mar 12 05:40:44 2015 @@ -45,7 +45,6 @@ deltaManager.receiveMessage.unloadingAft deltaManager.receiveMessage.unloadingBegin = Gestor [{0}]\: iniciada descarga de sesiones deltaManager.receiveMessage.allSessionDataAfter = Gestor [{0}]\: estado de sesi\u00F3n deserializado deltaManager.receiveMessage.allSessionDataBegin = Gestor [{0}]\: recibidos datos de estado de sesi\u00F3n -deltaManager.receiveMessage.fromWrongDomain = Gestor [{0}]\: Recibido SessionMessage equivocado de tipo\=({1}) desde [{2}] con dominio [{3}] (dominio local [{4}] deltaManager.registerCluster = Registrar gestor {0} a elemento de cl\u00FAster {1} con nombre {2} deltaManager.sessionReceived = Gestor [{0}]; estado de sesi\u00F3n enviado a las {1} recibido en {2} ms. deltaManager.startClustering = Iniciando gestor de cl\u00FAster a las {0} - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org