logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adam Honen (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LOG4J2-830) failure to shutdown JVM when join called on AsyncAppender thread
Date Tue, 16 Sep 2014 13:16:34 GMT

    [ https://issues.apache.org/jira/browse/LOG4J2-830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14135402#comment-14135402

Adam Honen commented on LOG4J2-830:

Well, it's not exactly "my" thread, it's maven's.
My thread is already dead as the main method was exited.
The general form of that main method before being exited is:

at com.bla.Main.main(Main.java:...)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293)
at java.lang.Thread.run(Thread.java:745)

I guess you could argue that this is really a maven issue (of the exec Mojo), because perhaps
it's not exactly a good idea to call join on some unknown thread and it might be possible
to decide that if all remaining threads are daemon threads a much smaller timeout is needed
to terminate the program.

At the same time it might be possible to stop log4j threads based on the fact that there are
no remaining loggers.
In my program's case only the main class had a logger and as you can see from the thread dump,
the main method has already ended.

> failure to shutdown JVM when join called on AsyncAppender thread
> ----------------------------------------------------------------
>                 Key: LOG4J2-830
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-830
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Appenders
>    Affects Versions: 2.0.2
>         Environment: Windows 7
> Java 8 update 20 64 & 32 bit
>            Reporter: Adam Honen
>            Priority: Minor
>         Attachments: output.txt
> I've configured my maven project to run my small java program as part of the build process
like so:
> {code}
> ...
>   <build>
>     <defaultGoal>clean install</defaultGoal>
>     <plugins>
>       <plugin>
>         <artifactId>maven-compiler-plugin</artifactId>
>         <version>2.3.2</version>
>         <configuration>
>           <source>1.8</source>
>           <target>1.8</target>
>         </configuration>
>       </plugin>
>       <plugin>
>         <groupId>org.codehaus.mojo</groupId>
>         <artifactId>exec-maven-plugin</artifactId>
>         <version>1.3.2</version>
>         <executions>
>           <execution>
>             <phase>install</phase>
>             <goals>
>               <goal>java</goal>
>             </goals>
>           </execution>
>         </executions>
> ...
> {code}
> After adding log4j 2.0.2 maven started experiencing issues completing the build process.
Luckily it has a timeout, so the only effect is a slow down of the build process, while everything
else still works.
> Also the program itself, when run outside maven, finishes without issues.

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org

View raw message