[ 
https://issues.apache.org/jira/browse/NETBEANS-373?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16415753#comment-16415753
 ] 

Tim Boudreau commented on NETBEANS-373:
---------------------------------------

The missing information here is _which_ component is getting a listener added 
to it - the dialog itself?  Its RootPane?  Something else?

Replanning addContainerListener() to the event thread would solve the deadlock, 
but might mean that container events during the initial show which Apple's 
accessibility support expects will not be delivered if it is added late.

> Netbeans sometimes freezes when showing any refactor dialog when running with 
> jdk 1.8.0_152-b16 or later
> --------------------------------------------------------------------------------------------------------
>
>                 Key: NETBEANS-373
>                 URL: https://issues.apache.org/jira/browse/NETBEANS-373
>             Project: NetBeans
>          Issue Type: Bug
>          Components: java - Refactoring
>    Affects Versions: 8.2, 9.0
>         Environment: Mac
>            Reporter: Austin Stephens
>            Priority: Blocker
>
> Sometimes (or almost always), when you try to do some refactor action, 
> NetBeans freezes. It appears that a lock is obtained on a panel when the 
> dialog is shown, and the AppKit Thread tries to get the lock while trying to 
> add an accessible listener to it.
> AppKit Thread:
> {code:java}
> Container.addContainerListener:2142    
> Container$AccessibleAWTContainer.addPropertyChangeListener:3885    
> JComponent$AccessibleJComponent.addPropertyChangeListener:3765    
> Hidden Source Calls    
> CAccessible.addNotificationListeners:102    
> CAccessible.<init>:84    
> CAccessible.getCAccessible:60
> {code}
> EDT Thread:
> {code:java}
> Hidden Source Calls    
> Unsafe.park    
> LockSupport.park:194    
> AbstractQueuedSynchronizer$ConditionObject.await:2062    
> EventQueue.getNextEvent:557    
> EventDispatchThread.pumpOneEventForFilters:173    
> EventDispatchThread.pumpEventsForFilter:124    
> EventDispatchThread.pumpEventsForFilter:117    
> WaitDispatchSupport$2.run:190    
> WaitDispatchSupport$4.run:235    
> WaitDispatchSupport$4.run:233    
> AccessController.doPrivileged    
> WaitDispatchSupport.enter:233    
> Dialog.show:1070    
> NbPresenter.superShow:1060    
> NbPresenter.doShow:1110    
> NbPresenter.run:1082    
> NbPresenter.run:105    
> NbMutexEventProvider$Event.doEventAccess:115    
> NbMutexEventProvider$Event.readAccess:75    
> LazyMutexImplementation.readAccess:71    
> Mutex.readAccess:193    
> NbPresenter.show:1067    
> Component.show:1669    
> Component.setVisible:1616    
> Window.setVisible:1017    
> Dialog.setVisible:1005    
> ParametersPanel.showDialog:674    
> RefactoringPanel.refresh:660    
> RefactoringPanel.<init>:144    
> UI.openRefactoringUI:61    
> ContextAnalyzer$4.show:648    
> ContextAnalyzer$TextComponentTask.run:369    
> RefactoringActionsProvider.doFindUsages:232    
> ActionsImplementationFactory.doFindUsages:91    
> WhereUsedAction.performAction:52    
> RefactoringGlobalAction$ContextAction.actionPerformed:172    
> TopComponent.processKeyBinding:1151    
> JComponent.processKeyBindings:2963    
> JComponent.processKeyEvent:2863    
> Component.processEvent:6355    
> Container.processEvent:2259    
> Component.dispatchEventImpl:4961    
> Container.dispatchEventImpl:2317    
> Component.dispatchEvent:4793    
> KeyboardFocusManager.redispatchEvent:1955    
> DefaultKeyboardFocusManager.dispatchKeyEvent:827    
> DefaultKeyboardFocusManager.preDispatchKeyEvent:1096    
> DefaultKeyboardFocusManager.typeAheadAssertions:966    
> DefaultKeyboardFocusManager.dispatchEvent:792    
> Component.dispatchEventImpl:4842    
> Container.dispatchEventImpl:2317    
> Window.dispatchEventImpl:2758    
> Component.dispatchEvent:4793    
> EventQueue.dispatchEventImpl:766    
> EventQueue.access$500:97    
> EventQueue$3.run:717    
> EventQueue$3.run:711    
> AccessController.doPrivileged    
> ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege:89    
> ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege:99    
> EventQueue$4.run:739    
> EventQueue$4.run:737    
> AccessController.doPrivileged    
> ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege:89    
> EventQueue.dispatchEvent:736    
> TimableEventQueue.dispatchEvent:136    
> EventDispatchThread.pumpOneEventForFilters:199    
> EventDispatchThread.pumpEventsForFilter:124    
> EventDispatchThread.pumpEventsForHierarchy:113    
> EventDispatchThread.pumpEvents:109    
> EventDispatchThread.pumpEvents:101    
> EventDispatchThread.run:90   
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org
For additional commands, e-mail: commits-h...@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to