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 87269 - Random deadlock
Summary: Random deadlock
Status: RESOLVED FIXED
Alias: None
Product: apisupport
Classification: Unclassified
Component: Project (show other bugs)
Version: 6.x
Hardware: All All
: P2 blocker (vote)
Assignee: pzajac
URL:
Keywords: THREAD
Depends on:
Blocks:
 
Reported: 2006-10-17 09:49 UTC by Jan Lahoda
Modified: 2006-11-03 19:38 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
Thread dumps. (30.59 KB, text/plain)
2006-10-17 09:50 UTC, Jan Lahoda
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Lahoda 2006-10-17 09:49:29 UTC
[recent Retouche sources]

The attached deadlock happened to me a few times recently in Retouche, maybe 
after external CVS update, but not sure.

This is what I guess happens:
In Java Source Worker Thread, ProjectManager.findProject is called, and starts
creation of a new project instance. During NbModuleProject.<init>, (after many
method calls), the ProjectManager.findProject is called again, most probably
with the same argument. It detects that this project is currently being load,
and attempts to wait until it is load - but as the loading is performed in the
same Thread, the wait never ends.

I am currently running with debugging info from ProjectManager enabled, so if
this happens again to me we may confirm or disconfirm this guess.

Please see also issue #60073 and issue #60011.
Comment 1 Jan Lahoda 2006-10-17 09:50:08 UTC
Created attachment 35270 [details]
Thread dumps.
Comment 2 pzajac 2006-10-17 10:11:50 UTC
Fs listeners on META-INF/services are registered on initialization
NbModuleProject. There is the problem. It shoud be invoked by using
 
ProjectManager.mutex().postWriteRequest(...)

Is it correct?

Comment 3 pzajac 2006-10-19 15:52:14 UTC
registering of listener was redirected to 
ProjectManager.mutex().postWriteRequest(...)

Checking in ServiceNodeHandler.java;
/cvs/apisupport/project/src/org/netbeans/modules/apisupport/project/metainf/ServiceNodeHandler.java,v
 <--  ServiceNodeHandler.java
new revision: 1.4; previous revision: 1.3
done
Comment 4 pzajac 2006-10-20 07:48:47 UTC
fixed