<style>
/* Changing the layout to use less space for mobiles */
@media screen and (max-device-width: 480px), screen and (-webkit-min-device-pixel-ratio: 2) {
    #email-body { min-width: 30em !important; }
    #email-page { padding: 8px !important; }
    #email-banner { padding: 8px 8px 0 8px !important; }
    #email-avatar { margin: 1px 8px 8px 0 !important; padding: 0 !important; }
    #email-fields { padding: 0 8px 8px 8px !important; }
    #email-gutter { width: 0 !important; }
}
</style>
<div id="email-body">
<table id="email-wrap" align="center" border="0" cellpadding="0" cellspacing="0" style="background-color:#f0f0f0;color:#000000;width:100%;">
    <tr valign="top">
        <td id="email-page" style="padding:16px !important;">
            <table align="center" border="0" cellpadding="0" cellspacing="0" style="background-color:#ffffff;border:1px solid #bbbbbb;color:#000000;width:100%;">
                <tr valign="top">
                    <td bgcolor="#003366" style="background-color:#003366;color:#ffffff;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;line-height:1;"><img src="http://jira.qos.ch/s/en_USb9v8he-418945332/850/25/_/jira-logo-scaled.png" alt="" style="vertical-align:top;" /></td>
                </tr><tr valign="top">
    <td id="email-banner" style="padding:32px 32px 0 32px;">

                
        
        
            <table align="left" border="0" cellpadding="0" cellspacing="0" width="100%" style="width:100%;">
    <tr valign="top">
        <td style="color:#505050;font-family:Arial,FreeSans,Helvetica,sans-serif;padding:0;">
                                        <img id="email-avatar" src="http://jira.qos.ch/secure/useravatar?avatarId=10122" alt="" height="48" width="48" border="0" align="left" style="padding:0;margin: 0 16px 16px 0;" />
                        <div id="email-action" style="padding: 0 0 8px 0;font-size:12px;line-height:18px;">
                                    <a class="user-hover" rel="rsargant" id="email_rsargant" href="http://jira.qos.ch/secure/ViewProfile.jspa?name=rsargant" style="color:#326ca6;">Ross Sargant</a>
     commented on <img src="http://jira.qos.ch/images/icons/issuetypes/bug.png" height="16" width="16" border="0" align="absmiddle" alt="Bug"> <a style='color:#326ca6;text-decoration:none;' href='http://jira.qos.ch/browse/LOGBACK-397'>LOGBACK-397</a>
            </div>
                        <div id="email-summary" style="font-size:16px;line-height:20px;padding:2px 0 16px 0;">
                <a style='color:#326ca6;text-decoration:none;' href='http://jira.qos.ch/browse/LOGBACK-397'><strong>ConcurrentModificationException when LoggerContext.reset </strong></a>
            </div>
                    </td>
    </tr>
</table>
    </td>
</tr>
<tr valign="top">
    <td id="email-fields" style="padding:0 32px 32px 32px;">
        <table border="0" cellpadding="0" cellspacing="0" style="padding:0;text-align:left;width:100%;" width="100%">
            <tr valign="top">
                <td id="email-gutter" style="width:64px;white-space:nowrap;"></td>
                <td>
                    <table border="0" cellpadding="0" cellspacing="0" width="100%">
                        <tr valign="top">
    <td colspan="2" style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 16px 0;width:100%;">
        <div class="comment-block" style="background-color:#edf5ff;border:1px solid #dddddd;color:#000000;padding:12px;"><p>I dug into this issue myself . It doesn't seem that context.reset() is completely threadsafe  If other threads in the system are creating loggers at the time reset() is called, this is exception may occur. The test code below reproduces this problem in Logback 1.0.13</p>

<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java"><span class="code-keyword">package</span> com.tvrc.test;
<span class="code-keyword">import</span> java.util.ArrayList;
<span class="code-keyword">import</span> java.util.List;
<span class="code-keyword">import</span> org.slf4j.Logger;
<span class="code-keyword">import</span> org.slf4j.LoggerFactory;
<span class="code-keyword">import</span> ch.qos.logback.classic.LoggerContext;

<span class="code-keyword">public</span> class TestReset {

        <span class="code-keyword">public</span> <span class="code-keyword">static</span> void main(<span class="code-object">String</span>[] args) {
                <span class="code-comment">// TODO Auto-generated method stub
</span>           
                Logger foo=LoggerFactory.getLogger(<span class="code-quote">"Test"</span>);
                
                foo.info(<span class="code-quote">"Just checking that logging is up"</span>);
                
                <span class="code-object">Thread</span> logCreator=<span class="code-keyword">new</span> <span class="code-object">Thread</span>(<span class="code-keyword">new</span> <span class="code-object">Runnable</span>(){

                        @Override
                        <span class="code-keyword">public</span> void run() {
                                <span class="code-comment">// TODO Auto-generated method stub
</span>                           
                                <span class="code-keyword">try</span>{
                                        
                                        List<Logger> loggers=<span class="code-keyword">new</span> ArrayList<Logger>();
                                
                                        <span class="code-object">int</span> counter=0;
                                        
                                        <span class="code-keyword">while</span>(<span class="code-keyword">true</span>){
                                                
                                                Logger test=LoggerFactory.getLogger(<span class="code-quote">"logger"</span>+counter++);
                                                
                                                loggers.add(test);
                                                
                                        }
                                        
                                }<span class="code-keyword">catch</span>(Throwable t){
                                        
                                        t.printStackTrace();
                                }
                                
                        }
                        
                        
                },<span class="code-quote">"logCreator"</span>);
                
                logCreator.start();
                
                LoggerContext context=(LoggerContext) LoggerFactory.getILoggerFactory();
                
                <span class="code-keyword">try</span>{
                        
                        <span class="code-keyword">while</span> (<span class="code-keyword">true</span>){
        
                                context.reset();
                                
                        }
                }<span class="code-keyword">catch</span>(Throwable t){
                        
                        t.printStackTrace();
                        
                }
        }

}

</pre>
</div></div>
</div>
        <div style="color:#505050;padding:4px 0 0 0;">                </div>
    </td>
</tr>
                    </table>
                </td>
            </tr>
        </table>
    </td>
</tr>













            </table>
        </td><!-- End #email-page -->
    </tr>
    <tr valign="top">
        <td style="color:#505050;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:10px;line-height:14px;padding: 0 16px 16px 16px;text-align:center;">
            This message is automatically generated by JIRA.<br />
            If you think it was sent incorrectly, please contact your JIRA administrators<br />
            For more information on JIRA, see: <a style='color:#326ca6;' href='http://www.atlassian.com/software/jira'>http://www.atlassian.com/software/jira</a>
        </td>
    </tr>
</table><!-- End #email-wrap -->
</div><!-- End #email-body -->