This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 236353 - Race Condition in org.openide.util.lookup.InheritanceTree$1TwoJobs
Summary: Race Condition in org.openide.util.lookup.InheritanceTree$1TwoJobs
Status: RESOLVED INVALID
Alias: None
Product: platform
Classification: Unclassified
Component: Lookup (show other bugs)
Version: 8.0
Hardware: PC Windows Vista
: P3 normal (vote)
Assignee: Jaroslav Tulach
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-09-25 09:15 UTC by ThomasKrieger
Modified: 2013-11-20 09:25 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description ThomasKrieger 2013-09-25 09:15:04 UTC
org.openide.util.lookup.InheritanceTree$1TwoJobs.internal is called by different threads. It adds an element to a shared java.util.ArrayList without synchronization which leads to a race condition:

Trace generated by http://vmlens.com

   main (15)  java.util.ArrayList.ensureCapacity
      java.util.ArrayList.ensureCapacity
      java.util.ArrayList.add
      org.openide.util.lookup.InheritanceTree$1TwoJobs.internal
      org.openide.util.lookup.InheritanceTree.classToNode
      org.openide.util.lookup.InheritanceTree.searchClass
      org.openide.util.lookup.InheritanceTree.lookup
      org.openide.util.lookup.DelegatingStorage.lookup
      org.openide.util.lookup.AbstractLookup.lookupItem
      org.openide.util.lookup.AbstractLookup.lookup
      org.openide.util.lookup.ProxyLookup.lookup
      org.netbeans.core.startup.CoreBridge.getDefault
      org.netbeans.core.startup.Main.initUICustomizations
      org.netbeans.core.startup.NbInstaller.loadImpl
      org.netbeans.core.startup.NbInstaller.access$000
      org.netbeans.core.startup.NbInstaller$1.run
      org.openide.filesystems.FileUtil$2.run
      org.openide.filesystems.EventControl.runAtomicAction
      org.openide.filesystems.FileSystem.runAtomicAction
      org.openide.filesystems.FileUtil.runAtomicAction
      org.openide.filesystems.FileUtil.runAtomicAction
      org.netbeans.core.startup.NbInstaller.load
      org.netbeans.ModuleManager.enable
      org.netbeans.ModuleManager.enable
      org.netbeans.core.startup.ModuleList.installNew
      org.netbeans.core.startup.ModuleList.trigger
      org.netbeans.core.startup.ModuleSystem.restore
      org.netbeans.core.startup.Main.getModuleSystem
      org.netbeans.core.startup.Main.getModuleSystem
      org.netbeans.core.startup.Main.start
      org.netbeans.core.startup.TopThreadGroup.run
      java.lang.Thread.run

   main (15)  java.util.ArrayList.ensureCapacity
      java.util.ArrayList.ensureCapacity
      java.util.ArrayList.add
      org.openide.util.lookup.InheritanceTree$1TwoJobs.internal
      org.openide.util.lookup.InheritanceTree.classToNode
      org.openide.util.lookup.InheritanceTree.searchClass
      org.openide.util.lookup.InheritanceTree.lookup
      org.openide.util.lookup.DelegatingStorage.lookup
      org.openide.util.lookup.AbstractLookup.lookupItem
      org.openide.util.lookup.AbstractLookup.lookup
      org.openide.util.lookup.ProxyLookup.lookup
      org.openide.windows.WindowManager.getDefault
      org.netbeans.swing.dirchooser.Module.restored
      org.netbeans.core.startup.NbInstaller.loadCode
      org.netbeans.core.startup.NbInstaller.loadImpl
      org.netbeans.core.startup.NbInstaller.access$000
      org.netbeans.core.startup.NbInstaller$1.run
      org.openide.filesystems.FileUtil$2.run
      org.openide.filesystems.EventControl.runAtomicAction
      org.openide.filesystems.FileSystem.runAtomicAction
      org.openide.filesystems.FileUtil.runAtomicAction
      org.openide.filesystems.FileUtil.runAtomicAction
      org.netbeans.core.startup.NbInstaller.load
      org.netbeans.ModuleManager.enable
      org.netbeans.ModuleManager.enable
      org.netbeans.core.startup.ModuleList.installNew
      org.netbeans.core.startup.ModuleList.trigger
      org.netbeans.core.startup.ModuleSystem.restore
      org.netbeans.core.startup.Main.getModuleSystem
      org.netbeans.core.startup.Main.getModuleSystem
      org.netbeans.core.startup.Main.start
      org.netbeans.core.startup.TopThreadGroup.run
      java.lang.Thread.run

   main (15)  java.util.ArrayList.ensureCapacity
      java.util.ArrayList.ensureCapacity
      java.util.ArrayList.add
      org.openide.util.lookup.InheritanceTree$1TwoJobs.internal
      org.openide.util.lookup.InheritanceTree.classToNode
      org.openide.util.lookup.InheritanceTree.searchClass
      org.openide.util.lookup.InheritanceTree.lookup
      org.openide.util.lookup.DelegatingStorage.lookup
      org.openide.util.lookup.AbstractLookup.lookupItem
      org.openide.util.lookup.AbstractLookup.lookup
      org.openide.util.lookup.ProxyLookup.lookup
      org.netbeans.modules.editor.EditorModule.restored
      org.netbeans.core.startup.NbInstaller.loadCode
      org.netbeans.core.startup.NbInstaller.loadImpl
      org.netbeans.core.startup.NbInstaller.access$000
      org.netbeans.core.startup.NbInstaller$1.run
      org.openide.filesystems.FileUtil$2.run
      org.openide.filesystems.EventControl.runAtomicAction
      org.openide.filesystems.FileSystem.runAtomicAction
      org.openide.filesystems.FileUtil.runAtomicAction
      org.openide.filesystems.FileUtil.runAtomicAction
      org.netbeans.core.startup.NbInstaller.load
      org.netbeans.ModuleManager.enable
      org.netbeans.ModuleManager.enable
      org.netbeans.core.startup.ModuleList.installNew
      org.netbeans.core.startup.ModuleList.trigger
      org.netbeans.core.startup.ModuleSystem.restore
      org.netbeans.core.startup.Main.getModuleSystem
      org.netbeans.core.startup.Main.getModuleSystem
      org.netbeans.core.startup.Main.start
      org.netbeans.core.startup.TopThreadGroup.run
      java.lang.Thread.run

   On Start/Stop (27)  java.util.ArrayList.ensureCapacity
      java.util.ArrayList.ensureCapacity
      java.util.ArrayList.add
      org.openide.util.lookup.InheritanceTree$1TwoJobs.internal
      org.openide.util.lookup.InheritanceTree.classToNode
      org.openide.util.lookup.InheritanceTree.searchClass
      org.openide.util.lookup.InheritanceTree.lookup
      org.openide.util.lookup.InheritanceTree.registerReferenceToResult
      org.openide.util.lookup.DelegatingStorage.registerReferenceToResult
      org.openide.util.lookup.AbstractLookup.lookup
      org.openide.util.lookup.ProxyLookup$R.initResults
      org.openide.util.lookup.ProxyLookup$R.addLookupListener
      org.openide.filesystems.URLMapper.reset
      org.openide.filesystems.URLMapper.<clinit>
      org.openide.filesystems.FileObject.toURL
      org.netbeans.modules.project.libraries.LibrariesStorage.readLibrary
      org.netbeans.modules.project.libraries.LibrariesStorage.loadFromStorage
      org.netbeans.modules.project.libraries.LibrariesStorage.initStorage
      org.netbeans.modules.project.libraries.LibrariesStorage.getLibraries
      org.netbeans.modules.project.libraries.LibrariesModule.run
      org.openide.util.RequestProcessor$Task.run
      org.openide.util.RequestProcessor$Processor.run

   main (15)  java.util.ArrayList.ensureCapacity
      java.util.ArrayList.ensureCapacity
      java.util.ArrayList.add
      org.openide.util.lookup.InheritanceTree$1TwoJobs.internal
      org.openide.util.lookup.InheritanceTree.classToNode
      org.openide.util.lookup.InheritanceTree.searchClass
      org.openide.util.lookup.InheritanceTree.lookup
      org.openide.util.lookup.DelegatingStorage.lookup
      org.openide.util.lookup.AbstractLookup.lookupItem
      org.openide.util.lookup.AbstractLookup.lookup
      org.openide.util.lookup.ProxyLookup.lookup
      org.netbeans.modules.javahelp.Installer.restored
      org.netbeans.core.startup.NbInstaller.loadCode
      org.netbeans.core.startup.NbInstaller.loadImpl
      org.netbeans.core.startup.NbInstaller.access$000
      org.netbeans.core.startup.NbInstaller$1.run
      org.openide.filesystems.FileUtil$2.run
      org.openide.filesystems.EventControl.runAtomicAction
      org.openide.filesystems.FileSystem.runAtomicAction
      org.openide.filesystems.FileUtil.runAtomicAction
      org.openide.filesystems.FileUtil.runAtomicAction
      org.netbeans.core.startup.NbInstaller.load
      org.netbeans.ModuleManager.enable
      org.netbeans.ModuleManager.enable
      org.netbeans.core.startup.ModuleList.installNew
      org.netbeans.core.startup.ModuleList.trigger
      org.netbeans.core.startup.ModuleSystem.restore
      org.netbeans.core.startup.Main.getModuleSystem
      org.netbeans.core.startup.Main.getModuleSystem
      org.netbeans.core.startup.Main.start
      org.netbeans.core.startup.TopThreadGroup.run
      java.lang.Thread.run

   main (15)  java.util.ArrayList.ensureCapacity
      java.util.ArrayList.ensureCapacity
      java.util.ArrayList.add
      org.openide.util.lookup.InheritanceTree$1TwoJobs.internal
      org.openide.util.lookup.InheritanceTree.classToNode
      org.openide.util.lookup.InheritanceTree.searchClass
      org.openide.util.lookup.InheritanceTree.lookup
      org.openide.util.lookup.DelegatingStorage.lookup
      org.openide.util.lookup.AbstractLookup.lookupItem
      org.openide.util.lookup.AbstractLookup.lookup
      org.openide.util.lookup.ProxyLookup.lookup
      org.openide.awt.NotificationDisplayer.getDefault
      org.netbeans.modules.autoupdate.ui.actions.AutoupdateCheckScheduler.signOn
      org.netbeans.modules.autoupdate.ui.actions.Installer.restored
      org.netbeans.core.startup.NbInstaller.loadCode
      org.netbeans.core.startup.NbInstaller.loadImpl
      org.netbeans.core.startup.NbInstaller.access$000
      org.netbeans.core.startup.NbInstaller$1.run
      org.openide.filesystems.FileUtil$2.run
      org.openide.filesystems.EventControl.runAtomicAction
      org.openide.filesystems.FileSystem.runAtomicAction
      org.openide.filesystems.FileUtil.runAtomicAction
      org.openide.filesystems.FileUtil.runAtomicAction
      org.netbeans.core.startup.NbInstaller.load
      org.netbeans.ModuleManager.enable
      org.netbeans.ModuleManager.enable
      org.netbeans.core.startup.ModuleList.installNew
      org.netbeans.core.startup.ModuleList.trigger
      org.netbeans.core.startup.ModuleSystem.restore
      org.netbeans.core.startup.Main.getModuleSystem
      org.netbeans.core.startup.Main.getModuleSystem
      org.netbeans.core.startup.Main.start
      org.netbeans.core.startup.TopThreadGroup.run
      java.lang.Thread.run

   main (15)  java.util.ArrayList.ensureCapacity
      java.util.ArrayList.ensureCapacity
      java.util.ArrayList.add
      org.openide.util.lookup.InheritanceTree$1TwoJobs.internal
      org.openide.util.lookup.InheritanceTree.classToNode
      org.openide.util.lookup.InheritanceTree.searchClass
      org.openide.util.lookup.InheritanceTree.lookup
      org.openide.util.lookup.InheritanceTree.registerReferenceToResult
      org.openide.util.lookup.DelegatingStorage.registerReferenceToResult
      org.openide.util.lookup.AbstractLookup.lookup
      org.openide.util.lookup.ProxyLookup$R.initResults
      org.openide.util.lookup.ProxyLookup$R.myBeforeLookup
      org.openide.util.lookup.ProxyLookup$R.computeResult
      org.openide.util.lookup.ProxyLookup$R.allInstances
      org.openide.util.lookup.ProxyLookup$R.allInstances
      org.openide.util.Lookup.lookupAll
      org.netbeans.modules.uihandler.Installer.getModuleList
      org.netbeans.modules.uihandler.Installer.restored
      org.netbeans.core.startup.NbInstaller.loadCode
      org.netbeans.core.startup.NbInstaller.loadImpl
      org.netbeans.core.startup.NbInstaller.access$000
      org.netbeans.core.startup.NbInstaller$1.run
      org.openide.filesystems.FileUtil$2.run
      org.openide.filesystems.EventControl.runAtomicAction
      org.openide.filesystems.FileSystem.runAtomicAction
      org.openide.filesystems.FileUtil.runAtomicAction
      org.openide.filesystems.FileUtil.runAtomicAction
      org.netbeans.core.startup.NbInstaller.load
      org.netbeans.ModuleManager.enable
      org.netbeans.ModuleManager.enable
      org.netbeans.core.startup.ModuleList.installNew
      org.netbeans.core.startup.ModuleList.trigger
      org.netbeans.core.startup.ModuleSystem.restore
      org.netbeans.core.startup.Main.getModuleSystem
      org.netbeans.core.startup.Main.getModuleSystem
      org.netbeans.core.startup.Main.start
      org.netbeans.core.startup.TopThreadGroup.run
      java.lang.Thread.run

   main (15)  java.util.ArrayList.ensureCapacity
      java.util.ArrayList.ensureCapacity
      java.util.ArrayList.add
      org.openide.util.lookup.InheritanceTree$1TwoJobs.internal
      org.openide.util.lookup.InheritanceTree.classToNode
      org.openide.util.lookup.InheritanceTree.searchClass
      org.openide.util.lookup.InheritanceTree.lookup
      org.openide.util.lookup.InheritanceTree.registerReferenceToResult
      org.openide.util.lookup.DelegatingStorage.registerReferenceToResult
      org.openide.util.lookup.AbstractLookup.lookup
      org.openide.util.lookup.ProxyLookup$R.initResults
      org.openide.util.lookup.ProxyLookup$R.myBeforeLookup
      org.openide.util.lookup.ProxyLookup$R.computeResult
      org.openide.util.lookup.ProxyLookup$R.allInstances
      org.openide.util.lookup.ProxyLookup$R.allInstances
      org.openide.util.Lookup.lookupAll
      org.netbeans.core.startup.CLICoreBridge.cli
      org.netbeans.CLIHandler.notifyHandlers
      org.netbeans.CLIHandler$1.exec
      org.netbeans.CLIHandler.finishInitialization
      org.netbeans.MainImpl.finishInitialization
      org.netbeans.Main.finishInitialization
      org.netbeans.core.startup.Main.start
      org.netbeans.core.startup.TopThreadGroup.run
      java.lang.Thread.run

   main (15)  java.util.ArrayList.ensureCapacity
      java.util.ArrayList.ensureCapacity
      java.util.ArrayList.add
      org.openide.util.lookup.InheritanceTree$1TwoJobs.internal
      org.openide.util.lookup.InheritanceTree.classToNode
      org.openide.util.lookup.InheritanceTree.searchClass
      org.openide.util.lookup.InheritanceTree.lookup
      org.openide.util.lookup.InheritanceTree.registerReferenceToResult
      org.openide.util.lookup.DelegatingStorage.registerReferenceToResult
      org.openide.util.lookup.AbstractLookup.lookup
      org.openide.util.lookup.ProxyLookup$R.initResults
      org.openide.util.lookup.ProxyLookup$R.myBeforeLookup
      org.openide.util.lookup.ProxyLookup$R.computeResult
      org.openide.util.lookup.ProxyLookup$R.allInstances
      org.openide.util.lookup.ProxyLookup$R.allInstances
      org.openide.util.Lookup.lookupAll
      org.netbeans.api.sendopts.CommandLine.lookupOptionProcessors
      org.netbeans.api.sendopts.CommandLine.getOptions
      org.netbeans.api.sendopts.CommandLine.process
      org.netbeans.modules.sendopts.HandlerImpl.execute
      org.netbeans.modules.sendopts.Handler.cli
      org.netbeans.CLIHandler.notifyHandlers
      org.netbeans.core.startup.CLICoreBridge.cli
      org.netbeans.CLIHandler.notifyHandlers
      org.netbeans.CLIHandler$1.exec
      org.netbeans.CLIHandler.finishInitialization
      org.netbeans.MainImpl.finishInitialization
      org.netbeans.Main.finishInitialization
      org.netbeans.core.startup.Main.start
      org.netbeans.core.startup.TopThreadGroup.run
      java.lang.Thread.run

   main (15)  java.util.ArrayList.ensureCapacity
      java.util.ArrayList.ensureCapacity
      java.util.ArrayList.add
      org.openide.util.lookup.InheritanceTree$1TwoJobs.internal
      org.openide.util.lookup.InheritanceTree.classToNode
      org.openide.util.lookup.InheritanceTree.searchClass
      org.openide.util.lookup.InheritanceTree.lookup
      org.openide.util.lookup.InheritanceTree.registerReferenceToResult
      org.openide.util.lookup.DelegatingStorage.registerReferenceToResult
      org.openide.util.lookup.AbstractLookup.lookup
      org.openide.util.lookup.ProxyLookup$R.initResults
      org.openide.util.lookup.ProxyLookup$R.myBeforeLookup
      org.openide.util.lookup.ProxyLookup$R.computeResult
      org.openide.util.lookup.ProxyLookup$R.allInstances
      org.openide.util.lookup.ProxyLookup$R.allInstances
      org.openide.awt.AcceleratorBinding$Iter.resultChanged
      org.openide.awt.AcceleratorBinding$Iter.<init>
      org.openide.awt.AcceleratorBinding.<clinit>
      java.lang.Class.forName0
      java.lang.Class.forName
      org.openide.awt.MenuBar.<clinit>
      org.netbeans.core.windows.view.ui.MainWindow.createMenuBar
      org.netbeans.core.windows.view.ui.MainWindow.init
      org.netbeans.core.windows.WindowSystemImpl.init
      org.netbeans.core.GuiRunLevel.initializeMainWindow
      org.netbeans.core.GuiRunLevel.run
      org.netbeans.core.startup.Main.start
      org.netbeans.core.startup.TopThreadGroup.run
      java.lang.Thread.run

   AWT-EventQueue-1 (32)  java.util.ArrayList.ensureCapacity
      java.util.ArrayList.ensureCapacity
      java.util.ArrayList.add
      org.openide.util.lookup.InheritanceTree$1TwoJobs.internal
      org.openide.util.lookup.InheritanceTree.classToNode
      org.openide.util.lookup.InheritanceTree.searchClass
      org.openide.util.lookup.InheritanceTree.lookup
      org.openide.util.lookup.DelegatingStorage.lookup
      org.openide.util.lookup.AbstractLookup.lookupItem
      org.openide.util.lookup.AbstractLookup.lookup
      org.openide.util.lookup.ProxyLookup.lookup
      org.openide.util.actions.ActionPresenterProvider.getDefault
      org.openide.util.actions.CallableSystemAction.getToolbarPresenter
      org.openide.awt.Toolbar$Folder.createInstance
      org.openide.loaders.FolderInstance.defaultProcessObjectsFinal
      org.openide.loaders.FolderInstance$1R.run
      org.openide.util.Task.run
      org.netbeans.modules.openide.loaders.AWTTask.run
      org.netbeans.modules.openide.loaders.AWTTask$Processor.run
      java.awt.event.InvocationEvent.dispatch
      java.awt.EventQueue.dispatchEvent
      org.netbeans.core.TimableEventQueue.dispatchEvent
      java.awt.EventDispatchThread.pumpOneEventForFilters
      java.awt.EventDispatchThread.pumpEventsForFilter
      java.awt.EventDispatchThread.pumpEventsForHierarchy
      java.awt.EventDispatchThread.pumpEvents
      java.awt.EventDispatchThread.pumpEvents
      java.awt.EventDispatchThread.run

   main (15)  java.util.ArrayList.ensureCapacity
      java.util.ArrayList.ensureCapacity
      java.util.ArrayList.add
      org.openide.util.lookup.InheritanceTree$1TwoJobs.internal
      org.openide.util.lookup.InheritanceTree.classToNode
      org.openide.util.lookup.InheritanceTree.searchClass
      org.openide.util.lookup.InheritanceTree.lookup
      org.openide.util.lookup.DelegatingStorage.lookup
      org.openide.util.lookup.AbstractLookup.lookupItem
      org.openide.util.lookup.AbstractLookup.lookup
      org.openide.util.lookup.ProxyLookup.lookup
      org.openide.LifecycleManager.getDefault
      org.netbeans.core.startup.Main.start
      org.netbeans.core.startup.TopThreadGroup.run
      java.lang.Thread.run

   AWT-EventQueue-1 (32)  java.util.ArrayList.ensureCapacity
      java.util.ArrayList.ensureCapacity
      java.util.ArrayList.add
      org.openide.util.lookup.InheritanceTree$1TwoJobs.internal
      org.openide.util.lookup.InheritanceTree.classToNode
      org.openide.util.lookup.InheritanceTree.searchClass
      org.openide.util.lookup.InheritanceTree.lookup
      org.openide.util.lookup.DelegatingStorage.lookup
      org.openide.util.lookup.AbstractLookup.lookupItem
      org.openide.util.lookup.AbstractLookup.lookup
      org.openide.util.lookup.ProxyLookup.lookup
      org.openide.actions.ActionManager.getDefault
      org.netbeans.core.ui.warmup.ContextMenuWarmUpTask.run
      org.netbeans.core.windows.WindowManagerImpl$Exclusive$1.run
      java.awt.event.InvocationEvent.dispatch
      java.awt.EventQueue.dispatchEvent
      org.netbeans.core.TimableEventQueue.dispatchEvent
      java.awt.EventDispatchThread.pumpOneEventForFilters
      java.awt.EventDispatchThread.pumpEventsForFilter
      java.awt.EventDispatchThread.pumpEventsForHierarchy
      java.awt.EventDispatchThread.pumpEvents
      java.awt.EventDispatchThread.pumpEvents
      java.awt.EventDispatchThread.run

   Default RequestProcessor (14)  java.util.ArrayList.ensureCapacity
      java.util.ArrayList.ensureCapacity
      java.util.ArrayList.add
      org.openide.util.lookup.InheritanceTree$1TwoJobs.internal
      org.openide.util.lookup.InheritanceTree.classToNode
      org.openide.util.lookup.InheritanceTree.searchClass
      org.openide.util.lookup.InheritanceTree.lookup
      org.openide.util.lookup.InheritanceTree.registerReferenceToResult
      org.openide.util.lookup.DelegatingStorage.registerReferenceToResult
      org.openide.util.lookup.AbstractLookup.lookup
      org.openide.util.lookup.ProxyLookup$R.initResults
      org.openide.util.lookup.ProxyLookup$R.myBeforeLookup
      org.openide.util.lookup.ProxyLookup$R.computeResult
      org.openide.util.lookup.ProxyLookup$R.allInstances
      org.openide.util.lookup.ProxyLookup$R.allInstances
      org.openide.util.Lookup.lookupAll
      org.netbeans.modules.parsing.impl.Schedulers.init
      org.netbeans.modules.parsing.impl.Installer$1$1.run
      org.openide.util.RequestProcessor$Task.run
      org.openide.util.RequestProcessor$Processor.run

   Warm Up (26)  java.util.ArrayList.ensureCapacity
      java.util.ArrayList.ensureCapacity
      java.util.ArrayList.add
      org.openide.util.lookup.InheritanceTree$1TwoJobs.internal
      org.openide.util.lookup.InheritanceTree.classToNode
      org.openide.util.lookup.InheritanceTree.searchClass
      org.openide.util.lookup.InheritanceTree.lookup
      org.openide.util.lookup.InheritanceTree.registerReferenceToResult
      org.openide.util.lookup.DelegatingStorage.registerReferenceToResult
      org.openide.util.lookup.AbstractLookup.lookup
      org.openide.util.lookup.ProxyLookup$R.initResults
      org.openide.util.lookup.ProxyLookup$R.myBeforeLookup
      org.openide.util.lookup.ProxyLookup$R.computeResult
      org.openide.util.lookup.ProxyLookup$R.allInstances
      org.openide.util.lookup.ProxyLookup$R.allInstances
      org.netbeans.modules.refactoring.api.impl.ActionsImplementationFactory.canRename
      org.netbeans.modules.refactoring.impl.RefactoringWarmUpTask.run
      org.netbeans.core.startup.WarmUpSupport.run
      org.openide.util.RequestProcessor$Task.run
      org.openide.util.RequestProcessor$Processor.run

   AutoUpdate-UI (25)  java.util.ArrayList.ensureCapacity
      java.util.ArrayList.ensureCapacity
      java.util.ArrayList.add
      org.openide.util.lookup.InheritanceTree$1TwoJobs.internal
      org.openide.util.lookup.InheritanceTree.classToNode
      org.openide.util.lookup.InheritanceTree.searchClass
      org.openide.util.lookup.InheritanceTree.lookup
      org.openide.util.lookup.DelegatingStorage.lookup
      org.openide.util.lookup.AbstractLookup.lookupItem
      org.openide.util.lookup.AbstractLookup.lookup
      org.openide.util.lookup.ProxyLookup.lookup
      org.netbeans.modules.autoupdate.updateprovider.InstalledUpdateProvider.defaultProvider
      org.netbeans.modules.autoupdate.updateprovider.InstalledUpdateProvider.access$000
      org.netbeans.modules.autoupdate.updateprovider.InstalledUpdateProvider$UP.getUpdateItems
      org.netbeans.modules.autoupdate.services.UpdateUnitFactory.getUpdateUnits
      org.netbeans.modules.autoupdate.services.UpdateManagerImpl$Cache.<init>
      org.netbeans.modules.autoupdate.services.UpdateManagerImpl.getCache
      org.netbeans.modules.autoupdate.services.UpdateManagerImpl.getUpdateUnits
      org.netbeans.api.autoupdate.UpdateManager.getUpdateUnits
      org.netbeans.modules.autoupdate.ui.actions.AutoupdateCheckScheduler.checkUpdateElements
      org.netbeans.modules.autoupdate.ui.actions.AutoupdateCheckScheduler$5.run
      org.openide.util.RequestProcessor$Task.run
      org.openide.util.RequestProcessor$Processor.run

   NewProjectBody (26)  java.util.ArrayList.ensureCapacity
      java.util.ArrayList.ensureCapacity
      java.util.ArrayList.add
      org.openide.util.lookup.InheritanceTree$1TwoJobs.internal
      org.openide.util.lookup.InheritanceTree.classToNode
      org.openide.util.lookup.InheritanceTree.searchClass
      org.openide.util.lookup.InheritanceTree.lookup
      org.openide.util.lookup.DelegatingStorage.lookup
      org.openide.util.lookup.AbstractLookup.lookupItem
      org.openide.util.lookup.AbstractLookup.lookup
      org.openide.util.lookup.ProxyLookup.lookup
      org.openide.DialogDisplayer.getDefault
      org.openide.loaders.TemplateWizard.instantiateImpl
      org.openide.loaders.TemplateWizard.instantiate
      org.netbeans.modules.project.ui.actions.NewProject.doPerform
      org.netbeans.modules.project.ui.actions.NewProject.access$000
      org.netbeans.modules.project.ui.actions.NewProject$1.run
      org.openide.util.RequestProcessor$Task.run
      org.openide.util.RequestProcessor$Processor.run

   AWT-EventQueue-1 (32)  java.util.ArrayList.ensureCapacity
      java.util.ArrayList.ensureCapacity
      java.util.ArrayList.add
      org.openide.util.lookup.InheritanceTree$1TwoJobs.internal
      org.openide.util.lookup.InheritanceTree.classToNode
      org.openide.util.lookup.InheritanceTree.searchClass
      org.openide.util.lookup.InheritanceTree.lookup
      org.openide.util.lookup.InheritanceTree.registerReferenceToResult
      org.openide.util.lookup.DelegatingStorage.registerReferenceToResult
      org.openide.util.lookup.AbstractLookup.lookup
      org.openide.util.lookup.ProxyLookup$R.initResults
      org.openide.util.lookup.ProxyLookup$R.myBeforeLookup
      org.openide.util.lookup.ProxyLookup$R.computeResult
      org.openide.util.lookup.ProxyLookup$R.allInstances
      org.openide.util.lookup.ProxyLookup$R.allInstances
      org.openide.util.Lookup.lookupAll
      org.netbeans.core.windows.services.DialogDisplayerImpl.customizeDlg
      org.netbeans.core.windows.services.DialogDisplayerImpl.access$000
      org.netbeans.core.windows.services.DialogDisplayerImpl$1AWTQuery.showDialog
      org.netbeans.core.windows.services.DialogDisplayerImpl$1AWTQuery.run
      java.awt.event.InvocationEvent.dispatch
      java.awt.EventQueue.dispatchEvent
      org.netbeans.core.TimableEventQueue.dispatchEvent
      java.awt.EventDispatchThread.pumpOneEventForFilters
      java.awt.EventDispatchThread.pumpEventsForFilter
      java.awt.EventDispatchThread.pumpEventsForHierarchy
      java.awt.EventDispatchThread.pumpEvents
      java.awt.EventDispatchThread.pumpEvents
      java.awt.EventDispatchThread.run

   AWT-EventQueue-1 (32)  java.util.ArrayList.ensureCapacity
      java.util.ArrayList.ensureCapacity
      java.util.ArrayList.add
      org.openide.util.lookup.InheritanceTree$1TwoJobs.internal
      org.openide.util.lookup.InheritanceTree.classToNode
      org.openide.util.lookup.InheritanceTree.searchClass
      org.openide.util.lookup.InheritanceTree.lookup
      org.openide.util.lookup.InheritanceTree.registerReferenceToResult
      org.openide.util.lookup.DelegatingStorage.registerReferenceToResult
      org.openide.util.lookup.AbstractLookup.lookup
      org.openide.util.lookup.ProxyLookup$R.initResults
      org.openide.util.lookup.ProxyLookup$R.myBeforeLookup
      org.openide.util.lookup.ProxyLookup$R.computeResult
      org.openide.util.lookup.ProxyLookup$R.allInstances
      org.openide.util.lookup.ProxyLookup$R.allInstances
      org.openide.ErrorManager$DelegatingErrorManager.initialize
      org.openide.ErrorManager.getDefaultDelegate
      org.openide.ErrorManager.getDefault
      org.netbeans.modules.project.ui.TemplatesPanelGUI.propertyChange
      java.beans.PropertyChangeSupport.firePropertyChange
      java.beans.PropertyChangeSupport.firePropertyChange
      java.awt.Component.firePropertyChange
      org.netbeans.modules.project.ui.TemplatesPanelGUI$ExplorerProviderPanel.access$900
      org.netbeans.modules.project.ui.TemplatesPanelGUI$ExplorerProviderPanel$2.run
      java.awt.event.InvocationEvent.dispatch
      java.awt.EventQueue.dispatchEvent
      org.netbeans.core.TimableEventQueue.dispatchEvent
      java.awt.EventDispatchThread.pumpOneEventForFilters
      java.awt.EventDispatchThread.pumpEventsForFilter
      java.awt.EventDispatchThread.pumpEventsForFilter
      java.awt.Dialog$1.run
      java.awt.Dialog$3.run
      java.security.AccessController.doPrivileged
      java.awt.Dialog.show
      org.netbeans.core.windows.services.NbPresenter.superShow
      org.netbeans.core.windows.services.NbPresenter.doShow
      org.netbeans.core.windows.services.NbPresenter.run
      org.netbeans.core.windows.services.NbPresenter.run
      org.openide.util.Mutex.doEventAccess
      org.openide.util.Mutex.readAccess
      org.netbeans.core.windows.services.NbPresenter.show
      java.awt.Component.show
      java.awt.Component.setVisible
      java.awt.Window.setVisible
      java.awt.Dialog.setVisible
      org.netbeans.core.windows.services.DialogDisplayerImpl$1AWTQuery.showDialog
      org.netbeans.core.windows.services.DialogDisplayerImpl$1AWTQuery.run
      java.awt.event.InvocationEvent.dispatch
      java.awt.EventQueue.dispatchEvent
      org.netbeans.core.TimableEventQueue.dispatchEvent
      java.awt.EventDispatchThread.pumpOneEventForFilters
      java.awt.EventDispatchThread.pumpEventsForFilter
      java.awt.EventDispatchThread.pumpEventsForHierarchy
      java.awt.EventDispatchThread.pumpEvents
      java.awt.EventDispatchThread.pumpEvents
      java.awt.EventDispatchThread.run

   AWT-EventQueue-1 (32)  java.util.ArrayList.remove
      java.util.ArrayList.remove
      java.util.AbstractList$Itr.remove
      org.openide.util.lookup.InheritanceTree$1TwoJobs.internal
      org.openide.util.lookup.InheritanceTree.classToNode
      org.openide.util.lookup.InheritanceTree.searchClass
      org.openide.util.lookup.InheritanceTree.lookup
      org.openide.util.lookup.InheritanceTree.registerReferenceToResult
      org.openide.util.lookup.DelegatingStorage.registerReferenceToResult
      org.openide.util.lookup.AbstractLookup.lookup
      org.openide.util.lookup.ProxyLookup$R.initResults
      org.openide.util.lookup.ProxyLookup$R.addLookupListener
      org.netbeans.modules.masterfs.filebasedfs.FileBasedFileSystem$StatusImpl.<init>
      org.netbeans.modules.masterfs.filebasedfs.FileBasedFileSystem.<init>
      org.netbeans.modules.masterfs.filebasedfs.FileBasedFileSystem.<clinit>
      org.netbeans.modules.masterfs.filebasedfs.FileBasedURLMapper.getFileObjects
      org.netbeans.modules.masterfs.MasterURLMapper.getFileObjects
      org.openide.filesystems.URLMapper.findFileObject
      org.openide.filesystems.FileUtil.toFileObject
      org.netbeans.modules.web.clientproject.ui.wizard.JavaScriptLibrarySelectionPanel.createLibrariesFolder
      org.netbeans.modules.web.clientproject.ui.wizard.JavaScriptLibrarySelectionPanel.<init>
      org.netbeans.modules.web.clientproject.ui.wizard.ClientSideProjectWizardIterator$NewProjectWizard.createPanels
      org.netbeans.modules.web.clientproject.ui.wizard.ClientSideProjectWizardIterator.initialize
      org.openide.loaders.TemplateWizard$InstantiatingIteratorBridge.initialize
      org.openide.loaders.TemplateWizardIterImpl.setIterator
      org.openide.loaders.TemplateWizardIteratorWrapper.setIterator
      org.openide.loaders.TemplateWizard.setTemplateImpl
      org.openide.loaders.TemplateWizard$1.run
      org.openide.loaders.TemplateWizard$1.run
      org.openide.util.Mutex.doEventAccess
      org.openide.util.Mutex.readAccess
      org.openide.loaders.TemplateWizard.setTemplate
      org.netbeans.modules.project.ui.ProjectTemplatePanel.storeSettings
      org.netbeans.modules.project.ui.ProjectTemplatePanel.storeSettings
      org.openide.WizardDescriptor.storeSettingsAndNotify
      org.openide.WizardDescriptor.access$1700
      org.openide.WizardDescriptor$Listener$1.run
      org.openide.WizardDescriptor.lazyValidate
      org.openide.WizardDescriptor.access$1900
      org.openide.WizardDescriptor$Listener.actionPerformed
      sun.reflect.NativeMethodAccessorImpl.invoke0
      sun.reflect.NativeMethodAccessorImpl.invoke
      sun.reflect.DelegatingMethodAccessorImpl.invoke
      java.lang.reflect.Method.invoke
      org.openide.util.WeakListenerImpl$ProxyListener.invoke
      $Proxy10.actionPerformed
      javax.swing.AbstractButton.fireActionPerformed
      javax.swing.AbstractButton$Handler.actionPerformed
      javax.swing.DefaultButtonModel.fireActionPerformed
      javax.swing.DefaultButtonModel.setPressed
      javax.swing.plaf.basic.BasicButtonListener.mouseReleased
      java.awt.Component.processMouseEvent
      javax.swing.JComponent.processMouseEvent
      java.awt.Component.processEvent
      java.awt.Container.processEvent
      java.awt.Component.dispatchEventImpl
      java.awt.Container.dispatchEventImpl
      java.awt.Component.dispatchEvent
      java.awt.LightweightDispatcher.retargetMouseEvent
      java.awt.LightweightDispatcher.processMouseEvent
      java.awt.LightweightDispatcher.dispatchEvent
      java.awt.Container.dispatchEventImpl
      java.awt.Window.dispatchEventImpl
      java.awt.Component.dispatchEvent
      java.awt.EventQueue.dispatchEvent
      org.netbeans.core.TimableEventQueue.dispatchEvent
      java.awt.EventDispatchThread.pumpOneEventForFilters
      java.awt.EventDispatchThread.pumpEventsForFilter
      java.awt.EventDispatchThread.pumpEventsForFilter
      java.awt.Dialog$1.run
      java.awt.Dialog$3.run
      java.security.AccessController.doPrivileged
      java.awt.Dialog.show
      org.netbeans.core.windows.services.NbPresenter.superShow
      org.netbeans.core.windows.services.NbPresenter.doShow
      org.netbeans.core.windows.services.NbPresenter.run
      org.netbeans.core.windows.services.NbPresenter.run
      org.openide.util.Mutex.doEventAccess
      org.openide.util.Mutex.readAccess
      org.netbeans.core.windows.services.NbPresenter.show
      java.awt.Component.show
      java.awt.Component.setVisible
      java.awt.Window.setVisible
      java.awt.Dialog.setVisible
      org.netbeans.core.windows.services.DialogDisplayerImpl$1AWTQuery.showDialog
      org.netbeans.core.windows.services.DialogDisplayerImpl$1AWTQuery.run
      java.awt.event.InvocationEvent.dispatch
      java.awt.EventQueue.dispatchEvent
      org.netbeans.core.TimableEventQueue.dispatchEvent
      java.awt.EventDispatchThread.pumpOneEventForFilters
      java.awt.EventDispatchThread.pumpEventsForFilter
      java.awt.EventDispatchThread.pumpEventsForHierarchy
      java.awt.EventDispatchThread.pumpEvents
      java.awt.EventDispatchThread.pumpEvents
      java.awt.EventDispatchThread.run

   AWT-EventQueue-1 (32)  java.util.ArrayList.ensureCapacity
      java.util.ArrayList.ensureCapacity
      java.util.ArrayList.add
      org.openide.util.lookup.InheritanceTree$1TwoJobs.internal
      org.openide.util.lookup.InheritanceTree.classToNode
      org.openide.util.lookup.InheritanceTree.searchClass
      org.openide.util.lookup.InheritanceTree.lookup
      org.openide.util.lookup.InheritanceTree.registerReferenceToResult
      org.openide.util.lookup.DelegatingStorage.registerReferenceToResult
      org.openide.util.lookup.AbstractLookup.lookup
      org.openide.util.lookup.ProxyLookup$R.initResults
      org.openide.util.lookup.ProxyLookup$R.addLookupListener
      org.netbeans.modules.masterfs.filebasedfs.FileBasedFileSystem$StatusImpl.<init>
      org.netbeans.modules.masterfs.filebasedfs.FileBasedFileSystem.<init>
      org.netbeans.modules.masterfs.filebasedfs.FileBasedFileSystem.<clinit>
      org.netbeans.modules.masterfs.filebasedfs.FileBasedURLMapper.getFileObjects
      org.netbeans.modules.masterfs.MasterURLMapper.getFileObjects
      org.openide.filesystems.URLMapper.findFileObject
      org.openide.filesystems.FileUtil.toFileObject
      org.netbeans.modules.web.clientproject.ui.wizard.JavaScriptLibrarySelectionPanel.createLibrariesFolder
      org.netbeans.modules.web.clientproject.ui.wizard.JavaScriptLibrarySelectionPanel.<init>
      org.netbeans.modules.web.clientproject.ui.wizard.ClientSideProjectWizardIterator$NewProjectWizard.createPanels
      org.netbeans.modules.web.clientproject.ui.wizard.ClientSideProjectWizardIterator.initialize
      org.openide.loaders.TemplateWizard$InstantiatingIteratorBridge.initialize
      org.openide.loaders.TemplateWizardIterImpl.setIterator
      org.openide.loaders.TemplateWizardIteratorWrapper.setIterator
      org.openide.loaders.TemplateWizard.setTemplateImpl
      org.openide.loaders.TemplateWizard$1.run
      org.openide.loaders.TemplateWizard$1.run
      org.openide.util.Mutex.doEventAccess
      org.openide.util.Mutex.readAccess
      org.openide.loaders.TemplateWizard.setTemplate
      org.netbeans.modules.project.ui.ProjectTemplatePanel.storeSettings
      org.netbeans.modules.project.ui.ProjectTemplatePanel.storeSettings
      org.openide.WizardDescriptor.storeSettingsAndNotify
      org.openide.WizardDescriptor.access$1700
      org.openide.WizardDescriptor$Listener$1.run
      org.openide.WizardDescriptor.lazyValidate
      org.openide.WizardDescriptor.access$1900
      org.openide.WizardDescriptor$Listener.actionPerformed
      sun.reflect.NativeMethodAccessorImpl.invoke0
      sun.reflect.NativeMethodAccessorImpl.invoke
      sun.reflect.DelegatingMethodAccessorImpl.invoke
      java.lang.reflect.Method.invoke
      org.openide.util.WeakListenerImpl$ProxyListener.invoke
      $Proxy10.actionPerformed
      javax.swing.AbstractButton.fireActionPerformed
      javax.swing.AbstractButton$Handler.actionPerformed
      javax.swing.DefaultButtonModel.fireActionPerformed
      javax.swing.DefaultButtonModel.setPressed
      javax.swing.plaf.basic.BasicButtonListener.mouseReleased
      java.awt.Component.processMouseEvent
      javax.swing.JComponent.processMouseEvent
      java.awt.Component.processEvent
      java.awt.Container.processEvent
      java.awt.Component.dispatchEventImpl
      java.awt.Container.dispatchEventImpl
      java.awt.Component.dispatchEvent
      java.awt.LightweightDispatcher.retargetMouseEvent
      java.awt.LightweightDispatcher.processMouseEvent
      java.awt.LightweightDispatcher.dispatchEvent
      java.awt.Container.dispatchEventImpl
      java.awt.Window.dispatchEventImpl
      java.awt.Component.dispatchEvent
      java.awt.EventQueue.dispatchEvent
      org.netbeans.core.TimableEventQueue.dispatchEvent
      java.awt.EventDispatchThread.pumpOneEventForFilters
      java.awt.EventDispatchThread.pumpEventsForFilter
      java.awt.EventDispatchThread.pumpEventsForFilter
      java.awt.Dialog$1.run
      java.awt.Dialog$3.run
      java.security.AccessController.doPrivileged
      java.awt.Dialog.show
      org.netbeans.core.windows.services.NbPresenter.superShow
      org.netbeans.core.windows.services.NbPresenter.doShow
      org.netbeans.core.windows.services.NbPresenter.run
      org.netbeans.core.windows.services.NbPresenter.run
      org.openide.util.Mutex.doEventAccess
      org.openide.util.Mutex.readAccess
      org.netbeans.core.windows.services.NbPresenter.show
      java.awt.Component.show
      java.awt.Component.setVisible
      java.awt.Window.setVisible
      java.awt.Dialog.setVisible
      org.netbeans.core.windows.services.DialogDisplayerImpl$1AWTQuery.showDialog
      org.netbeans.core.windows.services.DialogDisplayerImpl$1AWTQuery.run
      java.awt.event.InvocationEvent.dispatch
      java.awt.EventQueue.dispatchEvent
      org.netbeans.core.TimableEventQueue.dispatchEvent
      java.awt.EventDispatchThread.pumpOneEventForFilters
      java.awt.EventDispatchThread.pumpEventsForFilter
      java.awt.EventDispatchThread.pumpEventsForHierarchy
      java.awt.EventDispatchThread.pumpEvents
      java.awt.EventDispatchThread.pumpEvents
      java.awt.EventDispatchThread.run

   Opening projects (14)  java.util.ArrayList.ensureCapacity
      java.util.ArrayList.ensureCapacity
      java.util.ArrayList.add
      org.openide.util.lookup.InheritanceTree$1TwoJobs.internal
      org.openide.util.lookup.InheritanceTree.classToNode
      org.openide.util.lookup.InheritanceTree.searchClass
      org.openide.util.lookup.InheritanceTree.lookup
      org.openide.util.lookup.DelegatingStorage.lookup
      org.openide.util.lookup.AbstractLookup.lookupItem
      org.openide.util.lookup.AbstractLookup.lookup
      org.openide.util.lookup.ProxyLookup.lookup
      org.openide.modules.Modules.getDefault
      org.netbeans.modules.project.ui.OpenProjectList.addModuleInfo
      org.netbeans.modules.project.ui.OpenProjectList.access$1500
      org.netbeans.modules.project.ui.OpenProjectList$20.run
      org.netbeans.modules.project.ui.OpenProjectList$20.run
      org.openide.util.Mutex.writeAccess
      org.netbeans.modules.project.ui.OpenProjectList.doOpenProject
      org.netbeans.modules.project.ui.OpenProjectList.open
      org.netbeans.modules.project.ui.OpenProjectList$5.run
      org.openide.util.RequestProcessor$Task.run
      org.openide.util.RequestProcessor$Processor.run

   Explorer Actions (26)  java.util.ArrayList.remove
      java.util.ArrayList.remove
      java.util.AbstractList$Itr.remove
      org.openide.util.lookup.InheritanceTree$1TwoJobs.internal
      org.openide.util.lookup.InheritanceTree.classToNode
      org.openide.util.lookup.InheritanceTree.searchClass
      org.openide.util.lookup.InheritanceTree.lookup
      org.openide.util.lookup.DelegatingStorage.lookup
      org.openide.util.lookup.AbstractLookup.lookupItem
      org.openide.util.lookup.AbstractLookup.lookup
      org.openide.util.lookup.ProxyLookup.lookup
      org.netbeans.modules.openide.explorer.ExplorerActionsImpl.getClipboard
      org.netbeans.modules.openide.explorer.ExplorerActionsImpl$ActionStateUpdater.registerListener
      org.netbeans.modules.openide.explorer.ExplorerActionsImpl$ActionStateUpdater.run
      org.openide.util.RequestProcessor$Task.run
      org.openide.util.RequestProcessor$Processor.run

   Explorer Actions (26)  java.util.ArrayList.ensureCapacity
      java.util.ArrayList.ensureCapacity
      java.util.ArrayList.add
      org.openide.util.lookup.InheritanceTree$1TwoJobs.internal
      org.openide.util.lookup.InheritanceTree.classToNode
      org.openide.util.lookup.InheritanceTree.searchClass
      org.openide.util.lookup.InheritanceTree.lookup
      org.openide.util.lookup.DelegatingStorage.lookup
      org.openide.util.lookup.AbstractLookup.lookupItem
      org.openide.util.lookup.AbstractLookup.lookup
      org.openide.util.lookup.ProxyLookup.lookup
      org.netbeans.modules.openide.explorer.ExplorerActionsImpl.getClipboard
      org.netbeans.modules.openide.explorer.ExplorerActionsImpl$ActionStateUpdater.registerListener
      org.netbeans.modules.openide.explorer.ExplorerActionsImpl$ActionStateUpdater.run
      org.openide.util.RequestProcessor$Task.run
      org.openide.util.RequestProcessor$Processor.run

   AWT-EventQueue-1 (32)  java.util.ArrayList.ensureCapacity
      java.util.ArrayList.ensureCapacity
      java.util.ArrayList.add
      org.openide.util.lookup.InheritanceTree$1TwoJobs.internal
      org.openide.util.lookup.InheritanceTree.classToNode
      org.openide.util.lookup.InheritanceTree.searchClass
      org.openide.util.lookup.InheritanceTree.lookup
      org.openide.util.lookup.DelegatingStorage.lookup
      org.openide.util.lookup.AbstractLookup.lookupItem
      org.openide.util.lookup.AbstractLookup.lookup
      org.openide.util.lookup.ProxyLookup.lookup
      org.netbeans.core.execution.ExecutionEngine.getExecutionEngine
      org.netbeans.core.execution.Install.getPendingTasks
      org.netbeans.core.execution.Install.showPendingTasks
      org.netbeans.core.execution.Install.access$000
      org.netbeans.core.execution.Install$Closing.call
      org.netbeans.core.execution.Install$Closing.call
      org.netbeans.core.startup.NbStartStop.closing
      org.netbeans.core.startup.NbInstaller.closing
      org.netbeans.ModuleManager.shutDownAsync
      org.netbeans.core.startup.ModuleSystem.shutDownAsync
      org.netbeans.core.NbLifeExit.doExit
      org.netbeans.core.NbLifeExit.run
      org.openide.util.Mutex.doEvent
      org.openide.util.Mutex.readAccess
      org.netbeans.core.NbLifecycleManager.exit
      org.netbeans.core.NbLifecycleManager.exit
      org.netbeans.core.windows.view.ui.MainWindow$6.windowClosing
      java.awt.AWTEventMulticaster.windowClosing
      java.awt.AWTEventMulticaster.windowClosing
      java.awt.AWTEventMulticaster.windowClosing
      java.awt.Window.processWindowEvent
      javax.swing.JFrame.processWindowEvent
      java.awt.Window.processEvent
      java.awt.Component.dispatchEventImpl
      java.awt.Container.dispatchEventImpl
      java.awt.Window.dispatchEventImpl
      java.awt.Component.dispatchEvent
      java.awt.EventQueue.dispatchEvent
      org.netbeans.core.TimableEventQueue.dispatchEvent
      java.awt.EventDispatchThread.pumpOneEventForFilters
      java.awt.EventDispatchThread.pumpEventsForFilter
      java.awt.EventDispatchThread.pumpEventsForHierarchy
      java.awt.EventDispatchThread.pumpEvents
      java.awt.EventDispatchThread.pumpEvents
      java.awt.EventDispatchThread.run
Comment 1 Jaroslav Tulach 2013-11-20 09:25:51 UTC
I am not sure there is a problem. The call via

  On Start/Stop (27)  java.util.ArrayList.ensureCapacity
      java.util.ArrayList.ensureCapacity
      java.util.ArrayList.add
      org.openide.util.lookup.InheritanceTree$1TwoJobs.internal
      org.openide.util.lookup.InheritanceTree.classToNode
      org.openide.util.lookup.InheritanceTree.searchClass
      org.openide.util.lookup.InheritanceTree.lookup
      org.openide.util.lookup.InheritanceTree.registerReferenceToResult
      org.openide.util.lookup.DelegatingStorage.registerReferenceToResult
      org.openide.util.lookup.AbstractLookup.lookup
      org.openide.util.lookup.ProxyLookup$R.initResults
      org.openide.util.lookup.ProxyLookup$R.addLookupListener
      org.openide.filesystems.URLMapper.reset
      org.openide.filesystems.URLMapper.<clinit>
      org.openide.filesystems.FileObject.toURL
      org.netbeans.modules.project.libraries.LibrariesStorage.readLibrary
      org.netbeans.modules.project.libraries.LibrariesStorage.loadFromStorage
      org.netbeans.modules.project.libraries.LibrariesStorage.initStorage
      org.netbeans.modules.project.libraries.LibrariesStorage.getLibraries
      org.netbeans.modules.project.libraries.LibrariesModule.run
      org.openide.util.RequestProcessor$Task.run
      org.openide.util.RequestProcessor$Processor.run

goes through AbstractLookup.lookup and that one is guarded by call to enterStorage(). The other call 

   main (15)  java.util.ArrayList.ensureCapacity
      java.util.ArrayList.ensureCapacity
      java.util.ArrayList.add
      org.openide.util.lookup.InheritanceTree$1TwoJobs.internal
      org.openide.util.lookup.InheritanceTree.classToNode
      org.openide.util.lookup.InheritanceTree.searchClass
      org.openide.util.lookup.InheritanceTree.lookup
      org.openide.util.lookup.DelegatingStorage.lookup
      org.openide.util.lookup.AbstractLookup.lookupItem
      org.openide.util.lookup.AbstractLookup.lookup
      org.openide.util.lookup.ProxyLookup.lookup
      org.netbeans.core.startup.CoreBridge.getDefault
      org.netbeans.core.startup.Main.initUICustomizations
      org.netbeans.core.startup.NbInstaller.loadImpl
      org.netbeans.core.startup.NbInstaller.access$000
      org.netbeans.core.startup.NbInstaller$1.run
      org.openide.filesystems.FileUtil$2.run
      org.openide.filesystems.EventControl.runAtomicAction
      org.openide.filesystems.FileSystem.runAtomicAction
      org.openide.filesystems.FileUtil.runAtomicAction
      org.openide.filesystems.FileUtil.runAtomicAction
      org.netbeans.core.startup.NbInstaller.load
      org.netbeans.ModuleManager.enable
      org.netbeans.ModuleManager.enable
      org.netbeans.core.startup.ModuleList.installNew
      org.netbeans.core.startup.ModuleList.trigger
      org.netbeans.core.startup.ModuleSystem.restore
      org.netbeans.core.startup.Main.getModuleSystem
      org.netbeans.core.startup.Main.getModuleSystem
      org.netbeans.core.startup.Main.start
      org.netbeans.core.startup.TopThreadGroup.run
      java.lang.Thread.run

goes through AbstractLookup.lookupItem and that one also calls enterStorage().

I may be overseeing something, but in my opinion the system is properly synchronized by the enter/exit Storage methods.