Bug: Incorrect lazy initialization of static field

org.eclipse.help.internal.base.scope.ScopeRegistry.instance in
org.eclipse.help.internal.base.scope.ScopeRegistry.getInstance()

This method contains an unsynchronized lazy initialization of a
non-volatile static field. Because the compiler or processor may reorder
instructions, threads are not guaranteed to see a completely initialized
object, if the method can be called by multiple threads. You can make
the field volatile to correct the problem. For more information, see the
Java Memory Model web site.

Rank: Troubling (14), confidence: Normal
Pattern: LI_LAZY_INIT_STATIC
Type: LI, Category: MT_CORRECTNESS (Multithreaded correctness)

Change-Id: I232f050bbbc83403c4b7346cb411ec47b74f19fd
Signed-off-by: Carsten Hammer <carsten.hammer@t-online.de>
Reviewed-on: https://git.eclipse.org/r/c/platform/eclipse.platform.ua/+/173454
Tested-by: Platform Bot <platform-bot@eclipse.org>
Reviewed-by: Alexander Kurtakov <akurtako@redhat.com>
1 file changed