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.
Summary: | Netbeans 6.1 hangs at startup on "starting modules" | ||
---|---|---|---|
Product: | versioncontrol | Reporter: | hbitteur <hbitteur> |
Component: | Mercurial | Assignee: | issues@versioncontrol <issues> |
Status: | RESOLVED WORKSFORME | ||
Severity: | blocker | CC: | jacky75, mmirilovic |
Priority: | P2 | Keywords: | PERFORMANCE, THREAD |
Version: | 6.x | ||
Hardware: | Other | ||
OS: | Windows XP | ||
Issue Type: | DEFECT | Exception Reporter: | |
Attachments: | patch to call hg version outside of AWT thread |
Description
hbitteur
2008-04-30 15:20:22 UTC
The Hg module should not do a synchronous version check, I think. Created attachment 60916 [details]
patch to call hg version outside of AWT thread
The attached patch moves the call to hg version out of the AWT thread. There must be something else going on here though. I am sure that people have been able to start NetBeans 6.1 on Windows XP. I've been running 6.1 on XP for months with mercurial without issue. Can't reproduce either. To reporter: some special setup? Could it happen that nb user dir is somewhere under .hg directory? I have looked at this more closely and the call to hg version is not being done in AWT thread so I am not sure what would be gained by moving it to another thread. Not reproducible - if you have a reproducible test case please reopen. I'm experiencing the same issue. It's not present if in the "Base IDE" module I deactive "CVS", "Local History", "Mercurial" and "Subversion". If only one of those is active, then Netbeans 6.1 hangs at startup on "starting modules". This issue doesn't happen in two contexts: - If I'm at my jobplace: I can start Netbeans 6.1 without any issue with "CVS", "Local History", "Mercurial" and "Subversion" active - If I'm at home without a network connection If I'm at home with the WLAN or LAN connected, the issue is present. When the issue is present and I'm waiting displaying the "starting modules" plash, then if I disable the LAN or I unplugged the LAN cable, Netbeans starts immediately. The network proxy configuration is properly setup at home and at job. Using wireshark I tried to get if something is trying to connect somewhere but nothing strange seems happening. Please attach a thread dump (or more successive dumps) while the IDE is frozen. The thread dump taken while the IDE is frozen on "starting modules" is the following: C:\Program Files\NetBeans 6.1\bin>nb.exe Please use CMSClassUnloadingEnabled in place of CMSPermGenSweepingEnabled in t future ^C C:\Program Files\NetBeans 6.1\bin>2008-09-18 08:09:40 Full thread dump Java HotSpot(TM) Client VM (10.0-b23 mixed mode): "Thread-4" daemon prio=2 tid=0x2933c400 nid=0x15c4 in Object.wait() [0x2c26f00 .0x2c26fb94] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x02fc7b80> (a java.util.LinkedList) at java.lang.Object.wait(Object.java:485) at java.util.prefs.AbstractPreferences$EventDispatchThread.run(Abstrac references.java:1461) - locked <0x02fc7b80> (a java.util.LinkedList) "Versioning fire FileStatusChanged" daemon prio=2 tid=0x29367400 nid=0x784 run ble [0x2b86f000..0x2b86fc14] java.lang.Thread.State: RUNNABLE at java.io.WinNTFileSystem.getBooleanAttributes(Native Method) at java.io.File.exists(File.java:733) at org.netbeans.modules.masterfs.filebasedfs.utils.FileChangedManager. ists(FileChangedManager.java:96) at org.netbeans.modules.masterfs.filebasedfs.utils.FileInfo.exists(Fil nfo.java:119) at org.netbeans.modules.masterfs.filebasedfs.utils.FileInfo.isConverti eToFileObject(FileInfo.java:175) at org.netbeans.modules.masterfs.filebasedfs.fileobjects.FileObjectFac ry.getInstance(FileObjectFactory.java:111) at org.netbeans.modules.masterfs.filebasedfs.fileobjects.FileObjectFac ry.getInstance(FileObjectFactory.java:99) at org.netbeans.modules.masterfs.filebasedfs.FileBasedFileSystem.getFi Object(FileBasedFileSystem.java:128) at org.netbeans.modules.masterfs.filebasedfs.FileBasedURLMapper.getFil bjects(FileBasedURLMapper.java:129) at org.netbeans.modules.masterfs.MasterURLMapper.getFileObjects(Master LMapper.java:61) at org.openide.filesystems.URLMapper.findFileObject(URLMapper.java:213 at org.openide.filesystems.FileUtil.toFileObject(FileUtil.java:669) at org.netbeans.modules.versioning.VersioningAnnotationProvider$1.run( rsioningAnnotationProvider.java:289) at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:56 at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.ja :986) "AWT-EventQueue-0" prio=6 tid=0x29169000 nid=0x1664 in Object.wait() [0x2aecf0 ..0x2aecfd94] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x049d8f30> (a java.awt.EventQueue) at java.lang.Object.wait(Object.java:485) at java.awt.EventQueue.getNextEvent(EventQueue.java:479) - locked <0x049d8f30> (a java.awt.EventQueue) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchTh ad.java:245) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThrea java:183) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchTh ad.java:173) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:16 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:16 at java.awt.EventDispatchThread.run(EventDispatchThread.java:121) "AWT-Windows" daemon prio=6 tid=0x29158400 nid=0x614 runnable [0x2ac5f000..0x2 5fa14] java.lang.Thread.State: RUNNABLE at sun.awt.windows.WToolkit.eventLoop(Native Method) at sun.awt.windows.WToolkit.run(WToolkit.java:290) at java.lang.Thread.run(Thread.java:619) "AWT-Shutdown" prio=6 tid=0x29157800 nid=0x1214 in Object.wait() [0x2aa5f000.. 2aa5fa94] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x049f02a0> (a java.lang.Object) at java.lang.Object.wait(Object.java:485) at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:259) - locked <0x049f02a0> (a java.lang.Object) at java.lang.Thread.run(Thread.java:619) "Java2D Disposer" daemon prio=10 tid=0x29108800 nid=0x1ac in Object.wait() [0x 75f000..0x2a75fb14] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x049f02b0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116) - locked <0x049f02b0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132) at sun.java2d.Disposer.run(Disposer.java:125) at java.lang.Thread.run(Thread.java:619) "main" prio=6 tid=0x284e3000 nid=0xf9c in Object.wait() [0x2a4ef000..0x2a4efb9 java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x02e1ffc8> (a org.openide.util.Mutex$QueueCell) at java.lang.Object.wait(Object.java:485) at org.openide.util.Mutex$QueueCell.sleep(Mutex.java:1601) - locked <0x02e1ffc8> (a org.openide.util.Mutex$QueueCell) at org.openide.util.Mutex.enterImpl(Mutex.java:723) at org.openide.util.Mutex.enter(Mutex.java:630) at org.openide.util.Mutex.access$000(Mutex.java:105) at org.openide.util.Mutex$1Exec.run(Mutex.java:1237) at org.netbeans.api.project.ProjectManager$2$1.run(ProjectManager.java 20) at org.openide.filesystems.EventControl.runAtomicAction(EventControl.j a:120) at org.openide.filesystems.FileSystem.runAtomicAction(FileSystem.java: 9) at org.openide.filesystems.FileUtil.runAtomicAction(FileUtil.java:215) at org.netbeans.api.project.ProjectManager$2.execute(ProjectManager.ja :118) at org.openide.util.Mutex.postRequest(Mutex.java:1245) at org.openide.util.Mutex.postRequest(Mutex.java:1209) at org.openide.util.Mutex.postWriteRequest(Mutex.java:582) at org.netbeans.modules.java.j2seplatform.J2SEPlatformModule.updateBui Properties(J2SEPlatformModule.java:77) at org.netbeans.modules.java.j2seplatform.J2SEPlatformModule.restored( SEPlatformModule.java:72) at org.netbeans.core.startup.NbInstaller.loadCode(NbInstaller.java:419 at org.netbeans.core.startup.NbInstaller.load(NbInstaller.java:340) at org.netbeans.ModuleManager.enable(ModuleManager.java:936) at org.netbeans.core.startup.ModuleList.installNew(ModuleList.java:428 at org.netbeans.core.startup.ModuleList.trigger(ModuleList.java:364) at org.netbeans.core.startup.ModuleSystem.restore(ModuleSystem.java:27 at org.netbeans.core.startup.Main.getModuleSystem(Main.java:174) at org.netbeans.core.startup.Main.start(Main.java:325) at org.netbeans.core.startup.TopThreadGroup.run(TopThreadGroup.java:11 at java.lang.Thread.run(Thread.java:619) "Default RequestProcessor" daemon prio=2 tid=0x284e1c00 nid=0x1610 runnable [0 a2ef000..0x2a2efc14] java.lang.Thread.State: RUNNABLE at java.io.WinNTFileSystem.getBooleanAttributes(Native Method) at java.io.File.exists(File.java:733) at org.netbeans.modules.masterfs.filebasedfs.utils.FileChangedManager. ists(FileChangedManager.java:96) at org.netbeans.modules.masterfs.filebasedfs.utils.FileInfo.exists(Fil nfo.java:119) at org.netbeans.modules.masterfs.filebasedfs.utils.FileInfo.isConverti eToFileObject(FileInfo.java:175) at org.netbeans.modules.masterfs.filebasedfs.fileobjects.FileObjectFac ry.getInstance(FileObjectFactory.java:111) at org.netbeans.modules.masterfs.filebasedfs.fileobjects.FileObjectFac ry.getInstance(FileObjectFactory.java:99) at org.netbeans.modules.masterfs.filebasedfs.FileBasedFileSystem.getFi Object(FileBasedFileSystem.java:128) at org.netbeans.modules.masterfs.filebasedfs.FileBasedURLMapper.getFil bjects(FileBasedURLMapper.java:129) at org.netbeans.modules.masterfs.MasterURLMapper.getFileObjects(Master LMapper.java:61) at org.openide.filesystems.URLMapper.findFileObject(URLMapper.java:213 at org.openide.filesystems.FileUtil.toFileObject(FileUtil.java:669) at org.netbeans.modules.versioning.FilesystemInterceptor.getRootFilesy ems(FilesystemInterceptor.java:98) at org.netbeans.modules.versioning.FilesystemInterceptor.init(Filesyst Interceptor.java:70) at org.netbeans.modules.versioning.VersioningManager.init(VersioningMa ger.java:141) at org.netbeans.modules.versioning.VersioningManager.getInstance(Versi ingManager.java:94) - locked <0x1ad5d630> (a java.lang.Class for org.netbeans.modules.vers ning.VersioningManager) at org.netbeans.modules.versioning.VersioningAnnotationProvider.getInt ceptionListener(VersioningAnnotationProvider.java:215) at org.netbeans.modules.masterfs.ProvidedExtensionsProxy.fileLocked(Pr idedExtensionsProxy.java:227) at org.netbeans.modules.masterfs.filebasedfs.fileobjects.FileObj.lock( leObj.java:278) at org.netbeans.spi.project.support.ant.PropertyUtils$2.run(PropertyUt s.java:178) at org.netbeans.spi.project.support.ant.PropertyUtils$2.run(PropertyUt s.java:155) at org.openide.util.Mutex.writeAccess(Mutex.java:433) at org.openide.util.Mutex$1R.run(Mutex.java:1305) at org.openide.util.Mutex.doWrapperAccess(Mutex.java:1318) at org.openide.util.Mutex.writeAccess(Mutex.java:426) at org.netbeans.spi.project.support.ant.PropertyUtils.putGlobalPropert s(PropertyUtils.java:154) at org.netbeans.modules.mobility.cldcplatform.PlatformConvertor$2$1.ru PlatformConvertor.java:554) at org.openide.util.Mutex.writeAccess(Mutex.java:433) at org.openide.util.Mutex$1R.run(Mutex.java:1305) at org.netbeans.api.project.ProjectManager$2$1.run(ProjectManager.java 20) at org.openide.filesystems.EventControl.runAtomicAction(EventControl.j a:120) at org.openide.filesystems.FileSystem.runAtomicAction(FileSystem.java: 9) at org.openide.filesystems.FileUtil.runAtomicAction(FileUtil.java:215) at org.netbeans.api.project.ProjectManager$2.execute(ProjectManager.ja :118) at org.openide.util.Mutex.doWrapperAccess(Mutex.java:1320) at org.openide.util.Mutex.writeAccess(Mutex.java:426) at org.netbeans.modules.mobility.cldcplatform.PlatformConvertor$2.run( atformConvertor.java:540) at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:56 at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.ja :986) "Timer-0" daemon prio=6 tid=0x290c4800 nid=0x174c in Object.wait() [0x2a0ef000 0x2a0efc94] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x049f14e8> (a java.util.TaskQueue) at java.lang.Object.wait(Object.java:485) at java.util.TimerThread.mainLoop(Timer.java:483) - locked <0x049f14e8> (a java.util.TaskQueue) at java.util.TimerThread.run(Timer.java:462) "CLI Requests Server" daemon prio=6 tid=0x284e0800 nid=0x16d8 runnable [0x29ee 00..0x29eefd14] java.lang.Thread.State: RUNNABLE at java.net.PlainSocketImpl.socketAccept(Native Method) at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384) - locked <0x049a7a68> (a java.net.SocksSocketImpl) at java.net.ServerSocket.implAccept(ServerSocket.java:453) at java.net.ServerSocket.accept(ServerSocket.java:421) at org.netbeans.CLIHandler$Server.run(CLIHandler.java:1003) "Active Reference Queue Daemon" daemon prio=2 tid=0x2841ec00 nid=0x1740 in Obj t.wait() [0x28f9f000..0x28f9fd94] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x049f1548> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116) - locked <0x049f1548> (a java.lang.ref.ReferenceQueue$Lock) at org.openide.util.Utilities$ActiveQueue.run(Utilities.java:3056) at java.lang.Thread.run(Thread.java:619) "Low Memory Detector" daemon prio=6 tid=0x2830bc00 nid=0x15f8 runnable [0x0000 00..0x00000000] java.lang.Thread.State: RUNNABLE "CompilerThread0" daemon prio=10 tid=0x28306000 nid=0x11b4 waiting on conditio [0x00000000..0x28b4f7bc] java.lang.Thread.State: RUNNABLE "Attach Listener" daemon prio=10 tid=0x28305000 nid=0xeac runnable [0x00000000 0x00000000] java.lang.Thread.State: RUNNABLE "Signal Dispatcher" daemon prio=10 tid=0x28304000 nid=0x1050 waiting on condit n [0x00000000..0x00000000] java.lang.Thread.State: RUNNABLE "Surrogate Locker Thread (CMS)" daemon prio=6 tid=0x28303000 nid=0x1590 waitin on condition [0x00000000..0x286ffe28] java.lang.Thread.State: RUNNABLE "Finalizer" daemon prio=8 tid=0x267eb800 nid=0x734 in Object.wait() [0x282ff00 .0x282ffd14] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x04a648d0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116) - locked <0x04a648d0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) "Reference Handler" daemon prio=10 tid=0x267e7400 nid=0x15d0 in Object.wait() x280ff000..0x280ffd94] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x049f02d0> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:485) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) - locked <0x049f02d0> (a java.lang.ref.Reference$Lock) "main" prio=6 tid=0x002a7c00 nid=0x14ec in Object.wait() [0x00abf000..0x00abfe ] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x049c8228> (a org.netbeans.core.startup.TopThreadGroup) at java.lang.Object.wait(Object.java:485) at org.netbeans.core.startup.TopThreadGroup.start(TopThreadGroup.java: 4) - locked <0x049c8228> (a org.netbeans.core.startup.TopThreadGroup) at org.netbeans.core.startup.Main.main(Main.java:91) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImp java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcc sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.netbeans.MainImpl.main(MainImpl.java:84) at org.netbeans.Main.main(Main.java:75) "VM Thread" prio=10 tid=0x267e4400 nid=0x1424 runnable "Gang worker#0 (Parallel GC Threads)" prio=10 tid=0x002aac00 nid=0x16fc runnab "Gang worker#1 (Parallel GC Threads)" prio=10 tid=0x002ac000 nid=0x8b8 runnabl "Concurrent Mark-Sweep GC Thread" prio=10 tid=0x26765000 nid=0x730 runnable "VM Periodic Task Thread" prio=10 tid=0x28316000 nid=0x1268 waiting on conditi JNI global references: 1165 Heap par new generation total 14784K, used 6596K [0x02be0000, 0x03be0000, 0x0485 00) eden space 13184K, 45% used [0x02be0000, 0x031c37d8, 0x038c0000) from space 1600K, 35% used [0x03a50000, 0x03addbb0, 0x03be0000) to space 1600K, 0% used [0x038c0000, 0x038c0000, 0x03a50000) concurrent mark-sweep generation total 22332K, used 9995K [0x04850000, 0x05e1 00, 0x19de0000) concurrent-mark-sweep perm gen total 32768K, used 16603K [0x19de0000, 0x1bde0 0, 0x265e0000) I've temporarily solved the problem. I was thinking about the differences between my home environment and my job place and I decided to look again on the traces taken with wireshark. At the office there's a windows domain and we have different Network shares mapped as Network Drive(w:, x: etc....) with "reconnection at logon". I disconnected all my network drives (not available when I'm at home) and now netbeans starts immediately. This is not the final solution for me because I should connect all network drives every morning. This issue is only present if I'm not at the office and I'm connected to the LAN (or the WLAN) and in the "Base IDE" module at least one the following items is active"CVS", "Local History", "Mercurial" and "Subversion". In my case I need to use "Local History" and "Mercurial". the last reported problem (jacky75) has nothing to do with this issue. It is caused by o.n.m.versioning.FilesystemInterceptor.getRootFilesyems -> new issue #147611 |