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.
[Orion 011008_1, jdk1.3.1, redhat7.1] see attached thread dump
Created attachment 2920 [details] stack trace
It happened me on Orion 011008_1, Solaris. In the thread dump I got is not corba at all, so I consider this general bug and moving it to openide. I am attaching my thread dump.
Created attachment 2921 [details] Full thread dump of the next deadlock.
Yarda said: IDLObject and JavaDataObject are the bad guys -- they call files() [or secondaryEntries() during their constructor execution, which is the same in effect]. This will trigger (nested) recognition of the same DataObject.
Corba has been recognized as a 'bad guy' => reassigning back to corba and attaching 'Xdebug' thread dump
Created attachment 2924 [details] 'Xdebug' thread dump
Fine, IDLDataObject wil not call secondaryEntries in its constructor.
I've done an improvement to solve Jan Lahoda's stack trace, but that is not the problem. The real problem is in corba. Few comments to the IDLDataObject code: 1. Line 1213 waits for being notified but I was not able to find out who should notify the data object!? Is this some kind of good programing practice to have wait and notify in different source files? 2. Please do not call update in constructor for performance reasons, if you need override files () method...
whenever you change the component field, please always remember to reset the "Assign To" and "QA Contact" field
So, I tried to reproduce this problem with corba module disabled, and I was not able to reproduce the problem.
I am not autohor of this code, but I think that the wait on line 1213 is notified from line 1094. On the line 1213 is waiting on the IDLParser output which is needed to find out possible file names which the IDLDataObject should hide. The update was removed from constructor. The costructor only schedules the job in RequestProcessor, the Task is responsible for parsing the IDL, the parse is need to determine the java FileObject names, which are derived from names of IDL elements.
Verified
Resolved for 3.3.x or earlier, no new info since then -> closing.