Community
Participate
Working Groups
SystemViewFilterReferenceAdapter#internalGetChildren() is synchronized, but calls out to other methods below it. This construct could deadlock easily, since it is very similar to the one fixed with bug #199552 -- see the comments there for information how the deadlock actually happened. Please investigate why you think the method must be synchronized, and either get rid of the synchronized statement or find an alternative way of synchronization. Take care of bug #149188 comment 4, it shows the original reason why this was made synchronized; but it looks like the synchronization is no longer necessary.
For similar issues, see also bug 199565 and bug 199568.
See bug #199573 comment 1 for an example how to fix issues with synchronized.
Created attachment 78072 [details] patch to remove synchronized Here is the patch to remove the synchronized on internalGetChildren
Patch is good. When testing, we'll need to watch out for duplicate children under filters!
Even before this change you could get duplicate children under filters. Bug #192884 is open for this. Will see if I can duplicate it again on Thursday.
I've committed the patch for this to cvs.