In my experience, problems like this are caused by circular references between static initializers in different classes, causing one of the classes to necessarily see the other in a half-constructed state.  If you haven&#39;t already, I&#39;d suggest carefully looking from that angle.<br>
<br>Regards,<br>Paul<br><br><br><div class="gmail_quote">On Sat, Dec 11, 2010 at 11:52 PM, Guy Korland <span dir="ltr">&lt;<a href="mailto:gkorland@gmail.com">gkorland@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div dir="ltr">David,<div><br></div><div>We just noticed that the NPE also accord in external code to our code</div><div><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;,&quot;serif&quot;; color: black;">And again this NPE is on final field! </span></div>
<div><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;,&quot;serif&quot;; color: black;"><br></span></div><div><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;,&quot;serif&quot;; color: black;">java.lang.NullPointerException<br>

    at
ch.qos.logback.classic.Logger.filterAndLog_1(Logger.java:426)<br>
    at <a href="http://ch.qos.logback.classic.Logger.info" target="_blank">ch.qos.logback.classic.Logger.info</a>(Logger.java:627)<br>
<br>
</span></div><div>Regards,</div><div>Guy Korland<div><div></div><div class="h5"><br>
<br><br><div class="gmail_quote">On Fri, Dec 10, 2010 at 5:31 PM, Guy Korland <span dir="ltr">&lt;<a href="mailto:gkorland@gmail.com" target="_blank">gkorland@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

David,<br>
<br>
we got it while running jdk6u19.<br>
The problem is that it happened to us only once and in two different places in the code that uses the same pattern.<br>
<div><br>
Regards,<br>
Guy Korland<br>
-----Original Message-----<br>
</div><div>From: David Holmes<br>
Sent:  10-12-2010, 00:31<br>
To: Guy Korland; concurrency-interest<br>
Subject: RE: [concurrency-interest] Race condition on singleton<br>
<br>
<br>
Hi Guy,<br>
<br>
In addition to compilable/runnable test case can you tell us which platform<br>
and which JDK version please. Also can you test if it happens<br>
with -Xint -client and -server.<br>
<br>
Other than the typo in the variable name there&#39;s nothing wrong with your<br>
code and static initialization of the class should be ensuring full<br>
visibility.<br>
<br>
David Holmes<br>
  -----Original Message-----<br>
  From: <a href="mailto:concurrency-interest-bounces@cs.oswego.edu" target="_blank">concurrency-interest-bounces@cs.oswego.edu</a><br>
[mailto:<a href="mailto:concurrency-interest-bounces@cs.oswego.edu" target="_blank">concurrency-interest-bounces@cs.oswego.edu</a>]On Behalf Of Guy Korland<br>
  Sent: Thursday, 9 December 2010 10:45 PM<br>
  To: concurrency-interest<br>
</div><div><div></div><div>  Subject: [concurrency-interest] Race condition on singleton<br>
<br>
<br>
  Hi,<br>
<br>
<br>
  We found a very strange pattern that seems like contradicting the Java<br>
Memory Model.<br>
  It seems like a class that is maintained as singleton doesn&#39;t have its<br>
constructor fully initialized!<br>
  See the code example bellow.<br>
<br>
<br>
  public class MyClass{<br>
<br>
<br>
    private static final MyClass = new MyClass();<br>
<br>
    private final HashMap map;<br>
<br>
<br>
    private MyClass(){<br>
        map = new HashMap();<br>
    }<br>
<br>
<br>
    public void put(Object k, Object v){<br>
       map.put(k,v);<br>
    }<br>
<br>
<br>
    static public getMyClass(){<br>
      return myClass;<br>
    }<br>
  }<br>
<br>
<br>
<br>
<br>
  And when we invoke the following:<br>
<br>
<br>
  MyClass.getMyClass().put(&quot;a&quot;,&quot;b&quot;);<br>
<br>
<br>
  We get a NullPointerException on the &quot;map.put(k,v);&quot;, meaning the<br>
map==null !?!?<br>
<br>
<br>
  Any ideas?<br>
<br>
  Thanks,<br>
  Guy Korland<br>
<br>
</div></div></blockquote></div><br></div></div></div></div>
<br>_______________________________________________<br>
Concurrency-interest mailing list<br>
<a href="mailto:Concurrency-interest@cs.oswego.edu">Concurrency-interest@cs.oswego.edu</a><br>
<a href="http://cs.oswego.edu/mailman/listinfo/concurrency-interest" target="_blank">http://cs.oswego.edu/mailman/listinfo/concurrency-interest</a><br>
<br></blockquote></div><br>