How it works is that a) a release cannot be vetoed. b) a release must have 3 binding +1 votes (which this does already unless Ivan or Gary were to change their vote) c) the release manager (in this case me) takes the issues found into consideration and determines whether a bug is serious enough to warrant redoing a release.
In this case given that a) this bug apparently is not new, b) it is not a defect in the release contents (license headers, etc) c) this is a beta release and d) it is generally better to release often than to postpone I am not inclined to cancel the release due to this. That said, just like we had a short release cycle between beta5 and beta6 I see no reason not to figure out what the fix is and release beta7 in a week if need be. Ralph On May 8, 2013, at 9:24 PM, Remko Popma wrote: > Nick, good job on finding the issue. > > Just curious, how does it work with new bugs found during the vote? > Are they always show stoppers or only if the new version introduces a bug > that did not exist in the old version? > > Sent from my iPhone > > On 2013/05/09, at 13:06, Nick Williams <nicho...@nicholaswilliams.net> wrote: > >> Well, I hate to do this, but I've gotta -1 (non-binding, of course). beta5 >> and beta6 are both unusable with Spring Framework (I didn't go back any >> further). Any time an error gets logged through log4j-jcl bridge using >> Spring, the error below appears in the Tomcat log, masking the error that >> Spring was trying to log and making it very difficult to figure out what >> happened. I've also included my configuration file below the stack trace. >> The root error is happening on Tomcat 6 due to Spring bug, and that root >> problem is unimportant. The important problem is the Log4j error that masks >> it. >> >> I've created LOG4J2-245 regarding this issue. >> >> SEVERE: Exception sending context initialized event to listener instance of >> class org.springframework.web.context.ContextLoaderListener >> java.util.EmptyStackException >> at java.util.Stack.peek(Stack.java:102) >> at >> org.apache.logging.log4j.core.impl.ThrowableProxy.resolvePackageData(ThrowableProxy.java:339) >> at >> org.apache.logging.log4j.core.impl.ThrowableProxy.<init>(ThrowableProxy.java:71) >> at >> org.apache.logging.log4j.core.impl.Log4jLogEvent.<init>(Log4jLogEvent.java:110) >> at >> org.apache.logging.log4j.core.impl.Log4jLogEvent.<init>(Log4jLogEvent.java:81) >> at >> org.apache.logging.log4j.core.config.LoggerConfig.createEvent(LoggerConfig.java:423) >> at >> org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:344) >> at org.apache.logging.log4j.core.Logger.log(Logger.java:110) >> at >> org.apache.logging.log4j.spi.AbstractLoggerWrapper.log(AbstractLoggerWrapper.java:55) >> at >> org.apache.logging.log4j.spi.AbstractLogger.error(AbstractLogger.java:539) >> at >> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:319) >> at >> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112) >> at >> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4765) >> at >> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5210) >> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) >> at >> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726) >> at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:702) >> at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:698) >> at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1491) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> at java.lang.reflect.Method.invoke(Method.java:491) >> at >> org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) >> at >> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) >> at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:792) >> at >> org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:468) >> at >> org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:415) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> at java.lang.reflect.Method.invoke(Method.java:491) >> at >> org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) >> at >> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) >> at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:792) >> at >> javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1465) >> at >> javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:75) >> at >> javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1306) >> at >> javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1398) >> at >> javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:827) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> at java.lang.reflect.Method.invoke(Method.java:491) >> at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) >> at sun.rmi.transport.Transport$1.run(Transport.java:177) >> at sun.rmi.transport.Transport$1.run(Transport.java:174) >> at java.security.AccessController.doPrivileged(Native Method) >> at sun.rmi.transport.Transport.serviceCall(Transport.java:173) >> at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556) >> at >> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811) >> at >> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670) >> at >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) >> at java.lang.Thread.run(Thread.java:724) >> >> <?xml version="1.0" encoding="UTF-8"?> >> <configuration status="WARN"> >> <appenders> >> <Console name="Console" target="SYSTEM_OUT"> >> <PatternLayout >> pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - >> %msg%n"/> >> </Console> >> <RollingFile name="WroxFileAppender" fileName="../logs/application.log" >> filePattern="../logs/application-%d{MM-dd-yyyy}-%i.log"> >> <PatternLayout> >> <pattern>%d{HH:mm:ss.SSS} [%t] %X{id} %X{username} %-5level >> %c{36} %l: %msg%n</pattern> >> </PatternLayout> >> <Policies> >> <SizeBasedTriggeringPolicy size="10 MB" /> >> </Policies> >> <DefaultRolloverStrategy min="1" max="4" /> >> </RollingFile> >> </appenders> >> <loggers> >> <root level="warn"> >> <appender-ref ref="Console" /> >> <appender-ref ref="WroxFileAppender" /> >> </root> >> <logger name="com.wrox" level="info" /> >> <logger name="org.apache" level="info" /> >> <logger name="org.springframework" level="info" /> >> </loggers> >> </configuration> >> >> On May 6, 2013, at 10:52 PM, Ralph Goers wrote: >> >>> This is a vote to release Log4j 2.0-beta6, the eighth release of Log4j 2.0. >>> This is the second release candidate which fixes issues with a few missing >>> license headers and some findbugs issues. >>> >>> Changes in this version include: >>> >>> Fixed Bugs: >>> o LOG4J2-231: Logger.getParent() was not returning the correct Logger. >>> o LOG4J2-201: Renamed Plugin annotation attribute from "type" to >>> "category". >>> o LOG4J2-219: Fix: install default root logger if not configured (this is >>> unchanged), >>> but make sure to include configured named loggers. Clarified >>> documentation. Thanks to Peter DePasquale. >>> o LOG4J2-159: Use OSGi version format in Fragment-Host >>> o LOG4J2-234: RegexFilter threw a NullPointerException when used as a >>> context-wide filter. >>> o LOG4J2-192: Add support for interpolating Environment variables when >>> processing the configuration. >>> o LOG4J2-235: Removed dependency on tools jar from core module, made >>> jconsole dependency optional. Thanks to Sebastian Oerding. >>> o LOG4J2-233: Fixed link to log4j-user mailing list. >>> o LOG4J2-222: Disruptor will now shutdown during Tomcat shutdown. Thanks >>> to Steven Yang. >>> o LOG4J2-224: The FlumeAppender failed to start if the Flume RPCClient >>> could not connect to any Flume agents. >>> o LOG4J2-223: Fix LoggerContext start and stop to eliminate >>> IllegalStateException and NoClassDefFound errors. >>> o LOG4J2-221: Remove hundreds of compiler warnings. Thanks to Nick >>> Williams. >>> o LOG4J2-215: Various small documentation fixes. >>> o LOG4J2-217: Ensure PluginManager streams are always closed. Thanks to >>> Fabien Sanglard. >>> >>> Changes: >>> o LOG4J2-237: Moved JMX Client GUI classes into separate jmx-gui >>> submodule. >>> o LOG4J2-230: Improved error reporting when misconfigured. Thanks to >>> Wojciech Zaręba. >>> o Renamed AsynchAppender to AsyncAppender. Plugin name became Async (was >>> Asynch). >>> o Removed CheckStyle false positives for NewlineAtEndOfFile and whitespace >>> following '*' at end of line in javadoc. >>> o Moved Clock interface to package org.apache.logging.log4j.core.helpers. >>> o LOG4J2-225: Documentation updates to clarify use and impact of location >>> in pattern layouts. >>> >>> Please test and cast your votes. >>> [] +1, release the artifacts >>> [] -1, don't release because… >>> >>> The vote will remain open for 72 hours (or more if required). >>> >>> Tag: >>> https://svn.apache.org/repos/asf/logging/log4j/log4j2/tags/log4j-2.0-beta6/ >>> >>> Web Site: http://people.apache.org/~rgoers/log4j2/ >>> >>> Artifacts: >>> https://repository.apache.org/content/repositories/orgapachelogging-013/ >>> >>> The artifacts may be downloaded using >>> wget -e robots=off --cut-dirs=3 -r -p -np --no-check-certificate >>> https://repository.apache.org/content/repositories/orgapachelogging-013/org/apache/logging/log4j/ >>> >>> Description: >>> >>> Log4j 2.0-beta6 rc2 >>> >>> Details: >>> >>> The following artifacts have been staged to the org.apache.logging-013 >>> (u:rgoers, a:99.180.69.21) repository. >>> >>> archetype-catalog.xml >>> log4j-jmx-gui-2.0-beta6.jar.asc >>> log4j-jmx-gui-2.0-beta6-sources.jar >>> log4j-jmx-gui-2.0-beta6-javadoc.jar >>> log4j-jmx-gui-2.0-beta6-sources.jar.asc >>> log4j-jmx-gui-2.0-beta6.pom >>> log4j-jmx-gui-2.0-beta6-javadoc.jar.asc >>> log4j-jmx-gui-2.0-beta6.jar >>> log4j-jmx-gui-2.0-beta6.pom.asc >>> log4j-web-2.0-beta6.jar.asc >>> log4j-web-2.0-beta6-sources.jar >>> log4j-web-2.0-beta6.jar >>> log4j-web-2.0-beta6-sources.jar.asc >>> log4j-web-2.0-beta6-javadoc.jar.asc >>> log4j-web-2.0-beta6.pom.asc >>> log4j-web-2.0-beta6-javadoc.jar >>> log4j-web-2.0-beta6.pom >>> log4j-slf4j-impl-2.0-beta6.pom.asc >>> log4j-slf4j-impl-2.0-beta6-javadoc.jar.asc >>> log4j-slf4j-impl-2.0-beta6.pom >>> log4j-slf4j-impl-2.0-beta6-javadoc.jar >>> log4j-slf4j-impl-2.0-beta6.jar >>> log4j-slf4j-impl-2.0-beta6.jar.asc >>> log4j-slf4j-impl-2.0-beta6-sources.jar >>> log4j-slf4j-impl-2.0-beta6-sources.jar.asc >>> flume-remote-2.0-beta6.pom.asc >>> flume-remote-2.0-beta6.pom >>> flume-remote-2.0-beta6.war >>> flume-remote-2.0-beta6.war.asc >>> flume-remote-2.0-beta6-sources.jar.asc >>> flume-remote-2.0-beta6-sources.jar >>> flume-common-2.0-beta6.pom >>> flume-common-2.0-beta6-sources.jar >>> flume-common-2.0-beta6.jar >>> flume-common-2.0-beta6-javadoc.jar.asc >>> flume-common-2.0-beta6.jar.asc >>> flume-common-2.0-beta6-sources.jar.asc >>> flume-common-2.0-beta6.pom.asc >>> flume-common-2.0-beta6-javadoc.jar >>> flume-embedded-2.0-beta6.war >>> flume-embedded-2.0-beta6.pom.asc >>> flume-embedded-2.0-beta6-sources.jar.asc >>> flume-embedded-2.0-beta6.pom >>> flume-embedded-2.0-beta6.war.asc >>> flume-embedded-2.0-beta6-sources.jar >>> log4j-samples-2.0-beta6.pom >>> log4j-samples-2.0-beta6.pom.asc >>> log4j-jcl-2.0-beta6-javadoc.jar.asc >>> log4j-jcl-2.0-beta6-sources.jar >>> log4j-jcl-2.0-beta6.jar >>> log4j-jcl-2.0-beta6.jar.asc >>> log4j-jcl-2.0-beta6.pom.asc >>> log4j-jcl-2.0-beta6.pom >>> log4j-jcl-2.0-beta6-javadoc.jar >>> log4j-jcl-2.0-beta6-sources.jar.asc >>> log4j-taglib-2.0-beta6-javadoc.jar >>> log4j-taglib-2.0-beta6.jar >>> log4j-taglib-2.0-beta6-sources.jar.asc >>> log4j-taglib-2.0-beta6.jar.asc >>> log4j-taglib-2.0-beta6.pom >>> log4j-taglib-2.0-beta6.pom.asc >>> log4j-taglib-2.0-beta6-javadoc.jar.asc >>> log4j-taglib-2.0-beta6-sources.jar >>> log4j-distribution-2.0-beta6-src.tar.gz.asc >>> log4j-distribution-2.0-beta6-bin.tar.gz >>> log4j-distribution-2.0-beta6-src.tar.gz >>> log4j-distribution-2.0-beta6-bin.tar.gz.asc >>> log4j-distribution-2.0-beta6-src.zip >>> log4j-distribution-2.0-beta6-bin.zip.asc >>> log4j-distribution-2.0-beta6-src.zip.asc >>> log4j-distribution-2.0-beta6.pom.asc >>> log4j-distribution-2.0-beta6-bin.zip >>> log4j-distribution-2.0-beta6.pom >>> log4j-1.2-api-2.0-beta6-sources.jar >>> log4j-1.2-api-2.0-beta6-javadoc.jar >>> log4j-1.2-api-2.0-beta6-sources.jar.asc >>> log4j-1.2-api-2.0-beta6-javadoc.jar.asc >>> log4j-1.2-api-2.0-beta6.pom >>> log4j-1.2-api-2.0-beta6.jar >>> log4j-1.2-api-2.0-beta6.jar.asc >>> log4j-1.2-api-2.0-beta6.pom.asc >>> log4j-flume-ng-2.0-beta6.jar.asc >>> log4j-flume-ng-2.0-beta6-sources.jar.asc >>> log4j-flume-ng-2.0-beta6-sources.jar >>> log4j-flume-ng-2.0-beta6-javadoc.jar.asc >>> log4j-flume-ng-2.0-beta6.jar >>> log4j-flume-ng-2.0-beta6-tests.jar.asc >>> log4j-flume-ng-2.0-beta6-tests.jar >>> log4j-flume-ng-2.0-beta6-javadoc.jar >>> log4j-flume-ng-2.0-beta6.pom.asc >>> log4j-flume-ng-2.0-beta6.pom >>> log4j-to-slf4j-2.0-beta6-sources.jar >>> log4j-to-slf4j-2.0-beta6-sources.jar.asc >>> log4j-to-slf4j-2.0-beta6-javadoc.jar >>> log4j-to-slf4j-2.0-beta6.jar >>> log4j-to-slf4j-2.0-beta6.jar.asc >>> log4j-to-slf4j-2.0-beta6.pom >>> log4j-to-slf4j-2.0-beta6-javadoc.jar.asc >>> log4j-to-slf4j-2.0-beta6.pom.asc >>> log4j-api-2.0-beta6.jar.asc >>> log4j-api-2.0-beta6-sources.jar >>> log4j-api-2.0-beta6-javadoc.jar >>> log4j-api-2.0-beta6.pom.asc >>> log4j-api-2.0-beta6-javadoc.jar.asc >>> log4j-api-2.0-beta6.pom >>> log4j-api-2.0-beta6.jar >>> log4j-api-2.0-beta6-sources.jar.asc >>> log4j-core-2.0-beta6.jar >>> log4j-core-2.0-beta6-sources.jar >>> log4j-core-2.0-beta6-sources.jar.asc >>> log4j-core-2.0-beta6-tests.jar >>> log4j-core-2.0-beta6-javadoc.jar.asc >>> log4j-core-2.0-beta6.jar.asc >>> log4j-core-2.0-beta6-javadoc.jar >>> log4j-core-2.0-beta6.pom.asc >>> log4j-core-2.0-beta6-tests.jar.asc >>> log4j-core-2.0-beta6.pom >>> log4j-2.0-beta6.pom.asc >>> log4j-2.0-beta6.pom >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org > For additional commands, e-mail: log4j-dev-h...@logging.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-dev-h...@logging.apache.org