[ 
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
(v6.3.4#6332)

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

Reply via email to