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 119734 - [60cat] IDE hangs when changing project group
Summary: [60cat] IDE hangs when changing project group
Status: VERIFIED FIXED
Alias: None
Product: javaee
Classification: Unclassified
Component: Web Freeform (show other bugs)
Version: 6.x
Hardware: PC Windows XP
: P2 blocker (vote)
Assignee: David Konecny
URL:
Keywords: THREAD
Depends on:
Blocks:
 
Reported: 2007-10-23 09:52 UTC by dynamite
Modified: 2008-11-26 10:24 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
two deadlocked threads (4.82 KB, text/plain)
2007-10-24 12:16 UTC, David Konecny
Details

Note You need to log in before you can comment on or make changes to this bug.
Description dynamite 2007-10-23 09:52:58 UTC
[ BUILD # : 200710181200 ]
[ JDK VERSION : 1.6.0_02 ]

I changed project group from one with a J2SE app to one that had a
free-form J2EE app when a number of files to pre-open.  I got the
thread dump prior to shutdown.

Full thread dump Java HotSpot(TM) Client VM (1.5.0_11-b03 mixed
mode):

"Thread-96" prio=2 tid=0x31cc4b88 nid=0x2454 in Object.wait()
[0x3528f000..0x3528fc68]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x120a4ed0> (a
java.awt.EventQueue$1AWTInvocationLock)
        at java.lang.Object.wait(Object.java:474)
        at java.awt.EventQueue.invokeAndWait(EventQueue.java:848)
        - locked <0x120a4ed0> (a
java.awt.EventQueue$1AWTInvocationLock)
        at
javax.swing.SwingUtilities.invokeAndWait(SwingUtilities.java:1257)
        at
org.netbeans.modules.web.core.syntax.folding.JspFoldManager.updateFold
s(JspFoldManager.java:523)
        - locked <0x1205fbe0> (a
org.netbeans.modules.web.core.syntax.folding.JspFoldManager)
        at
org.netbeans.modules.web.core.syntax.folding.JspFoldManager.access$100
(JspFoldManager.java:88)
        at
org.netbeans.modules.web.core.syntax.folding.JspFoldManager$1$1.run(Js
pFoldManager.java:150)
        at java.lang.Thread.run(Thread.java:595)

"Timer-9" prio=6 tid=0x28989ab0 nid=0x160c in Object.wait()
[0x378ff000..0x378ffce8]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x11eb2e88> (a java.lang.Thread)
        at java.lang.Thread.join(Thread.java:1095)
        - locked <0x11eb2e88> (a java.lang.Thread)
        at java.lang.Thread.join(Thread.java:1148)
        at
org.netbeans.modules.web.core.syntax.folding.JspFoldManager$1.run(JspF
oldManager.java:160)
        at java.util.TimerThread.mainLoop(Timer.java:512)
        at java.util.TimerThread.run(Timer.java:462)

"Thread-93" prio=2 tid=0x300e4070 nid=0x15a4 in Object.wait()
[0x34e8f000..0x34e8f9e8]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0f4a1230> (a
java.awt.EventQueue$1AWTInvocationLock)
        at java.lang.Object.wait(Object.java:474)
        at java.awt.EventQueue.invokeAndWait(EventQueue.java:848)
        - locked <0x0f4a1230> (a
java.awt.EventQueue$1AWTInvocationLock)
        at
javax.swing.SwingUtilities.invokeAndWait(SwingUtilities.java:1257)
        at
org.netbeans.modules.web.core.syntax.folding.JspFoldManager.updateFold
s(JspFoldManager.java:523)
        - locked <0x1186df68> (a
org.netbeans.modules.web.core.syntax.folding.JspFoldManager)
        at
org.netbeans.modules.web.core.syntax.folding.JspFoldManager.access$100
(JspFoldManager.java:88)
        at
org.netbeans.modules.web.core.syntax.folding.JspFoldManager$1$1.run(Js
pFoldManager.java:150)
        at java.lang.Thread.run(Thread.java:595)

"Timer-7" prio=6 tid=0x2fc48bd0 nid=0x2d44 in Object.wait()
[0x3508f000..0x3508fa68]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0ae277c8> (a java.lang.Thread)
        at java.lang.Thread.join(Thread.java:1095)
        - locked <0x0ae277c8> (a java.lang.Thread)
        at java.lang.Thread.join(Thread.java:1148)
        at
org.netbeans.modules.web.core.syntax.folding.JspFoldManager$1.run(JspF
oldManager.java:160)
        at java.util.TimerThread.mainLoop(Timer.java:512)
        at java.util.TimerThread.run(Timer.java:462)

"Default RequestProcessor" daemon prio=2 tid=0x2fc15710 nid=0x1fe4 in
Object.wait() [0x336ef000..0x336efbe8]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x120a4378> (a
org.openide.util.Mutex$QueueCell)
        at java.lang.Object.wait(Object.java:474)
        at org.openide.util.Mutex$QueueCell.sleep(Mutex.java:1469)
        - locked <0x120a4378> (a org.openide.util.Mutex$QueueCell)
        at org.openide.util.Mutex.enterImpl(Mutex.java:653)
        at org.openide.util.Mutex.enter(Mutex.java:560)
        at org.openide.util.Mutex.readEnter(Mutex.java:543)
        at org.openide.util.Mutex.readAccess(Mutex.java:288)
        at
org.netbeans.api.project.ProjectManager.findProject(ProjectManager.jav
a:221)
        at
org.netbeans.modules.projectapi.SimpleFileOwnerQueryImplementation.get
Owner(SimpleFileOwnerQueryImplementation.java:121)
        at
org.netbeans.api.project.FileOwnerQuery.getOwner(FileOwnerQuery.java:1
01)
        at org.netbeans.modules.project.ui.Hacks$1.run(Hacks.java:90)
        at
org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:561)
        at
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:
986)

"Versioning long tasks" daemon prio=2 tid=0x31129b98 nid=0x2020 in
Object.wait() [0x32cef000..0x32cefce8]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x120a3fa0> (a
org.openide.util.Mutex$QueueCell)
        at java.lang.Object.wait(Object.java:474)
        at org.openide.util.Mutex$QueueCell.sleep(Mutex.java:1469)
        - locked <0x120a3fa0> (a org.openide.util.Mutex$QueueCell)
        at org.openide.util.Mutex.enterImpl(Mutex.java:653)
        at org.openide.util.Mutex.enter(Mutex.java:560)
        at org.openide.util.Mutex.readEnter(Mutex.java:543)
        at org.openide.util.Mutex.readAccess(Mutex.java:288)
        at
org.netbeans.api.project.ProjectManager.findProject(ProjectManager.jav
a:221)
        at
org.netbeans.modules.projectapi.SimpleFileOwnerQueryImplementation.get
Owner(SimpleFileOwnerQueryImplementation.java:121)
        at
org.netbeans.api.project.FileOwnerQuery.getOwner(FileOwnerQuery.java:1
01)
        at
org.netbeans.modules.projectapi.ProjectFileEncodingQueryImplementation
.getEncoding(ProjectFileEncodingQueryImplementation.java:60
)
        at
org.netbeans.api.queries.FileEncodingQuery.getEncoding(FileEncodingQue
ry.java:93)
        at
org.netbeans.modules.versioning.diff.DiffFileEncodingQueryImpl.associa
teEncoding(DiffFileEncodingQueryImpl.java:99)
        at
org.netbeans.modules.versioning.diff.DiffSidebar.getText(DiffSidebar.j
ava:755)
        at
org.netbeans.modules.versioning.diff.DiffSidebar.access$900(DiffSideba
r.java:88)
        at
org.netbeans.modules.versioning.diff.DiffSidebar$RefreshDiffTask.fetch
OriginalContent(DiffSidebar.java:702)
        at
org.netbeans.modules.versioning.diff.DiffSidebar$RefreshDiffTask.compu
teDiff(DiffSidebar.java:675)
        at
org.netbeans.modules.versioning.diff.DiffSidebar$RefreshDiffTask.run(D
iffSidebar.java:665)
        at
org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:561)
        at
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:
986)

"background jsp parsing" daemon prio=4 tid=0x36194210 nid=0x200c in
Object.wait() [0x3223f000..0x3223fd68]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x120a43a8> (a
org.openide.util.Mutex$QueueCell)
        at java.lang.Object.wait(Object.java:474)
        at org.openide.util.Mutex$QueueCell.sleep(Mutex.java:1469)
        - locked <0x120a43a8> (a org.openide.util.Mutex$QueueCell)
        at org.openide.util.Mutex.enterImpl(Mutex.java:653)
        at org.openide.util.Mutex.enter(Mutex.java:560)
        at org.openide.util.Mutex.readEnter(Mutex.java:543)
        at org.openide.util.Mutex.readAccess(Mutex.java:288)
        at
org.netbeans.api.project.ProjectManager.findProject(ProjectManager.jav
a:221)
        at
org.netbeans.modules.projectapi.SimpleFileOwnerQueryImplementation.get
Owner(SimpleFileOwnerQueryImplementation.java:121)
        at
org.netbeans.api.project.FileOwnerQuery.getOwner(FileOwnerQuery.java:1
01)
        at
org.netbeans.modules.web.freeform.WebModules.findWebModule(WebModules.
java:105)
        - locked <0x0808bcf0> (a
org.netbeans.modules.web.freeform.WebModules)
        at
org.netbeans.modules.web.webmodule.ProjectWebModuleProvider.findWebMod
ule(ProjectWebModuleProvider.java:60)
        at
org.netbeans.modules.web.api.webmodule.WebModule.getWebModule(WebModul
e.java:112)
        at
org.netbeans.modules.web.core.jsploader.TagLibParseSupport.getWebModul
e(TagLibParseSupport.java:139)
        at
org.netbeans.modules.web.core.jsploader.TagLibParseSupport.access$400(
TagLibParseSupport.java:74)
        at
org.netbeans.modules.web.core.jsploader.TagLibParseSupport$ParsingRunn
able.run(TagLibParseSupport.java:366)
        at
org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:561)
        at
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:
986)

"Inactive RequestProcessor thread [Was:Default
RequestProcessor/org.netbeans.modules.xml.xam.AbstractModelFactory$1]"
 daemon prio=2 tid=0x2f
f3c008 nid=0x1374 in Object.wait() [0x33cef000..0x33cefa68]
        at java.lang.Object.wait(Native Method)
        at
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:
939)
        - locked <0x10649230> (a java.lang.Object)

"org.netbeans.modules.project.ui.groups.GroupsMenu" daemon prio=2
tid=0x31953e80 nid=0x24f8 in Object.wait() [0x32eef000..0x32eefce8]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x11c0eb80> (a
java.awt.EventQueue$1AWTInvocationLock)
        at java.lang.Object.wait(Object.java:474)
        at java.awt.EventQueue.invokeAndWait(EventQueue.java:848)
        - locked <0x11c0eb80> (a
java.awt.EventQueue$1AWTInvocationLock)
        at org.openide.util.Mutex.doEventAccess(Mutex.java:1252)
        at org.openide.util.Mutex.readAccess(Mutex.java:242)
        at
org.netbeans.modules.project.ui.OpenProjectList.doOpenProject(OpenProj
ectList.java:719)
        at
org.netbeans.modules.project.ui.OpenProjectList.doOpen(OpenProjectList
.java:361)
        at
org.netbeans.modules.project.ui.OpenProjectList.open(OpenProjectList.j
ava:281)
        at
org.netbeans.modules.project.ui.OpenProjectList.open(OpenProjectList.j
ava:220)
        at
org.netbeans.modules.project.ui.OpenProjectsTrampolineImpl.openAPI(Ope
nProjectsTrampolineImpl.java:70)
        at
org.netbeans.api.project.ui.OpenProjects.open(OpenProjects.java:127)
        at
org.netbeans.modules.project.ui.groups.Group.open(Group.java:325)
        at
org.netbeans.modules.project.ui.groups.Group.setActiveGroup(Group.java
:162)
        at
org.netbeans.modules.project.ui.groups.GroupsMenu$Menu$1$1.run(GroupsM
enu.java:117)
        at
org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:561)
        at
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:
986)

"Timer-5" prio=6 tid=0x2fb77978 nid=0x458 in Object.wait()
[0x334ef000..0x334efce8]
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:474)
        at java.util.TimerThread.mainLoop(Timer.java:483)
        - locked <0x0c7d50a0> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:462)

"Thread-19" daemon prio=6 tid=0x2fb74e28 nid=0x1abc runnable
[0x304ef000..0x304efa68]
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
        - locked <0x07c01328> (a java.net.SocksSocketImpl)
        at java.net.ServerSocket.implAccept(ServerSocket.java:450)
        at java.net.ServerSocket.accept(ServerSocket.java:421)
        at
org.apache.tomcat.service.PoolTcpEndpoint.acceptSocket(PoolTcpEndpoint
.java:286)
        at
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:4
02)
        at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:
498)
        at java.lang.Thread.run(Thread.java:595)

"Thread-18" daemon prio=6 tid=0x30dcdcc0 nid=0x2b18 in Object.wait()
[0x3203f000..0x3203fae8]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x06ea53d0> (a
org.apache.tomcat.util.ThreadPool$ControlRunnable)
        at java.lang.Object.wait(Object.java:474)
        at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:
477)
        - locked <0x06ea53d0> (a
org.apache.tomcat.util.ThreadPool$ControlRunnable)
        at java.lang.Thread.run(Thread.java:595)

"Thread-16" daemon prio=6 tid=0x2ff71c60 nid=0x16ac runnable
[0x30cef000..0x30cefc68]
        at java.lang.ProcessImpl.waitFor(Native Method)
        at
org.netbeans.modules.tomcat5.util.LogManager$1.run(LogManager.java:113
)

"Apache Tomcat 6.0.14 ServerLog - Thread" daemon prio=6
tid=0x30fe8c98 nid=0x1e8 waiting on condition
[0x2f0cf000..0x2f0cfce8]
        at java.lang.Thread.sleep(Native Method)
        at
org.netbeans.modules.tomcat5.util.ServerLog.run(ServerLog.java:183)

"LogViewer - Thread" daemon prio=6 tid=0x2ff55f58 nid=0x2898 in
Object.wait() [0x2a1df000..0x2a1dfd68]
        at java.lang.Object.wait(Native Method)
        at
org.netbeans.modules.tomcat5.util.LogViewer.run(LogViewer.java:300)
        - locked <0x08beb700> (a
org.netbeans.modules.tomcat5.util.LogViewer)

"Thread-15" daemon prio=6 tid=0x299eeb90 nid=0x7d0 in Object.wait()
[0x32aef000..0x32aef9e8]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x09987c48> (a
org.apache.tomcat.util.ThreadPool$MonitorRunnable)
        at
org.apache.tomcat.util.ThreadPool$MonitorRunnable.run(ThreadPool.java:
390)
        - locked <0x09987c48> (a
org.apache.tomcat.util.ThreadPool$MonitorRunnable)
        at java.lang.Thread.run(Thread.java:595)

"StandardManager" daemon prio=6 tid=0x2ff54ec0 nid=0xcc waiting on
condition [0x326ef000..0x326efae8]
        at java.lang.Thread.sleep(Native Method)
        at
org.apache.tomcat.session.StandardManager.threadSleep(StandardManager.
java:490)
        at
org.apache.tomcat.session.StandardManager.run(StandardManager.java:547
)
        at java.lang.Thread.run(Thread.java:595)

"Thread-13" daemon prio=6 tid=0x2ff55dd0 nid=0x20f0 in Object.wait()
[0x324ef000..0x324efb68]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x099872d8> (a org.apache.tomcat.util.Queue)
        at java.lang.Object.wait(Object.java:474)
        at org.apache.tomcat.util.Queue.pull(Queue.java:89)
        - locked <0x099872d8> (a org.apache.tomcat.util.Queue)
        at
org.apache.tomcat.logging.LogDaemon$1.run(TomcatLogger.java:238)
        at
org.apache.tomcat.logging.LogDaemon.run(TomcatLogger.java:254)

"URLdisplayer" prio=6 tid=0x2f902d20 nid=0x2ac in Object.wait()
[0x381cf000..0x381cfbe8]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x064d7d00> (a
org.netbeans.modules.extbrowser.NbDdeBrowserImpl$URLDisplayer)
        at java.lang.Object.wait(Object.java:474)
        at
org.netbeans.modules.extbrowser.NbDdeBrowserImpl$URLDisplayer.getNextT
ask(NbDdeBrowserImpl.java:273)
        - locked <0x064d7d00> (a
org.netbeans.modules.extbrowser.NbDdeBrowserImpl$URLDisplayer)
        at
org.netbeans.modules.extbrowser.NbDdeBrowserImpl$URLDisplayer.run(NbDd
eBrowserImpl.java:285)
        at java.lang.Thread.run(Thread.java:595)

"DestroyJavaVM" prio=6 tid=0x0003bcd8 nid=0x1d94 waiting on condition
[0x00000000..0x0007fae8]

"Java Source Worker Thread" daemon prio=2 tid=0x2f928410 nid=0x134 in
Object.wait() [0x30aef000..0x30aefbe8]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0eb876b0> (a
org.openide.util.Mutex$QueueCell)
        at java.lang.Object.wait(Object.java:474)
        at org.openide.util.Mutex$QueueCell.sleep(Mutex.java:1469)
        - locked <0x0eb876b0> (a org.openide.util.Mutex$QueueCell)
        at org.openide.util.Mutex.enterImpl(Mutex.java:653)
        at org.openide.util.Mutex.enter(Mutex.java:560)
        at org.openide.util.Mutex.readEnter(Mutex.java:543)
        at org.openide.util.Mutex.readAccess(Mutex.java:249)
        at
org.netbeans.spi.project.support.ant.PropertyUtils$SequentialPropertyE
valuator.getProperty(PropertyUtils.java:802)
        at
org.netbeans.modules.java.j2seproject.classpath.SourcePathImplementati
on$1PRI.includes(SourcePathImplementation.java:169)
        at
org.netbeans.api.java.classpath.ClassPath$Entry.includes(ClassPath.jav
a:657)
        at
org.netbeans.modules.java.source.parsing.SourceFileManager.list(Source
FileManager.java:83)
        at
org.netbeans.modules.java.source.parsing.SourceFileManager.list(Source
FileManager.java:64)
        at
org.netbeans.modules.java.source.parsing.ProxyFileManager.list(ProxyFi
leManager.java:137)
        at
com.sun.tools.javac.jvm.ClassReader.fillIn(ClassReader.java:2175)
        at
com.sun.tools.javac.jvm.ClassReader.complete(ClassReader.java:1813)
        at com.sun.tools.javac.code.Symbol.complete(Symbol.java:402)
        at
com.sun.tools.javac.comp.Enter.visitTopLevel(Enter.java:299)
        at
com.sun.tools.javadoc.JavadocEnter.visitTopLevel(JavadocEnter.java:77)

        at
com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:4
53)
        at com.sun.tools.javac.comp.Enter.classEnter(Enter.java:263)
        at com.sun.tools.javac.comp.Enter.classEnter(Enter.java:277)
        at com.sun.tools.javac.comp.Enter.complete(Enter.java:574)
        at
org.netbeans.api.java.source.JavaSource$ErrorHandlingJavadocEnter.main
(JavaSource.java:1131)
        at
com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:840
)
        at
com.sun.tools.javac.api.JavacTaskImpl.enter(JavacTaskImpl.java:357)
        at
com.sun.tools.javac.api.JavacTaskImpl.enter(JavacTaskImpl.java:303)
        at
org.netbeans.api.java.source.JavaSource.moveToPhase(JavaSource.java:11
91)
        at
org.netbeans.api.java.source.JavaSource$CompilationJob.run(JavaSource.
java:1521)
        at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417
)
        at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
        at java.util.concurrent.FutureTask.run(FutureTask.java:123)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecu
tor.java:650)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
java:675)
        at java.lang.Thread.run(Thread.java:595)

"AWT-EventQueue-1" prio=6 tid=0x29856618 nid=0x1b18 waiting for
monitor entry [0x308ef000..0x308efce8]
        at
org.netbeans.modules.web.freeform.WebModules.findWebModule(WebModules.
java:105)
        - waiting to lock <0x0808bcf0> (a
org.netbeans.modules.web.freeform.WebModules)
        at
org.netbeans.modules.web.webmodule.ProjectWebModuleProvider.findWebMod
ule(ProjectWebModuleProvider.java:60)
        at
org.netbeans.modules.web.api.webmodule.WebModule.getWebModule(WebModul
e.java:112)
        at
org.netbeans.modules.j2ee.ddloaders.web.DDDataObject.refreshSourceFold
ers(DDDataObject.java:155)
        at
org.netbeans.modules.j2ee.ddloaders.web.DDDataObject.stateChanged(DDDa
taObject.java:676)
        at
org.openide.util.ChangeSupport.fireChange(ChangeSupport.java:123)
        at
org.openide.util.ChangeSupport.fireChange(ChangeSupport.java:109)
        at
org.netbeans.modules.ant.freeform.FreeformSources.configurationXmlChan
ged(FreeformSources.java:140)
        at
org.netbeans.spi.project.support.ant.AntProjectHelper$5.run(AntProject
Helper.java:470)
        at
org.netbeans.spi.project.support.ant.AntProjectHelper$5.run(AntProject
Helper.java:466)
        at org.openide.util.Mutex.readAccess(Mutex.java:252)
        at
org.netbeans.spi.project.support.ant.AntProjectHelper.fireChange(AntPr
ojectHelper.java:465)
        at
org.netbeans.spi.project.support.ant.AntProjectHelper.modifying(AntPro
jectHelper.java:493)
        at
org.netbeans.spi.project.support.ant.AntProjectHelper.access$1000(AntP
rojectHelper.java:91)
        at
org.netbeans.spi.project.support.ant.AntProjectHelper$13.run(AntProjec
tHelper.java:899)
        - locked <0x08561a68> (a java.util.HashSet)
        at
org.netbeans.spi.project.support.ant.AntProjectHelper$13.run(AntProjec
tHelper.java:893)
        at org.openide.util.Mutex.writeAccess(Mutex.java:343)
        at
org.netbeans.spi.project.support.ant.AntProjectHelper.removeConfigurat
ionFragment(AntProjectHelper.java:892)
        at
org.netbeans.spi.project.support.ant.ExtensibleMetadataProviderImpl.re
moveConfigurationFragment(ExtensibleMetadataProviderImpl.ja
va:98)
        at
org.netbeans.modules.project.ui.ProjectUtilities.openProjectFiles(Proj
ectUtilities.java:520)
        at
org.netbeans.modules.project.ui.OpenProjectList$5.run(OpenProjectList.
java:722)
        at
org.netbeans.modules.project.ui.OpenProjectList$5.run(OpenProjectList.
java:720)
        at org.openide.util.Mutex$1AWTWorker.run(Mutex.java:1238)
        at
java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
        at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThr
ead.java:242)
        at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThrea
d.java:163)
        at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
        at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
        at
java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

"TimerQueue" daemon prio=6 tid=0x297c9998 nid=0x1acc in Object.wait()
[0x2ac4f000..0x2ac4fc68]
        at java.lang.Object.wait(Native Method)
        at javax.swing.TimerQueue.run(TimerQueue.java:236)
        - locked <0x04dfd718> (a javax.swing.TimerQueue)
        at java.lang.Thread.run(Thread.java:595)

"pool-1-thread-1" prio=6 tid=0x28a300c8 nid=0x4b4 waiting on
condition [0x302ef000..0x302efa68]
        at sun.misc.Unsafe.park(Native Method)
        at
java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
        at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.
await(AbstractQueuedSynchronizer.java:1767)
        at
java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java
:359)
        at
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.jav
a:470)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
java:674)
        at java.lang.Thread.run(Thread.java:595)

"Thread-6" daemon prio=6 tid=0x2f9c08a0 nid=0x2a84 in Object.wait()
[0x2f79f000..0x2f79fbe8]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x05472e88> (a java.util.LinkedList)
        at java.lang.Object.wait(Object.java:474)
        at
java.util.prefs.AbstractPreferences$EventDispatchThread.run(AbstractPr
eferences.java:1456)
        - locked <0x05472e88> (a java.util.LinkedList)

"Creator Error Handler Listener" prio=6 tid=0x2f9c0b58 nid=0x231c
runnable [0x2f59f000..0x2f59fc68]
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
        - locked <0x055fd368> (a java.net.SocksSocketImpl)
        at java.net.ServerSocket.implAccept(ServerSocket.java:450)
        at java.net.ServerSocket.accept(ServerSocket.java:421)
        at
org.netbeans.modules.visualweb.errorhandler.DebugServerThread.run(Debu
gServerThread.java:115)

"*** JFluid Separate Command Execution Thread" daemon prio=6
tid=0x299e2cf0 nid=0x1e30 in Object.wait() [0x2f39f000..0x2f39fce8]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x054523e8> (a java.lang.Object)
        at java.lang.Object.wait(Object.java:474)
        at
org.netbeans.lib.profiler.ProfilerClient$SeparateCmdExecutionThread.ru
n(ProfilerClient.java:104)
        - locked <0x054523e8> (a java.lang.Object)

"AWT-Windows" daemon prio=6 tid=0x2970f3a0 nid=0x21f8 runnable
[0x2a9ff000..0x2a9ffa68]
        at sun.awt.windows.WToolkit.eventLoop(Native Method)
        at sun.awt.windows.WToolkit.run(WToolkit.java:269)
        at java.lang.Thread.run(Thread.java:595)

"AWT-Shutdown" prio=6 tid=0x2970f0d8 nid=0x488 in Object.wait()
[0x2a7ff000..0x2a7ffae8]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x03795528> (a java.lang.Object)
        at java.lang.Object.wait(Object.java:474)
        at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:259)
        - locked <0x03795528> (a java.lang.Object)
        at java.lang.Thread.run(Thread.java:595)
^C
"Java2D Disposer" daemon prio=10 tid=0x288ccb30 nid=0x1990 in
Object.wait() [0x2a4ff000..0x2a4ffb68]
        at java.lang.Object.wait(Native Method)
        at
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
        - locked <0x036d0010> (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:595)

"Timer-0" daemon prio=6 tid=0x288ca780 nid=0x1ad0 in Object.wait()
[0x29ecf000..0x29ecfce8]
        at java.lang.Object.wait(Native Method)
        at java.util.TimerThread.mainLoop(Timer.java:509)
        - locked <0x036d0040> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:462)

"CLI Requests Server" daemon prio=6 tid=0x2891e1a0 nid=0x860 runnable
[0x29ccf000..0x29ccfd68]
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
        - locked <0x036f8920> (a java.net.SocksSocketImpl)
        at java.net.ServerSocket.implAccept(ServerSocket.java:450)
        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=0x288f0db0
nid=0x1104 in Object.wait() [0x2964f000..0x2964f9e8]
        at java.lang.Object.wait(Native Method)
        at
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
        - locked <0x036ee308> (a java.lang.ref.ReferenceQueue$Lock)
        at
org.openide.util.Utilities$ActiveQueue.run(Utilities.java:3056)
        at java.lang.Thread.run(Thread.java:595)

"Low Memory Detector" daemon prio=6 tid=0x28857bc8 nid=0x1858
runnable [0x00000000..0x00000000]

"CompilerThread0" daemon prio=10 tid=0x288568c0 nid=0x10c8 waiting on
condition [0x00000000..0x2904f848]

"Signal Dispatcher" daemon prio=10 tid=0x28855a90 nid=0x1f5c waiting
on condition [0x00000000..0x00000000]

"Surrogate Locker Thread (CMS)" daemon prio=6 tid=0x28855048
nid=0x19cc waiting on condition [0x00000000..0x28c4fe08]

"Finalizer" daemon prio=8 tid=0x00acbca0 nid=0x1c18 in Object.wait()
[0x2884f000..0x2884fce8]
        at java.lang.Object.wait(Native Method)
        at
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
        - locked <0x036d00c0> (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=0x00aca830 nid=0x2b68 in
Object.wait() [0x2864f000..0x2864fd68]
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:474)
        at
java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
        - locked <0x036fb628> (a java.lang.ref.Reference$Lock)

"VM Thread" prio=10 tid=0x00ac7df8 nid=0x1840 runnable

"Gang worker#0 (Parallel GC Threads)" prio=10 tid=0x00a53db0
nid=0x2f28 runnable

"Gang worker#1 (Parallel GC Threads)" prio=10 tid=0x00a4d808
nid=0x2864 runnable

"Concurrent Mark-Sweep GC Thread#0" prio=10 tid=0x00a3bd30 nid=0x1a5c
runnable

"VM Periodic Task Thread" prio=10 tid=0x28854f48 nid=0x1320 waiting
on condition
Comment 1 Jesse Glick 2007-10-23 17:03:42 UTC
Reporter: in the future please attach large files, do not paste their text inline where it gets reformatted and is
difficult to read.

Looks like WebModules.findWebModule is blocked.
Comment 2 David Konecny 2007-10-24 12:16:19 UTC
Created attachment 51565 [details]
two deadlocked threads
Comment 3 David Konecny 2007-10-24 12:21:55 UTC
The AWT thread acquires project write access and later is blocked by synchronized WebModules.findWebModule. The
"background jsp parsing" thread enters synchronized WebModules.findWebModule and later is blocked by request for project
read access. See attached thread dump snippet.

Interesting side note is that I wrote WebModules code several years ago. :-)
Comment 4 David Konecny 2007-10-24 13:54:04 UTC
Synchronization is now done after acquiring project mutex.

Checking in src/org/netbeans/modules/web/freeform/WebModules.java;
new revision: 1.19; previous revision: 1.18
Checking in test/unit/src/org/netbeans/modules/web/freeform/ActionsWebTest.java;
new revision: 1.8; previous revision: 1.7
Comment 5 David Konecny 2007-10-25 09:14:50 UTC
cache and classpath field were still not properly synchronized

Checking in src/org/netbeans/modules/web/freeform/WebModules.java
new revision: 1.20; previous revision: 1.19
Comment 6 martin_zmrhal 2008-11-19 15:05:49 UTC
Verified

Product Version: NetBeans IDE Dev (Build 200811181401)
Java: 1.6.0_10; Java HotSpot(TM) Client VM 11.0-b15
System: Linux version 2.6.27-7-generic running on i386; UTF-8; en_US (nb)
Comment 7 martin_zmrhal 2008-11-26 10:24:39 UTC
Forgot to change status...