Adding a test in a java9+ module which passes an exception does not work after the linked commit (e.g. https://github.com/apache/logging-log4j2/pull/713), it seems we are missing test coverage. Testability is a strong reason to avoid multi-release jars, but the alternatives leave a lot to be desired as well.
-ck On Mon, Jan 17, 2022, at 14:48, Gary Gregory wrote: > How does this stack trace happen when my full local builds and github builds > are green? Are we missing a test for this feature? > > Gary > > > On Mon, Jan 17, 2022, 13:51 Carter Kozak <cko...@ckozak.net> wrote: >> __ >> Please revert, this breaks stacklocatorutil on java 9+ with the following: >> >> Caused by: java.lang.NoSuchMethodError: 'java.util.Deque >> org.apache.logging.log4j.util.StackLocator.getCurrentStackTrace()' >> at >> org.apache.logging.log4j.util.StackLocatorUtil.getCurrentStackTrace(StackLocatorUtil.java:116) >> at >> org.apache.logging.log4j.core.impl.ThrowableProxy.<init>(ThrowableProxy.java:111) >> at >> org.apache.logging.log4j.core.impl.ThrowableProxy.<init>(ThrowableProxy.java:96) >> at >> org.apache.logging.log4j.core.impl.MutableLogEvent.getThrownProxy(MutableLogEvent.java:347) >> at >> org.apache.logging.log4j.core.impl.Log4jLogEvent$LogEventProxy.<init>(Log4jLogEvent.java:970) >> at >> org.apache.logging.log4j.core.impl.Log4jLogEvent.serialize(Log4jLogEvent.java:745) >> at >> org.apache.logging.log4j.core.impl.MutableLogEvent.createMemento(MutableLogEvent.java:472) >> at >> org.apache.logging.log4j.test.appender.ListAppender.append(ListAppender.java:122) >> at >> org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:161) >> ... 50 more >> >> -ck >> >> On Sat, Jan 8, 2022, at 11:08, ggreg...@apache.org wrote: >>> This is an automated email from the ASF dual-hosted git repository. >>> >>> ggregory pushed a change to branch release-2.x >>> in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git. >>> >>> >>> from ff33bbc Add StackLocatorUtil.getCallerClassLoader(int) for the >>> 1.2 bridge. >>> new 97f3153 Replace internal use of synchronized java.util.Stack with >>> unsynchronized java.util.Deque. These objects are not shared between >>> threads. >>> new 97f9201 Replace internal use of synchronized java.util.Stack with >>> unsynchronized java.util.Deque. These objects are not shared between >>> threads. >>> >>> The 2 revisions listed above as "new" are entirely new to this >>> repository and will be described in separate emails. The revisions >>> listed as "add" were already present in the repository and have only >>> been added to this reference. >>> >>> >>> Summary of changes: >>> log4j-api/revapi.json | 1 + >>> .../log4j/util/PrivateSecurityManagerStackTraceUtil.java | 8 ++++---- >>> .../java/org/apache/logging/log4j/util/StackLocator.java | 7 ++++--- >>> .../java/org/apache/logging/log4j/util/StackLocatorUtil.java | 4 ++-- >>> .../org/apache/logging/log4j/util/StackLocatorUtilTest.java | 12 >>> ++++++++---- >>> .../org/apache/logging/log4j/core/impl/ThrowableProxy.java | 6 +++--- >>> .../apache/logging/log4j/core/impl/ThrowableProxyHelper.java | 12 >>> ++++++------ >>> .../apache/logging/log4j/core/impl/ThrowableProxyTest.java | 7 ++++--- >>> 8 files changed, 32 insertions(+), 25 deletions(-) >>> >>