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 193657 - Deadlock in fixFakeIncludeRegistrations
Summary: Deadlock in fixFakeIncludeRegistrations
Status: RESOLVED FIXED
Alias: None
Product: cnd
Classification: Unclassified
Component: Code Model (show other bugs)
Version: 7.0
Hardware: PC Linux
: P2 normal (vote)
Assignee: Vladimir Voskresensky
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-12-20 16:26 UTC by nnnnnk
Modified: 2010-12-29 07:07 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 nnnnnk 2010-12-20 16:26:40 UTC
In case of cyclic includes with different macro states inside class definitions we have deadlocks.

"Fix registration KeyBasedUID on FileKey (/home/nick/projects/test/boostN, /home/nick/projects/test/boost_1_36_0/boost/python/override.hpp)":
	at org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.onFakeRegisration(FileImpl.java:1526)
	- waiting to lock <0x00007f5bef84f738> (a java.util.concurrent.CopyOnWriteArrayList)
	at org.netbeans.modules.cnd.modelimpl.csm.core.AstRenderer.checkInnerIncludes(AstRenderer.java:627)
	at org.netbeans.modules.cnd.modelimpl.csm.ClassImpl$ClassAstRenderer.render(ClassImpl.java:733)
	at org.netbeans.modules.cnd.modelimpl.csm.ClassImpl.fixFakeRender(ClassImpl.java:152)
	at org.netbeans.modules.cnd.modelimpl.parser.ParserProviderImpl$Antlr2CppParser.render(ParserProviderImpl.java:168)
	at org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.fixFakeIncludeRegistrations(FileImpl.java:1646)
	- locked <0x00007f5befdfb490> (a java.util.concurrent.CopyOnWriteArrayList)
	at org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.fixFakeRegistrations(FileImpl.java:1581)
	at org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.onProjectParseFinished(FileImpl.java:589)
	at org.netbeans.modules.cnd.modelimpl.csm.core.FakeRegistrationWorker$FixRegistrationRunnable.run(FakeRegistrationWorker.java:128)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1424)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1968)
"Fix registration KeyBasedUID on FileKey (/home/nick/projects/test/boostN, /home/nick/projects/test/boost_1_36_0/boost/preprocessor/iteration/detail/iter/forward1.hpp)":
	at org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.onFakeRegisration(FileImpl.java:1526)
	- waiting to lock <0x00007f5befe649f0> (a java.util.concurrent.CopyOnWriteArrayList)
	at org.netbeans.modules.cnd.modelimpl.csm.core.AstRenderer.checkInnerIncludes(AstRenderer.java:627)
	at org.netbeans.modules.cnd.modelimpl.csm.ClassImpl$ClassAstRenderer.render(ClassImpl.java:733)
	at org.netbeans.modules.cnd.modelimpl.csm.ClassImpl.fixFakeRender(ClassImpl.java:152)
	at org.netbeans.modules.cnd.modelimpl.parser.ParserProviderImpl$Antlr2CppParser.render(ParserProviderImpl.java:168)
	at org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.fixFakeIncludeRegistrations(FileImpl.java:1646)
	- locked <0x00007f5bef84f738> (a java.util.concurrent.CopyOnWriteArrayList)
	at org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.fixFakeRegistrations(FileImpl.java:1581)
	at org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.onProjectParseFinished(FileImpl.java:589)
	at org.netbeans.modules.cnd.modelimpl.csm.core.FakeRegistrationWorker$FixRegistrationRunnable.run(FakeRegistrationWorker.java:128)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1424)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1968)
"Fix registration KeyBasedUID on FileKey (/home/nick/projects/test/boostN, /home/nick/projects/test/boost_1_36_0/boost/python/object/pointer_holder.hpp)":
	at org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.onFakeRegisration(FileImpl.java:1526)
	- waiting to lock <0x00007f5bef84f738> (a java.util.concurrent.CopyOnWriteArrayList)
	at org.netbeans.modules.cnd.modelimpl.csm.core.AstRenderer.checkInnerIncludes(AstRenderer.java:627)
	at org.netbeans.modules.cnd.modelimpl.csm.ClassImpl$ClassAstRenderer.render(ClassImpl.java:733)
	at org.netbeans.modules.cnd.modelimpl.csm.ClassImpl.fixFakeRender(ClassImpl.java:152)
	at org.netbeans.modules.cnd.modelimpl.parser.ParserProviderImpl$Antlr2CppParser.render(ParserProviderImpl.java:168)
	at org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.fixFakeIncludeRegistrations(FileImpl.java:1646)
	- locked <0x00007f5befe649f0> (a java.util.concurrent.CopyOnWriteArrayList)
	at org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.fixFakeRegistrations(FileImpl.java:1581)
	at org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.onProjectParseFinished(FileImpl.java:589)
	at org.netbeans.modules.cnd.modelimpl.csm.core.FakeRegistrationWorker$FixRegistrationRunnable.run(FakeRegistrationWorker.java:128)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1424)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1968)
Comment 1 nnnnnk 2010-12-20 17:13:12 UTC
another one:

"Fix registration KeyBasedUID on FileKey (/home/nick/projects/test/boostN, /home/nick/projects/test/boost_1_36_0/boost/python/detail/caller.hpp)":
	at org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.onFakeRegisration(FileImpl.java:1526)
	- waiting to lock <0x00007fab3e8ebe90> (a java.util.concurrent.CopyOnWriteArrayList)
	at org.netbeans.modules.cnd.modelimpl.csm.core.AstRenderer.checkInnerIncludes(AstRenderer.java:627)
	at org.netbeans.modules.cnd.modelimpl.csm.ClassImpl$ClassAstRenderer.render(ClassImpl.java:733)
	at org.netbeans.modules.cnd.modelimpl.csm.ClassImpl.fixFakeRender(ClassImpl.java:152)
	at org.netbeans.modules.cnd.modelimpl.parser.ParserProviderImpl$Antlr2CppParser.render(ParserProviderImpl.java:168)
	at org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.fixFakeIncludeRegistrations(FileImpl.java:1646)
	- locked <0x00007fab3fc6d280> (a java.util.concurrent.CopyOnWriteArrayList)
	at org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.fixFakeRegistrations(FileImpl.java:1581)
	at org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.onProjectParseFinished(FileImpl.java:589)
	at org.netbeans.modules.cnd.modelimpl.csm.core.FakeRegistrationWorker$FixRegistrationRunnable.run(FakeRegistrationWorker.java:128)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1424)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1968)
"Fix registration KeyBasedUID on FileKey (/home/nick/projects/test/boostN, /home/nick/projects/test/boost_1_36_0/boost/preprocessor/iteration/detail/iter/forward1.hpp)":
	at org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.onFakeRegisration(FileImpl.java:1526)
	- waiting to lock <0x00007fab3fc6d280> (a java.util.concurrent.CopyOnWriteArrayList)
	at org.netbeans.modules.cnd.modelimpl.csm.core.AstRenderer.checkInnerIncludes(AstRenderer.java:627)
	at org.netbeans.modules.cnd.modelimpl.csm.ClassImpl$ClassAstRenderer.render(ClassImpl.java:733)
	at org.netbeans.modules.cnd.modelimpl.csm.ClassImpl.render(ClassImpl.java:147)
	at org.netbeans.modules.cnd.modelimpl.csm.ClassImpl.init(ClassImpl.java:128)
	at org.netbeans.modules.cnd.modelimpl.csm.ClassImpl.create(ClassImpl.java:184)
	at org.netbeans.modules.cnd.modelimpl.csm.ClassImpl$ClassAstRenderer.render(ClassImpl.java:517)
	at org.netbeans.modules.cnd.modelimpl.csm.ClassImpl.render(ClassImpl.java:147)
	at org.netbeans.modules.cnd.modelimpl.csm.ClassImplSpecialization.init(ClassImplSpecialization.java:88)
	at org.netbeans.modules.cnd.modelimpl.csm.ClassImplSpecialization.create(ClassImplSpecialization.java:117)
	at org.netbeans.modules.cnd.modelimpl.csm.ClassImpl$ClassAstRenderer.render(ClassImpl.java:517)
	at org.netbeans.modules.cnd.modelimpl.csm.ClassImpl.fixFakeRender(ClassImpl.java:152)
	at org.netbeans.modules.cnd.modelimpl.parser.ParserProviderImpl$Antlr2CppParser.render(ParserProviderImpl.java:168)
	at org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.fixFakeIncludeRegistrations(FileImpl.java:1646)
	- locked <0x00007fab3e8ebe90> (a java.util.concurrent.CopyOnWriteArrayList)
	at org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.fixFakeRegistrations(FileImpl.java:1581)
	at org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.onProjectParseFinished(FileImpl.java:589)
	at org.netbeans.modules.cnd.modelimpl.csm.core.FakeRegistrationWorker$FixRegistrationRunnable.run(FakeRegistrationWorker.java:128)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1424)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1968)
Comment 2 Vladimir Voskresensky 2010-12-22 12:22:19 UTC
http://hg.netbeans.org/cnd-main?cmd=changeset;node=f8900d753113
Comment 3 Quality Engineering 2010-12-29 07:07:05 UTC
Integrated into 'main-golden', will be available in build *201012290001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main/rev/f8900d753113
User: Vladimir Voskresensky <vv159170@netbeans.org>
Log: fixed #193657 -  Deadlock in fixFakeIncludeRegistrations