[ https://issues.apache.org/jira/browse/NETBEANS-6312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17461666#comment-17461666 ]
Martin Entlicher commented on NETBEANS-6312: -------------------------------------------- The stack in question does not really seem to acquire the document read lock anywhere. Method {{DocumentView.modelToYNeedsLock(DocumentView.java:762)}} is supposed to be called with a read lock, if I get it right. But it's not called with a document read lock, but with {{LockedViewHierarchy}}, which acquires a lock on {{DocumentView}}, not on the {{Document}}. > Missing READ-LOCK when accessing TokenHierarchy > ----------------------------------------------- > > Key: NETBEANS-6312 > URL: https://issues.apache.org/jira/browse/NETBEANS-6312 > Project: NetBeans > Issue Type: Bug > Components: java - Editor > Reporter: Martin Entlicher > Assignee: Martin Entlicher > Priority: Major > > It can be randomly reproduced on > {{org.netbeans.modules.ide.kit.VerifySimpleTemplatesTest}}. > It breaks gates quite often, e.g.: > https://github.com/apache/netbeans/runs/4532335022 > The problem is: > {code} > 2021-12-15T10:27:11.4316670Z [junit] INFO > [org.netbeans.spi.lexer.MutableTextInput]: !!WARNING!! Missing READ-LOCK when > accessing TokenHierarchy: > input-source:org.netbeans.modules.editor.NbEditorDocument@743af498, > mimeType='text/plain+xml', kitClass=null, length=169, version=1, > file=org.netbeans.modules.xml.XMLDataObject@3273bf7e[/Users/runner/work/netbeans/netbeans/ide/ide.kit/build/test/qa-functional/work/o.n.m.i.k.V/at/Test11.xml@e0df019d:262f3b8] > 2021-12-15T10:27:11.4420580Z [junit] java.lang.Exception > 2021-12-15T10:27:11.4523420Z [junit] [catch] at > org.netbeans.lib.lexer.TokenHierarchyOperation.ensureReadLocked(TokenHierarchyOperation.java:387) > 2021-12-15T10:27:11.4626970Z [junit] at > org.netbeans.lib.lexer.TokenHierarchyOperation.isActive(TokenHierarchyOperation.java:343) > 2021-12-15T10:27:11.4794700Z [junit] at > org.netbeans.api.lexer.TokenHierarchy.isActive(TokenHierarchy.java:306) > 2021-12-15T10:27:11.4898170Z [junit] at > org.netbeans.modules.textmate.lexer.SyntaxHighlighting.getHighlights(SyntaxHighlighting.java:122) > 2021-12-15T10:27:11.5002140Z [junit] at > org.netbeans.modules.editor.lib2.highlighting.DirectMergeContainer$HlSequence.<init>(DirectMergeContainer.java:209) > 2021-12-15T10:27:11.5106470Z [junit] at > org.netbeans.modules.editor.lib2.highlighting.DirectMergeContainer.getHighlights(DirectMergeContainer.java:96) > 2021-12-15T10:27:11.5210700Z [junit] at > org.netbeans.modules.editor.lib2.highlighting.HighlightsReader.<init>(HighlightsReader.java:42) > 2021-12-15T10:27:11.5318420Z [junit] at > org.netbeans.modules.editor.lib2.view.HighlightsViewFactory.restart(HighlightsViewFactory.java:167) > 2021-12-15T10:27:11.5421820Z [junit] at > org.netbeans.modules.editor.lib2.view.ViewBuilder$FactoryState.init(ViewBuilder.java:1299) > 2021-12-15T10:27:11.5524920Z [junit] at > org.netbeans.modules.editor.lib2.view.ViewBuilder.createViews(ViewBuilder.java:699) > 2021-12-15T10:27:11.5628510Z [junit] at > org.netbeans.modules.editor.lib2.view.ViewBuilder.createReplaceRepaintViews(ViewBuilder.java:660) > 2021-12-15T10:27:11.5732260Z [junit] at > org.netbeans.modules.editor.lib2.view.ViewUpdates.reinitAllViews(ViewUpdates.java:189) > 2021-12-15T10:27:11.5822640Z [junit] at > org.netbeans.modules.editor.lib2.view.DocumentViewOp.checkViewsInited(DocumentViewOp.java:619) > 2021-12-15T10:27:11.5975520Z [junit] at > org.netbeans.modules.editor.lib2.view.DocumentView.modelToYNeedsLock(DocumentView.java:762) > 2021-12-15T10:27:11.6079100Z [junit] at > org.netbeans.modules.editor.lib2.view.ViewHierarchyImpl.modelToY(ViewHierarchyImpl.java:183) > 2021-12-15T10:27:11.6182660Z [junit] at > org.netbeans.modules.editor.lib2.view.LockedViewHierarchy.modelToY(LockedViewHierarchy.java:90) > 2021-12-15T10:27:11.6285920Z [junit] at > org.netbeans.editor.BaseTextUI.getYFromPos(BaseTextUI.java:271) > 2021-12-15T10:27:11.6456740Z [junit] at > org.netbeans.modules.editor.bracesmatching.BraceMatchingSidebarComponent.showTooltip(BraceMatchingSidebarComponent.java:695) > 2021-12-15T10:27:11.6561980Z [junit] at > org.netbeans.modules.editor.bracesmatching.BraceMatchingSidebarComponent.access$400(BraceMatchingSidebarComponent.java:93) > 2021-12-15T10:27:11.6666000Z [junit] at > org.netbeans.modules.editor.bracesmatching.BraceMatchingSidebarComponent$4.run(BraceMatchingSidebarComponent.java:448) > 2021-12-15T10:27:11.6766190Z [junit] at > java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) > 2021-12-15T10:27:11.6869060Z [junit] at > java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) > 2021-12-15T10:27:11.6969840Z [junit] at > java.awt.EventQueue.access$500(EventQueue.java:97) > 2021-12-15T10:27:11.7072000Z [junit] at > java.awt.EventQueue$3.run(EventQueue.java:709) > 2021-12-15T10:27:11.7166440Z [junit] at > java.awt.EventQueue$3.run(EventQueue.java:703) > 2021-12-15T10:27:11.7269350Z [junit] at > java.security.AccessController.doPrivileged(Native Method) > 2021-12-15T10:27:11.7336010Z [junit] at > java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) > 2021-12-15T10:27:11.7486700Z [junit] at > java.awt.EventQueue.dispatchEvent(EventQueue.java:728) > 2021-12-15T10:27:11.7589550Z [junit] at > org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:136) > 2021-12-15T10:27:11.7692690Z [junit] at > java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) > 2021-12-15T10:27:11.7827960Z [junit] at > java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) > 2021-12-15T10:27:11.7991830Z [junit] at > java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) > 2021-12-15T10:27:11.8014390Z [junit] at > java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) > 2021-12-15T10:27:11.8025400Z [junit] at > java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) > 2021-12-15T10:27:11.8027630Z [junit] at > java.awt.EventDispatchThread.run(EventDispatchThread.java:82) > {code} > -- This message was sent by Atlassian Jira (v8.20.1#820001) --------------------------------------------------------------------- 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