Bug 64090 - Dealock involving CModel and Workspace lock runing Junit
Summary: Dealock involving CModel and Workspace lock runing Junit
Status: RESOLVED FIXED
Alias: None
Product: CDT
Classification: Tools
Component: cdt-core (show other bugs)
Version: 2.0   Edit
Hardware: PC Windows XP
: P1 normal (vote)
Target Milestone: ---   Edit
Assignee: Alain Magloire CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-05-26 08:52 EDT by David Inglis CLA
Modified: 2004-06-07 23:26 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Inglis CLA 2004-05-26 08:52:35 EDT
Thread [main] (Suspended)
	Object.wait(long) line: not available [native method]
	Semaphore.acquire(long) line: 38
	OrderedLock.doAcquire(Semaphore, long) line: 171
	OrderedLock.acquire(long) line: 105
	OrderedLock.acquire() line: 79
	WorkManager.checkIn(ISchedulingRule, IProgressMonitor) line: 96
	Workspace.prepareOperation(ISchedulingRule, IProgressMonitor) line: 1627
	Project(Resource).createMarker(String) line: 625
	PathEntryManager.createPathEntryProblemMarker(IProject, ICModelStatus) line: 1182
	PathEntryManager.getResolvedPathEntries(ICProject, boolean) line: 150
	PathEntryManager.getResolvedPathEntries(ICProject) line: 106
	PathEntryManager.pathEntryStoreChanged(PathEntryStoreChangedEvent) line: 858
	DefaultPathEntryStore.fireContentChangedEvent(IProject) line: 376
	DefaultPathEntryStore.descriptorChanged(CDescriptorEvent) line: 352
	CDescriptorManager$3.run() line: 334
	InternalPlatform.run(ISafeRunnable) line: 608
	Platform.run(ISafeRunnable) line: 758
	CDescriptorManager.fireEvent(CDescriptorEvent) line: 325
	CDescriptor.saveProjectData() line: 575
	DefaultPathEntryStore.setRawPathEntries(IPathEntry[]) line: 118
	PathEntryManager.saveRawPathEntries(ICProject, IPathEntry[]) line: 660
	SetPathEntriesOperation.executeOperation() line: 56
	SetPathEntriesOperation(CModelOperation).execute() line: 312
	SetPathEntriesOperation(CModelOperation).run(IProgressMonitor) line: 531
	Workspace.run(IWorkspaceRunnable, ISchedulingRule, int, IProgressMonitor) line:
1672
	CModelManager.runOperation(CModelOperation, IProgressMonitor) line: 910
	PathEntryManager.setRawPathEntries(ICProject, IPathEntry[], IProgressMonitor)
line: 306
	CoreModel.setRawPathEntries(ICProject, IPathEntry[], IProgressMonitor) line: 738
	CProject.setRawPathEntries(IPathEntry[], IProgressMonitor) line: 383
	MakeScannerProvider.migrateToCPathEntries(MakeScannerInfo) line: 154
	MakeScannerProvider.updateScannerInfo(MakeScannerInfo) line: 194
	MakeScannerInfo.update() line: 46
	StandardBuildTests.testProjectSettings() line: 309
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available
[native method]
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
	Method.invoke(Object, Object[]) line: 324
	StandardBuildTests(TestCase).runTest() line: 154
	StandardBuildTests(TestCase).runBare() line: 127
	TestResult$1.protect() line: 106
	TestResult.runProtected(Test, Protectable) line: 124
	TestResult.run(TestCase) line: 109
	StandardBuildTests(TestCase).run(TestResult) line: 118
	TestSuite.runTest(Test, TestResult) line: 208
	TestSuite.run(TestResult) line: 203
	AutomatedIntegrationSuite(TestSuite).runTest(Test, TestResult) line: 208
	AutomatedIntegrationSuite(TestSuite).run(TestResult) line: 203
	RemotePluginTestRunner(RemoteTestRunner).runTests(String[], String) line: 421
	RemotePluginTestRunner(RemoteTestRunner).run() line: 305
	RemotePluginTestRunner.main(String[]) line: 30
	UITestApplication$1.run() line: 90
	RunnableLock.run() line: 35
	UISynchronizer(Synchronizer).runAsyncMessages() line: 106
	Display.runAsyncMessages() line: 2693
	Display.readAndDispatch() line: 2385
	Workbench.runEventLoop(Window$IExceptionHandler, Display) line: 1363
	Workbench.runUI() line: 1334
	Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 253
	PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 141
	IDEApplication.run(Object) line: 97
	UITestApplication.run(Object) line: 33
	PlatformActivator$1.run(Object) line: 307
	EclipseStarter.run(Object) line: 256
	EclipseStarter.run(String[], Runnable) line: 127
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available
[native method]
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
	Method.invoke(Object, Object[]) line: 324
	Main.basicRun(String[]) line: 185
	Main.run(String[]) line: 638
	Main.main(String[]) line: 622		
	
Thread [Worker-2] (Suspended)
	CProject(CElement).getElementInfo() line: 237
	CProject.getBinaryContainer() line: 56
	DeltaProcessor.createElement(IResource) line: 96
	DeltaProcessor.traverseDelta(ICElement, IResourceDelta) line: 431
	DeltaProcessor.traverseDelta(ICElement, IResourceDelta) line: 444
	DeltaProcessor.processResourceDelta(IResourceDelta) line: 412
	CModelManager.resourceChanged(IResourceChangeEvent) line: 692
	NotificationManager$2.run() line: 283
	InternalPlatform.run(ISafeRunnable) line: 608
	Platform.run(ISafeRunnable) line: 758
	NotificationManager.notify(ResourceChangeListenerList$ListenerEntry[],
IResourceChangeEvent, boolean) line: 277
	NotificationManager.broadcastChanges(ElementTree, int, boolean) line: 151
	Workspace.broadcastChanges(int, boolean) line: 172
	Workspace.endOperation(ISchedulingRule, boolean, IProgressMonitor) line: 900
	Workspace.run(IWorkspaceRunnable, ISchedulingRule, int, IProgressMonitor) line:
1681
	NotificationManager$NotifyJob.run(IProgressMonitor) line: 38
	Worker.run() line: 66
Thread [CDT Indexer] (Suspended)
	Object.wait(long) line: not available [native method]
	Semaphore.acquire(long) line: 38
	OrderedLock.doAcquire(Semaphore, long) line: 171
	OrderedLock.acquire(long) line: 105
	OrderedLock.acquire() line: 79
	WorkManager.checkIn(ISchedulingRule, IProgressMonitor) line: 96
	Workspace.prepareOperation(ISchedulingRule, IProgressMonitor) line: 1627
	Project(Resource).createMarker(String) line: 625
	PathEntryManager.createPathEntryProblemMarker(IProject, ICModelStatus) line: 1182
	PathEntryManager.getResolvedPathEntries(ICProject, boolean) line: 150
	PathEntryManager.getResolvedPathEntries(ICProject) line: 106
	CoreModel.getResolvedPathEntries(ICProject) line: 772
	CProject.getResolvedPathEntries() line: 369
	CProject.computeSourceRoots() line: 532
	CProject.computeSourceRoots(OpenableInfo, IResource) line: 547
	CProject.generateInfos(OpenableInfo, IProgressMonitor, Map, IResource) line: 519
	CProject(Openable).buildStructure(OpenableInfo, IProgressMonitor) line: 76
	CProject(Openable).openWhenClosed(IProgressMonitor) line: 289
	CProject(CElement).openHierarchy() line: 343
	CProject(CElement).getElementInfo() line: 239
	CProject(Parent).getChildren() line: 48
	CProject.getSourceRoots() line: 415
	IndexAllProject.execute(IProgressMonitor) line: 94
	IndexManager(JobManager).run() line: 464
	Thread.run() line: 534
Comment 1 Doug Schaefer CLA 2004-05-26 11:29:21 EDT
Sounds kind of bad, raising to P1.
Comment 2 Alain Magloire CLA 2004-06-07 23:26:24 EDT
The PathEntry markers are reenable it should no longer deadlock

Flipping to fixed.