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 204315 - dead lock in "Closing Project"-CsmDecisionFileTaskFactory"
Summary: dead lock in "Closing Project"-CsmDecisionFileTaskFactory"
Status: RESOLVED FIXED
Alias: None
Product: cnd
Classification: Unclassified
Component: Code Model (show other bugs)
Version: 7.1
Hardware: PC Solaris
: P2 normal (vote)
Assignee: Vladimir Voskresensky
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-10-27 10:52 UTC by Alexander Simon
Modified: 2011-10-28 15:28 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 Alexander Simon 2011-10-27 10:52:40 UTC
Java stack information for the threads listed above:
===================================================
"Code Model Request Processor: Closing Project ":
	at org.netbeans.modules.cnd.modelimpl.csm.core.ProjectBase.getUnresolved(ProjectBase.java:2215)
	- waiting to lock <0xd004a938> (a org.netbeans.modules.cnd.modelimpl.csm.core.ProjectImpl)
	at org.netbeans.modules.cnd.modelimpl.csm.core.ProjectBase.dispose(ProjectBase.java:2259)
	at org.netbeans.modules.cnd.modelimpl.csm.core.ModelImpl.disposeProject(ModelImpl.java:314)
	at org.netbeans.modules.cnd.modelimpl.csm.core.ModelImpl._closeProject2(ModelImpl.java:288)
	at org.netbeans.modules.cnd.modelimpl.csm.core.ModelImpl.access$000(ModelImpl.java:91)
	at org.netbeans.modules.cnd.modelimpl.csm.core.ModelImpl$1.run(ModelImpl.java:259)
	at org.netbeans.modules.cnd.modelimpl.csm.core.ModelImpl$3.run(ModelImpl.java:370)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1411)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1991)
"CsmDecisionFileTaskFactory":
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0xd00724b8> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:811)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:941)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1261)
	at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:594)
	at org.netbeans.modules.cnd.modelimpl.csm.core.ProjectBase.createProjectFilesIfNeed(ProjectBase.java:813)
	at org.netbeans.modules.cnd.modelimpl.csm.core.ProjectBase.ensureFilesCreated(ProjectBase.java:669)
	- locked <0xd004a938> (a org.netbeans.modules.cnd.modelimpl.csm.core.ProjectImpl)
	at org.netbeans.modules.cnd.modelimpl.csm.core.ProjectBase.findFileProject(ProjectBase.java:1838)
	at org.netbeans.modules.cnd.modelimpl.csm.core.ModelImpl.findFile(ModelImpl.java:387)
	at org.netbeans.modules.cnd.modelimpl.csm.core.CsmStandaloneFileProviderImpl.getCsmFile(CsmStandaloneFileProviderImpl.java:164)
	- locked <0xd05ce5c0> (a org.netbeans.modules.cnd.modelimpl.csm.core.CsmStandaloneFileProviderImpl)
	at org.netbeans.modules.cnd.model.tasks.CsmFileTaskFactory.getCsmFile(CsmFileTaskFactory.java:262)
	at org.netbeans.modules.cnd.model.tasks.CsmFileTaskFactory.stateChangedImpl(CsmFileTaskFactory.java:209)
	- locked <0xd05ce5e0> (a org.netbeans.modules.cnd.model.tasks.CsmFileTaskFactory$FileTaskFactoryLock)
	at org.netbeans.modules.cnd.model.tasks.CsmFileTaskFactory.access$300(CsmFileTaskFactory.java:75)
	at org.netbeans.modules.cnd.model.tasks.CsmFileTaskFactory$2.run(CsmFileTaskFactory.java:125)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1411)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1991)

Found 1 deadlock.
Comment 1 Vladimir Voskresensky 2011-10-27 10:54:15 UTC
will have a look
Comment 2 Alexander Simon 2011-10-27 11:25:53 UTC
Steps to reproduce:
- start IDE in debug mode
- set break point in ProjectSettingsValidator.storeSettings()
- create project from binary
- IDE stops in breakpoint
- continue running
Comment 3 Vladimir Voskresensky 2011-10-28 15:28:15 UTC
fixed
http://hg.netbeans.org/cnd-main/rev/3e5f226fc9d9
use dedicated locks