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 203999 - Blocked IDE after showing dialog "Open Project Warning"
Summary: Blocked IDE after showing dialog "Open Project Warning"
Status: RESOLVED FIXED
Alias: None
Product: cnd
Classification: Unclassified
Component: Project (show other bugs)
Version: 7.0.1
Hardware: PC Solaris
: P3 normal (vote)
Assignee: Alexander Simon
URL:
Keywords: RANDOM, REGRESSION, THREAD
: 206128 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-10-20 09:45 UTC by Vladimir Voskresensky
Modified: 2012-06-07 15:38 UTC (History)
3 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
threads dump of blocked IDE (31.89 KB, text/plain)
2011-10-20 09:46 UTC, Vladimir Voskresensky
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Vladimir Voskresensky 2011-10-20 09:45:28 UTC
I've opened 7.0.1 with project from 7.1 => dialog about newer version is shown, but it's impossible to press neither "Yes" nor "No"
Comment 1 Vladimir Voskresensky 2011-10-20 09:46:47 UTC
Created attachment 112255 [details]
threads dump of blocked IDE
Comment 2 Vladimir Voskresensky 2011-10-20 10:01:12 UTC
(from releases repository)
#hg tip 
changeset:   204901:8db2af52de19
branch:      release701_fixes
Comment 3 Alexander Simon 2011-10-20 11:14:31 UTC
This dead lock is side effect of fixing Bug #200982, change set:
http://hg.netbeans.org/releases/rev/bae7aefdc693

Reassign to evaluation
Comment 4 Jesse Glick 2011-10-20 16:55:17 UTC
(In reply to comment #3)
> This dead lock is side effect of fixing Bug #200982, change set:
> http://hg.netbeans.org/releases/rev/bae7aefdc693

I do not think so. That change _reduced_ the amount of code in synchronized blocks. The problem here, a call to pcp.addPropertyChangeListener(lst), was synchronized with or without that change.

The question is why MakeProjectConfigurationProvider.addPropertyChangeListener is blocking on another thread. This is likely wrong; aPCL should generally be a fast and nonblocking method, just appending a listener to a list. It seems you are attempting to avoid having a listener on MakeConfigurationDescriptor at certain times, but this logic is broken (removePropertyChangeListener does not check pcs.hasListeners). Better to just have the MakeProjectConfigurationProvider set up a listener on whatever else it needs to listen to once, perhaps in its constructor, and make add/removePropertyChangeListener do nothing but delegate to the same methods on pcs.

If this cannot work, fallback fix could be to remember old and new values of pcp and add/removePCL on them outside the synch block of activeProjectChanged.
Comment 5 Vladimir Voskresensky 2011-10-21 07:55:41 UTC
It is not 100% reproducible. Other time I was able to have dialog with clickable buttons.
Changes in Makeproject rather risky now in this area
Comment 6 Alexander Simon 2012-03-23 17:29:43 UTC
Probably thus bug is a duplicate of Bug #209508 and Bug #206049
Comment 7 Alexander Simon 2012-03-23 18:39:32 UTC
fixed, change set:
http://hg.netbeans.org/cnd-main/rev/2f2cc8b3e4e1
Comment 8 Quality Engineering 2012-03-24 11:03:18 UTC
Integrated into 'main-golden', will be available in build *201203240400* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/2f2cc8b3e4e1
User: Alexander Simon <alexvsimon@netbeans.org>
Log: fixed Bug #203999 - Blocked IDE after showing dialog "Open Project Warning"
Comment 9 Jesse Glick 2012-04-12 02:57:58 UTC
*** Bug 206128 has been marked as a duplicate of this bug. ***
Comment 10 Alexander Simon 2012-06-07 15:38:42 UTC
*** Bug 213619 has been marked as a duplicate of this bug. ***