https://issues.apache.org/bugzilla/show_bug.cgi?id=49144

           Summary: Incorrect lazy initialization and update of static
                    fields?
           Product: Tomcat 7
           Version: trunk
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Catalina
        AssignedTo: dev@tomcat.apache.org
        ReportedBy: s...@apache.org


Incorrect lazy initialization and update of static fields:

org.apache.catalina.startup.Bootstrap.daemon
org.apache.catalina.startup.ContextConfig.contextDigester

Findbugs says:

This method contains an unsynchronized lazy initialization of a static field.
After the field is set, the object stored into that location is further updated
or accessed. The setting of the field is visible to other threads as soon as it
is set. If the futher accesses in the method that set the field serve to
initialize the object, then you have a very serious multithreading bug, unless
something else prevents any other thread from accessing the stored object until
it is fully initialized. 

Even if you feel confident that the method is never called by multiple threads,
it might be better to not set the static field until the value you are setting
it to is fully populated/initialized.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

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

Reply via email to