Here it is: https://issues.apache.org/jira/browse/LOG4J2-3102

On Tue, Aug 3, 2021, at 07:30, Carter Kozak wrote:
> I believe I fixed this on the 2.x branch and master a few months ago, it 
> should be available in our 2.15 release (likely in the next month). I don’t 
> have the ticket link available from my phone, I can link it later in the day 
> when I have a moment.
> 
> -ck
> 
> > On Aug 3, 2021, at 2:03 AM, Laurent Hasson <l...@capsicohealth.com> wrote:
> > 
> > I may have found it...
> > 
> > Thread [Log4j2-AsyncAppenderEventDispatcher-1-ASYNC] (Running)    
> > 
> > 
> > Laurent Hasson
> > Co-Founder and CTO
> > CapsicoHealth Inc.
> > 
> > 
> > 
> > -----Original Message-----
> > From: Laurent Hasson <l...@capsicohealth.com> 
> > Sent: Tuesday, August 3, 2021 02:01
> > To: Log4J Users List <log4j-user@logging.apache.org>
> > Subject: RE: Program hangs when terminating on v14.1
> > 
> > I am not sure how to do this. I am on Eclipse?
> > 
> > 
> > Laurent Hasson
> > 
> > 
> > -----Original Message-----
> > From: Volkan Yazıcı <volkan.yaz...@gmail.com>
> > Sent: Tuesday, August 3, 2021 01:59
> > To: Log4J Users List <log4j-user@logging.apache.org>
> > Subject: Re: Program hangs when terminating on v14.1
> > 
> > Hello Laurent,
> > 
> > Thanks for the report and the reproduction path. Would you be able to hook 
> > up a profiler and figure out the thread blocking the exit, please?
> > 
> > Kind regards.
> > 
> >> On Tue, Aug 3, 2021 at 7:54 AM Laurent Hasson <l...@capsicohealth.com> 
> >> wrote:
> >> 
> >> Hello,
> >> 
> >> We use Log4J2 as our logging library both in a Web environment (under 
> >> Tomcat), and in command-line utilities. I have noticed recently that 
> >> our command-line utilities seem to hang when done: the normal JVM's 
> >> exit is blocked.
> >> 
> >> I am on JDK 15 with log4j-web-2.14.1.jar, log4j-core-2.14.1.jar and 
> >> log4j-api-2.14.1.jar in the classpath.
> >> 
> >> My configuration is:
> >> <?xml version="1.0" encoding="UTF-8"?> <Configuration status="info">
> >>       <Properties>
> >>              <Property
> >> name="log-path">C:\Projects\TomcatDevServer\logs\</Property>
> >>              <Property name="now">${date:yyyy-MM-dd}</Property>
> >>       </Properties>
> >>       <Appenders>
> >>              <RollingFile name="FILES" fileName="${log-path}/capsico.log"
> >> filePattern="${log-path}/capsico.${now}.%i.log.gz">
> >>                     <PatternLayout>
> >>                <pattern>%d{MMdd.HHmmss.SSS}#%-3t %level{length=1} 
> >> %15.15c{1}| %m %ex{50}%n</pattern>
> >>                     </PatternLayout>
> >>                     <Policies>
> >>                           <SizeBasedTriggeringPolicy size="100 MB" />
> >>                     </Policies>
> >>                     <DefaultRolloverStrategy max="99999"
> >> compressionLevel="6"/>
> >>              </RollingFile>
> >>              <Async name="ASYNC">
> >>                     <AppenderRef ref="FILES" />
> >>              </Async>
> >>              <Console name="Console" target="SYSTEM_OUT">
> >>                     <PatternLayout>
> >>                 <pattern>%d{MMdd.HHmmss.SSS}#%-3t %level{length=1} 
> >> %15.15c{1}| %m %ex{50}%n</pattern>
> >>                     </PatternLayout>
> >>        </Console>
> >>       </Appenders>
> >>       <Loggers>
> >>              <Root level="debug">
> >>            <AppenderRef ref="Console" />
> >> <!--
> >>            <AppenderRef ref="ASYNC" />
> >>            <AppenderRef ref="Console" />
> >> -->
> >>              </Root>
> >>       </Loggers>
> >> </Configuration>
> >> 
> >> We switch between console when developing to async in production, thus 
> >> the two options.
> >> 
> >> My test program is super simple:
> >> import org.apache.logging.log4j.LogManager;
> >> import org.apache.logging.log4j.Logger;
> >> 
> >> public class Test
> >>  {
> >>    protected static final Logger LOG = 
> >> LogManager.getLogger(Test.class.getName());
> >> 
> >>    public static void main(String[] args)
> >>      {
> >>         LOG.debug("Hello");
> >>      }
> >>  }
> >> 
> >> This program hangs and doesn't exit. If I replace the Log4J2 JARs with 
> >> v12.1, all works as expected. I checked JDK 8 and JDK 11 with the same 
> >> behavior.
> >> 
> >> If I remove the <Async> element, it works, pointing to that capability 
> >> causing issues. My guess is that a thread is not getting closed and 
> >> hangs the JVM's normal exist.
> >> 
> >> I did not see a reference to some API changes from v12 to v14 that 
> >> would explain this, or maybe I missed something? Or maybe it's a bug?
> >> 
> >> Thank you,
> >> Laurent Hasson
> >> 
> >> 
> >> 
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> > For additional commands, e-mail: log4j-user-h...@logging.apache.org
> > 
> > ТÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÐÐ¥FòVç7V'67&–&RÂRÖÖ–âÆösF¢×W6W"×Vç7V'67&–&TÆövv–æræ6†Ræ÷&pФf÷"FF—F–öæÂ6öÖÖæG2ÂRÖÖ–âÆösF¢×W6W"Ö†VÇÆövv–æræ6†Ræ÷&pÐ
> >  
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> For additional commands, e-mail: log4j-user-h...@logging.apache.org
> 
> 

Reply via email to