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 175528 - Deadlock when modal dialog for UQE is opened
Summary: Deadlock when modal dialog for UQE is opened
Status: RESOLVED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Text (show other bugs)
Version: 6.x
Hardware: All All
: P2 blocker (vote)
Assignee: mslama
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-10-27 16:02 UTC by mslama
Modified: 2009-10-30 11:05 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
Deadlock thread dump (5.22 KB, text/plain)
2009-10-27 16:16 UTC, mslama
Details

Note You need to log in before you can comment on or make changes to this bug.
Description mslama 2009-10-27 16:02:35 UTC
In this case still UI initialization is in progress and it uses new event queue created for modal dialog. This happens
when CE shows dialog for UserQuestionException. Steps to reproduce:
1.Start IDE.
2.Open big java file > 1MB
3.Restart IDE.
4.Modal dialog will be opened and deadlock happens. Reason is that in new event queue someone can call CE.getEditorPane

Fix is to add flag and return null from CE.getEditorPane ie. not block CE.getEditorPane. BTW reason for this is that
JavaDataObject.JavaEditorSupport.Env overrides findCloneableOpenSupport. I will file separate issue for it.
Comment 1 mslama 2009-10-27 16:16:04 UTC
Created attachment 90143 [details]
Deadlock thread dump
Comment 2 mslama 2009-10-27 16:19:11 UTC
It is broken for big Java files which use JavaEditorSupport.
Comment 3 mslama 2009-10-29 14:52:22 UTC
core-main #875bb9284a61
Comment 4 mslama 2009-10-29 14:58:43 UTC
1.CloneableEditor.getEditorPane now returns null when modal dialog for handling UQE is displayed. Also warning is logged
in such case so we can investigate such case.
2.DataEditorSupport.Env now handles warned flag for big files differently so Env.findCloneableOpenSupport is not
overriden in DataEditorSupport.Env and also there is no constraint in overriding this method in subclasses of
DataEditorSupport.Env. There is now static HashSet of already warned file objects which is also set during deserialization.
Comment 5 Quality Engineering 2009-10-30 11:05:49 UTC
Integrated into 'main-golden', will be available in build *200910300201* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/875bb9284a61
User: Marek Slama <mslama@netbeans.org>
Log: #175528: Improve handling of big files when DES.Env is deserialized.