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 257884 - org.netbeans.modules.cnd.modelimpl.impl.services.SelectImpl.analyzeFilter: LowPerformance took 43953 ms.
Summary: org.netbeans.modules.cnd.modelimpl.impl.services.SelectImpl.analyzeFilter: Lo...
Status: VERIFIED FIXED
Alias: None
Product: cnd
Classification: Unclassified
Component: Code Model (show other bugs)
Version: 8.1
Hardware: All All
: P3 normal (vote)
Assignee: Alexander Simon
URL:
Keywords: PERFORMANCE, REGRESSION
Depends on:
Blocks:
 
Reported: 2016-02-08 09:05 UTC by Vladimir Kvashin
Modified: 2016-04-20 13:44 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter: 222421


Attachments
nps snapshot (1023.86 KB, application/nps)
2016-02-08 09:05 UTC, Vladimir Kvashin
Details
Here is a full thread dump that was taken while UI was still frozen (I think) (36.61 KB, text/plain)
2016-02-08 09:08 UTC, Vladimir Kvashin
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Vladimir Kvashin 2016-02-08 09:05:06 UTC
This issue was reported manually by vkvashin.
It already has 1 duplicates 


Build: NetBeans IDE 8.1 (Build 20160204-4d86069e000d)
VM: Java HotSpot(TM) 64-Bit Server VM, 24.71-b01, Java(TM) SE Runtime Environment, 1.7.0_71-b14
OS: Linux

User Comments:
vkvashin: Involed a call graph. I had two projects open, clang and jconvert, I invoked call graph on 
static void printTemplateArgument in TypeJavaPrinter.cpp.



Maximum slowness yet reported was 43953 ms, average is 43953
Comment 1 Vladimir Kvashin 2016-02-08 09:05:15 UTC
Created attachment 158407 [details]
nps snapshot
Comment 2 Vladimir Kvashin 2016-02-08 09:08:11 UTC
Created attachment 158408 [details]
Here is a full thread dump that was taken while UI was still frozen (I think)
Comment 3 Vladimir Kvashin 2016-02-08 09:09:42 UTC
I think the erroneous place is here: CallGraphPopupAction.performAction seems to peform its work or at least part of it in EDT.

"AWT-EventQueue-0" prio=10 tid=0x00007f9e441ce000 nid=0x5f6d runnable [0x00007f9e6d6e2000]
   java.lang.Thread.State: RUNNABLE
        at java.lang.Object.getClass(Native Method)
        at org.netbeans.modules.cnd.modelimpl.csm.core.OffsetableBase.equals(OffsetableBase.java:256)
        at org.netbeans.modules.cnd.modelimpl.csm.core.OffsetableDeclarationBase.equals(OffsetableDeclarationBase.java:643)
        at org.netbeans.modules.cnd.api.model.xref.CsmReferenceSupport.sameDeclaration(CsmReferenceSupport.java:150)
        at org.netbeans.modules.cnd.completion.impl.xref.ReferenceImpl.initKind(ReferenceImpl.java:277)
        at org.netbeans.modules.cnd.completion.impl.xref.ReferenceImpl.getReferencedObjectImpl(ReferenceImpl.java:138)
        at org.netbeans.modules.cnd.completion.impl.xref.ReferenceImpl.getReferencedObject(ReferenceImpl.java:96)
        at org.netbeans.modules.cnd.navigation.callgraph.CallModelImpl$DeclarationUIN.findDeclaration(CallModelImpl.java:467)
        at org.netbeans.modules.cnd.navigation.callgraph.CallModelImpl$DeclarationUIN.getDeclaration(CallModelImpl.java:404)
        at org.netbeans.modules.cnd.navigation.callgraph.CallModelImpl$DeclarationUIN.access$100(CallModelImpl.java:376)
        at org.netbeans.modules.cnd.navigation.callgraph.CallModelImpl.getRoot(CallModelImpl.java:110)
        at org.netbeans.modules.cnd.callgraph.impl.CallGraphPanel.setModel(CallGraphPanel.java:472)
        at org.netbeans.modules.cnd.callgraph.impl.CallGraphTopComponent.setModel(CallGraphTopComponent.java:117)
        at org.netbeans.modules.cnd.callgraph.impl.CallGraphPopupAction.performAction(CallGraphPopupAction.java:70)
        at org.openide.util.actions.NodeAction$DelegateAction$1.run(NodeAction.java:586)
        at org.openide.util.actions.ActionInvoker$1.run(ActionInvoker.java:95)
        at org.openide.util.actions.ActionInvoker.doPerformAction(ActionInvoker.java:116)
        at org.openide.util.actions.ActionInvoker.invokeAction(ActionInvoker.java:99)
        at org.openide.util.actions.NodeAction$DelegateAction.actionPerformed(NodeAction.java:583)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
Comment 4 Alexander Simon 2016-02-08 10:58:24 UTC
It looks like a regression after fixing bug #196979.
See change set:
http://hg.netbeans.org/cnd-main/rev/cbac04795d79
Lines 12.410 - 12.428 should be rewritten.
Comment 5 Alexander Simon 2016-02-11 11:48:32 UTC
fixed, change set:
fbaf278b680
Comment 6 Alexander Simon 2016-02-11 11:50:29 UTC
(In reply to Alexander Simon from comment #5)
> fixed, change set:
> fbaf278b680
right change set:
http://hg.netbeans.org/cnd-main/rev/ffbaf278b680
Comment 7 Quality Engineering 2016-02-12 02:36:29 UTC
Integrated into 'main-silver', will be available in build *201602120002* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)

Changeset: http://hg.netbeans.org/main-silver/rev/ffbaf278b680
User: Alexander Simon <alexvsimon@netbeans.org>
Log: fixed Bug #257884 org.netbeans.modules.cnd.modelimpl.impl.services.SelectImpl.analyzeFilter: LowPerformance took 43953 ms.
Comment 8 Vladimir Kvashin 2016-04-15 16:59:45 UTC
verified in builds on enum server
Comment 9 Alexander Simon 2016-04-20 13:44:38 UTC
Verified in NetBeans 8.1 with latest updates.