CDT Indexer spinning on complex files

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

CDT Indexer spinning on complex files

Avi Kivity
Hi, I'm more or less tracking CDT master. Recently the indexer hangs
when processing large files, consuming 100% CPU in one thread.


Using jvisualvm I see it's spending a lot of time here:


org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor.findDeclarationOwnerDefinition()
6.449319    49,477 ms (6.4%)    49,477 ms    49,670 ms    49,670 ms


I would love to provide more information, but I'm a complete n00b (or
rather, I forgot all that I've ever learned) about debugging Java
applications. If you can provide guidance about what can be done to
provide more information, I'll be happy to dig some more.


_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/cdt-dev
Reply | Threaded
Open this post in threaded view
|

Re: CDT Indexer spinning on complex files

Avi Kivity


On 01/28/2018 12:25 PM, Avi Kivity wrote:

> Hi, I'm more or less tracking CDT master. Recently the indexer hangs
> when processing large files, consuming 100% CPU in one thread.
>
>
> Using jvisualvm I see it's spending a lot of time here:
>
>
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor.findDeclarationOwnerDefinition()
> 6.449319    49,477 ms (6.4%)    49,477 ms    49,670 ms    49,670 ms
>
>
> I would love to provide more information, but I'm a complete n00b (or
> rather, I forgot all that I've ever learned) about debugging Java
> applications. If you can provide guidance about what can be done to
> provide more information, I'll be happy to dig some more.
>
>

I remembered SIGQUIT prints a thread dump, so here's one data point.

"Worker-3" #31 prio=5 os_prio=0 tid=0x00007fa068001450 nid=0x188d
runnable [0x00007fa070e14000]
    java.lang.Thread.State: RUNNABLE
     at
org.eclipse.cdt.internal.core.pdom.indexer.IndexerASTVisitor$Definition.matches(IndexerASTVisitor.java:82)
     at
org.eclipse.cdt.internal.core.pdom.indexer.IndexerASTVisitor$Definition.search(IndexerASTVisitor.java:66)
     at
org.eclipse.cdt.internal.core.pdom.PDOMWriter.process(PDOMWriter.java:551)
     at
org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.writeToIndex(AbstractIndexerTask.java:1279)
     at
org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.parseFile(AbstractIndexerTask.java:1096)
     at
org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.parseLinkage(AbstractIndexerTask.java:896)
     at
org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.runTask(AbstractIndexerTask.java:557)
     at
org.eclipse.cdt.internal.core.pdom.indexer.PDOMIndexerTask.run(PDOMIndexerTask.java:161)
     at
org.eclipse.cdt.internal.core.pdom.indexer.PDOMRebuildTask.run(PDOMRebuildTask.java:90)
     at
org.eclipse.cdt.internal.core.pdom.PDOMIndexerJob.run(PDOMIndexerJob.java:155)
     at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)

_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/cdt-dev
Reply | Threaded
Open this post in threaded view
|

Re: CDT Indexer spinning on complex files

Avi Kivity


On 01/28/2018 12:53 PM, Avi Kivity wrote:

>
>
> On 01/28/2018 12:25 PM, Avi Kivity wrote:
>> Hi, I'm more or less tracking CDT master. Recently the indexer hangs
>> when processing large files, consuming 100% CPU in one thread.
>>
>>
>> Using jvisualvm I see it's spending a lot of time here:
>>
>>
>> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor.findDeclarationOwnerDefinition()
>> 6.449319    49,477 ms (6.4%)    49,477 ms    49,670 ms    49,670 ms
>>
>>
>> I would love to provide more information, but I'm a complete n00b (or
>> rather, I forgot all that I've ever learned) about debugging Java
>> applications. If you can provide guidance about what can be done to
>> provide more information, I'll be happy to dig some more.
>>
>>
>
> I remembered SIGQUIT prints a thread dump, so here's one data point.
>
> "Worker-3" #31 prio=5 os_prio=0 tid=0x00007fa068001450 nid=0x188d
> runnable [0x00007fa070e14000]
>    java.lang.Thread.State: RUNNABLE
>     at
> org.eclipse.cdt.internal.core.pdom.indexer.IndexerASTVisitor$Definition.matches(IndexerASTVisitor.java:82)
>     at
> org.eclipse.cdt.internal.core.pdom.indexer.IndexerASTVisitor$Definition.search(IndexerASTVisitor.java:66)
>     at
> org.eclipse.cdt.internal.core.pdom.PDOMWriter.process(PDOMWriter.java:551)
>     at
> org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.writeToIndex(AbstractIndexerTask.java:1279)
>     at
> org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.parseFile(AbstractIndexerTask.java:1096)
>     at
> org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.parseLinkage(AbstractIndexerTask.java:896)
>     at
> org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.runTask(AbstractIndexerTask.java:557)
>     at
> org.eclipse.cdt.internal.core.pdom.indexer.PDOMIndexerTask.run(PDOMIndexerTask.java:161)
>     at
> org.eclipse.cdt.internal.core.pdom.indexer.PDOMRebuildTask.run(PDOMRebuildTask.java:90)
>     at
> org.eclipse.cdt.internal.core.pdom.PDOMIndexerJob.run(PDOMIndexerJob.java:155)
>     at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
>

And another:

"Worker-3" #31 prio=5 os_prio=0 tid=0x00007fa068001450 nid=0x188d
runnable [0x00007fa070e14000]
    java.lang.Thread.State: RUNNABLE
     at java.lang.ThreadLocal.get(ThreadLocal.java:161)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.pushLookupPoint(CPPSemantics.java:308)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.resolveBinding(CPPSemantics.java:343)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor.createBinding(CPPVisitor.java:278)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTName.createIntermediateBinding(CPPASTName.java:64)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTNameBase.resolveBinding(CPPASTNameBase.java:107)
     at
org.eclipse.cdt.internal.core.pdom.PDOMWriter.resolveNames(PDOMWriter.java:378)
     at
org.eclipse.cdt.internal.core.pdom.PDOMWriter.addSymbols(PDOMWriter.java:281)
     at
org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.writeToIndex(AbstractIndexerTask.java:1284)
     at
org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.parseFile(AbstractIndexerTask.java:1096)
     at
org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.parseLinkage(AbstractIndexerTask.java:896)
     at
org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.runTask(AbstractIndexerTask.java:557)
     at
org.eclipse.cdt.internal.core.pdom.indexer.PDOMIndexerTask.run(PDOMIndexerTask.java:161)
     at
org.eclipse.cdt.internal.core.pdom.indexer.PDOMRebuildTask.run(PDOMRebuildTask.java:90)
     at
org.eclipse.cdt.internal.core.pdom.PDOMIndexerJob.run(PDOMIndexerJob.java:155)
     at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)

_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/cdt-dev
Reply | Threaded
Open this post in threaded view
|

Re: CDT Indexer spinning on complex files

Avi Kivity


On 01/28/2018 12:54 PM, Avi Kivity wrote:

>
>
> On 01/28/2018 12:53 PM, Avi Kivity wrote:
>>
>>
>> On 01/28/2018 12:25 PM, Avi Kivity wrote:
>>> Hi, I'm more or less tracking CDT master. Recently the indexer hangs
>>> when processing large files, consuming 100% CPU in one thread.
>>>
>>>
>>> Using jvisualvm I see it's spending a lot of time here:
>>>
>>>
>>> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor.findDeclarationOwnerDefinition()
>>> 6.449319    49,477 ms (6.4%)    49,477 ms    49,670 ms 49,670 ms
>>>
>>>
>>> I would love to provide more information, but I'm a complete n00b
>>> (or rather, I forgot all that I've ever learned) about debugging
>>> Java applications. If you can provide guidance about what can be
>>> done to provide more information, I'll be happy to dig some more.
>>>
>>>
>>
>> I remembered SIGQUIT prints a thread dump, so here's one data point.
>>

Here's a fun one:

"Worker-3" #31 prio=5 os_prio=0 tid=0x00007fa068001450 nid=0x188d
runnable [0x00007fa070e0d000]
    java.lang.Thread.State: RUNNABLE
     at java.lang.Object.hashCode(Native Method)
     at java.util.WeakHashMap.hash(WeakHashMap.java:298)
     at java.util.WeakHashMap.get(WeakHashMap.java:396)
     at
org.eclipse.cdt.core.dom.ast.ASTTypeUtil.appendType(ASTTypeUtil.java:598)
     at
org.eclipse.cdt.core.dom.ast.ASTTypeUtil.appendArgument(ASTTypeUtil.java:247)
     at
org.eclipse.cdt.core.dom.ast.ASTTypeUtil.appendArgumentList(ASTTypeUtil.java:221)
     at
org.eclipse.cdt.core.dom.ast.ASTTypeUtil.getArgumentListString(ASTTypeUtil.java:211)
     at
org.eclipse.cdt.internal.core.index.IndexCPPSignatureUtil.getTemplateArgString(IndexCPPSignatureUtil.java:122)
     at
org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMInstanceCache.getInstance(PDOMInstanceCache.java:69)
     - locked <0x00000005e09cc970> (a
org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMInstanceCache)
     at
org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMCPPClassTemplate.getInstance(PDOMCPPClassTemplate.java:273)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.getInstance(CPPTemplates.java:457)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiate(CPPTemplates.java:283)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiate(CPPTemplates.java:251)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveDeferredClassInstance(CPPTemplates.java:3086)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:2994)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArgument(CPPTemplates.java:1474)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArguments(CPPTemplates.java:1409)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveDeferredClassInstance(CPPTemplates.java:3071)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:2994)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:370)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArgument(CPPTemplates.java:1439)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArguments(CPPTemplates.java:1409)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveDeferredClassInstance(CPPTemplates.java:3071)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:2994)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknownMember(CPPTemplates.java:3022)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:3000)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArgument(CPPTemplates.java:1474)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.TemplateArgumentDeduction.verifyDeduction(TemplateArgumentDeduction.java:767)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.TemplateArgumentDeduction.deduceFromFunctionArgs(TemplateArgumentDeduction.java:219)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.TemplateArgumentDeduction.deduceForFunctionCall(TemplateArgumentDeduction.java:99)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateForFunctionCall(CPPTemplates.java:2315)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateForFunctionCall(CPPTemplates.java:2292)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.Conversions.copyInitializationOfClass(Conversions.java:751)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.FunctionCost.performUDC(FunctionCost.java:102)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.resolveFunction(CPPSemantics.java:2708)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionSet.resolveFunction(EvalFunctionSet.java:340)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:227)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1548)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1525)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.createSpecialization(CPPTemplates.java:1040)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClosureSpecialization.specializeMember(CPPClosureSpecialization.java:48)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClosureSpecialization.<init>(CPPClosureSpecialization.java:31)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClosureType.instantiate(CPPClosureType.java:458)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1669)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1594)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalTypeId.instantiate(EvalTypeId.java:375)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1548)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1525)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.createSpecialization(CPPTemplates.java:1040)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClosureSpecialization.specializeMember(CPPClosureSpecialization.java:48)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClosureSpecialization.<init>(CPPClosureSpecialization.java:31)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClosureType.instantiate(CPPClosureType.java:458)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1669)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFixed.instantiate(EvalFixed.java:176)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1548)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1525)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.createInstance(CPPTemplates.java:901)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateFunctionTemplate(CPPTemplates.java:403)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateForFunctionCall(CPPTemplates.java:2317)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateForFunctionCall(CPPTemplates.java:2292)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.resolveFunction(CPPSemantics.java:2640)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.resolveAmbiguities(CPPSemantics.java:2338)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.findOverloadedOperator(CPPSemantics.java:4012)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.computeOverload(EvalFunctionCall.java:141)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.getOverload(EvalFunctionCall.java:130)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.computeType(EvalFunctionCall.java:158)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.getType(EvalFunctionCall.java:150)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.getDeclTypeForEvaluation(CPPSemantics.java:4501)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1551)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArgument(CPPTemplates.java:1474)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArguments(CPPTemplates.java:1409)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveDeferredClassInstance(CPPTemplates.java:3071)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:2994)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1525)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.createInstance(CPPTemplates.java:901)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateFunctionTemplate(CPPTemplates.java:403)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateForFunctionCall(CPPTemplates.java:2317)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateForFunctionCall(CPPTemplates.java:2292)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.resolveFunction(CPPSemantics.java:2640)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionSet.resolveFunction(EvalFunctionSet.java:340)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:227)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1548)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.createSpecialization(CPPTemplates.java:1085)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClassSpecialization.specializeMember(CPPClassSpecialization.java:193)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.AbstractCPPClassSpecializationScope.getBindings(AbstractCPPClassSpecializationScope.java:135)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.getBindingsFromScope(CPPSemantics.java:1380)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.lookup(CPPSemantics.java:1095)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.resolveUnknownName(CPPSemantics.java:4458)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknownMember(CPPTemplates.java:3044)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:3000)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.AbstractCPPClassSpecializationScope.getBases(AbstractCPPClassSpecializationScope.java:197)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClassSpecialization.getBases(CPPClassSpecialization.java:242)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.BaseClassLookup.lookupInBaseClass(BaseClassLookup.java:217)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.BaseClassLookup.lookupInBaseClass(BaseClassLookup.java:260)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.BaseClassLookup.lookupInBaseClasses(BaseClassLookup.java:61)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.lookup(CPPSemantics.java:1125)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.resolveUnknownName(CPPSemantics.java:4458)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknownMember(CPPTemplates.java:3044)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:3000)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArgument(CPPTemplates.java:1474)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArguments(CPPTemplates.java:1409)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveDeferredClassInstance(CPPTemplates.java:3071)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:2994)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:370)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArgument(CPPTemplates.java:1439)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArguments(CPPTemplates.java:1409)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveDeferredClassInstance(CPPTemplates.java:3071)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:2994)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknownMember(CPPTemplates.java:3022)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:3000)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArgument(CPPTemplates.java:1474)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.TemplateArgumentDeduction.verifyDeduction(TemplateArgumentDeduction.java:767)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.TemplateArgumentDeduction.deduceFromFunctionArgs(TemplateArgumentDeduction.java:219)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.TemplateArgumentDeduction.deduceForFunctionCall(TemplateArgumentDeduction.java:99)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateForFunctionCall(CPPTemplates.java:2315)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateForFunctionCall(CPPTemplates.java:2292)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.Conversions.copyInitializationOfClass(Conversions.java:751)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.FunctionCost.performUDC(FunctionCost.java:102)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.resolveFunction(CPPSemantics.java:2708)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.resolveAmbiguities(CPPSemantics.java:2338)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.resolveBinding(CPPSemantics.java:361)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor.resolveBinding(CPPVisitor.java:1472)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor.createBinding(CPPVisitor.java:312)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTName.createIntermediateBinding(CPPASTName.java:64)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTNameBase.resolvePreBinding(CPPASTNameBase.java:94)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionCallExpression.checkForExplicitTypeConversion(CPPASTFunctionCallExpression.java:307)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionCallExpression.computeEvaluation(CPPASTFunctionCallExpression.java:286)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionCallExpression.getEvaluation(CPPASTFunctionCallExpression.java:277)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionCallExpression.getOverload(CPPASTFunctionCallExpression.java:248)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionCallExpression.getImplicitNames(CPPASTFunctionCallExpression.java:128)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionCallExpression.accept(CPPASTFunctionCallExpression.java:206)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTReturnStatement.accept(CPPASTReturnStatement.java:85)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTCompoundStatement.accept(CPPASTCompoundStatement.java:95)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionDefinition.accept(CPPASTFunctionDefinition.java:222)
     at
org.eclipse.cdt.internal.core.dom.parser.ASTTranslationUnit.accept(ASTTranslationUnit.java:275)
     at
org.eclipse.cdt.internal.core.pdom.PDOMWriter.process(PDOMWriter.java:533)
     at
org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.writeToIndex(AbstractIndexerTask.java:1279)
     at
org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.parseFile(AbstractIndexerTask.java:1096)
     at
org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.parseLinkage(AbstractIndexerTask.java:896)
     at
org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.runTask(AbstractIndexerTask.java:557)
     at
org.eclipse.cdt.internal.core.pdom.indexer.PDOMIndexerTask.run(PDOMIndexerTask.java:161)
     at
org.eclipse.cdt.internal.core.pdom.indexer.PDOMRebuildTask.run(PDOMRebuildTask.java:90)
     at
org.eclipse.cdt.internal.core.pdom.PDOMIndexerJob.run(PDOMIndexerJob.java:155)
     at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)



_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/cdt-dev
Reply | Threaded
Open this post in threaded view
|

Re: CDT Indexer spinning on complex files

Nathan Ridge
The first two stacks look normal. The third one may or may not be reasonable depending on what code is being indexed.

What would really help here is an example code file that triggers the hang that we can investigate.

Regards,
Nate

________________________________________
From: [hidden email] <[hidden email]> on behalf of Avi Kivity <[hidden email]>
Sent: January 28, 2018 1:08:07 PM
To: General developers list., CDT
Subject: Re: [cdt-dev] CDT Indexer spinning on complex files



On 01/28/2018 12:54 PM, Avi Kivity wrote:

>
>
> On 01/28/2018 12:53 PM, Avi Kivity wrote:
>>
>>
>> On 01/28/2018 12:25 PM, Avi Kivity wrote:
>>> Hi, I'm more or less tracking CDT master. Recently the indexer hangs
>>> when processing large files, consuming 100% CPU in one thread.
>>>
>>>
>>> Using jvisualvm I see it's spending a lot of time here:
>>>
>>>
>>> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor.findDeclarationOwnerDefinition()
>>> 6.449319    49,477 ms (6.4%)    49,477 ms    49,670 ms 49,670 ms
>>>
>>>
>>> I would love to provide more information, but I'm a complete n00b
>>> (or rather, I forgot all that I've ever learned) about debugging
>>> Java applications. If you can provide guidance about what can be
>>> done to provide more information, I'll be happy to dig some more.
>>>
>>>
>>
>> I remembered SIGQUIT prints a thread dump, so here's one data point.
>>

Here's a fun one:

"Worker-3" #31 prio=5 os_prio=0 tid=0x00007fa068001450 nid=0x188d
runnable [0x00007fa070e0d000]
    java.lang.Thread.State: RUNNABLE
     at java.lang.Object.hashCode(Native Method)
     at java.util.WeakHashMap.hash(WeakHashMap.java:298)
     at java.util.WeakHashMap.get(WeakHashMap.java:396)
     at
org.eclipse.cdt.core.dom.ast.ASTTypeUtil.appendType(ASTTypeUtil.java:598)
     at
org.eclipse.cdt.core.dom.ast.ASTTypeUtil.appendArgument(ASTTypeUtil.java:247)
     at
org.eclipse.cdt.core.dom.ast.ASTTypeUtil.appendArgumentList(ASTTypeUtil.java:221)
     at
org.eclipse.cdt.core.dom.ast.ASTTypeUtil.getArgumentListString(ASTTypeUtil.java:211)
     at
org.eclipse.cdt.internal.core.index.IndexCPPSignatureUtil.getTemplateArgString(IndexCPPSignatureUtil.java:122)
     at
org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMInstanceCache.getInstance(PDOMInstanceCache.java:69)
     - locked <0x00000005e09cc970> (a
org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMInstanceCache)
     at
org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMCPPClassTemplate.getInstance(PDOMCPPClassTemplate.java:273)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.getInstance(CPPTemplates.java:457)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiate(CPPTemplates.java:283)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiate(CPPTemplates.java:251)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveDeferredClassInstance(CPPTemplates.java:3086)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:2994)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArgument(CPPTemplates.java:1474)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArguments(CPPTemplates.java:1409)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveDeferredClassInstance(CPPTemplates.java:3071)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:2994)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:370)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArgument(CPPTemplates.java:1439)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArguments(CPPTemplates.java:1409)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveDeferredClassInstance(CPPTemplates.java:3071)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:2994)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknownMember(CPPTemplates.java:3022)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:3000)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArgument(CPPTemplates.java:1474)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.TemplateArgumentDeduction.verifyDeduction(TemplateArgumentDeduction.java:767)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.TemplateArgumentDeduction.deduceFromFunctionArgs(TemplateArgumentDeduction.java:219)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.TemplateArgumentDeduction.deduceForFunctionCall(TemplateArgumentDeduction.java:99)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateForFunctionCall(CPPTemplates.java:2315)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateForFunctionCall(CPPTemplates.java:2292)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.Conversions.copyInitializationOfClass(Conversions.java:751)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.FunctionCost.performUDC(FunctionCost.java:102)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.resolveFunction(CPPSemantics.java:2708)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionSet.resolveFunction(EvalFunctionSet.java:340)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:227)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1548)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1525)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.createSpecialization(CPPTemplates.java:1040)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClosureSpecialization.specializeMember(CPPClosureSpecialization.java:48)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClosureSpecialization.<init>(CPPClosureSpecialization.java:31)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClosureType.instantiate(CPPClosureType.java:458)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1669)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1594)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalTypeId.instantiate(EvalTypeId.java:375)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1548)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1525)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.createSpecialization(CPPTemplates.java:1040)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClosureSpecialization.specializeMember(CPPClosureSpecialization.java:48)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClosureSpecialization.<init>(CPPClosureSpecialization.java:31)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClosureType.instantiate(CPPClosureType.java:458)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1669)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFixed.instantiate(EvalFixed.java:176)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1548)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1525)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.createInstance(CPPTemplates.java:901)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateFunctionTemplate(CPPTemplates.java:403)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateForFunctionCall(CPPTemplates.java:2317)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateForFunctionCall(CPPTemplates.java:2292)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.resolveFunction(CPPSemantics.java:2640)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.resolveAmbiguities(CPPSemantics.java:2338)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.findOverloadedOperator(CPPSemantics.java:4012)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.computeOverload(EvalFunctionCall.java:141)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.getOverload(EvalFunctionCall.java:130)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.computeType(EvalFunctionCall.java:158)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.getType(EvalFunctionCall.java:150)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.getDeclTypeForEvaluation(CPPSemantics.java:4501)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1551)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArgument(CPPTemplates.java:1474)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArguments(CPPTemplates.java:1409)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveDeferredClassInstance(CPPTemplates.java:3071)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:2994)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1525)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.createInstance(CPPTemplates.java:901)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateFunctionTemplate(CPPTemplates.java:403)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateForFunctionCall(CPPTemplates.java:2317)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateForFunctionCall(CPPTemplates.java:2292)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.resolveFunction(CPPSemantics.java:2640)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionSet.resolveFunction(EvalFunctionSet.java:340)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:227)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1548)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.createSpecialization(CPPTemplates.java:1085)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClassSpecialization.specializeMember(CPPClassSpecialization.java:193)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.AbstractCPPClassSpecializationScope.getBindings(AbstractCPPClassSpecializationScope.java:135)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.getBindingsFromScope(CPPSemantics.java:1380)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.lookup(CPPSemantics.java:1095)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.resolveUnknownName(CPPSemantics.java:4458)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknownMember(CPPTemplates.java:3044)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:3000)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.AbstractCPPClassSpecializationScope.getBases(AbstractCPPClassSpecializationScope.java:197)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClassSpecialization.getBases(CPPClassSpecialization.java:242)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.BaseClassLookup.lookupInBaseClass(BaseClassLookup.java:217)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.BaseClassLookup.lookupInBaseClass(BaseClassLookup.java:260)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.BaseClassLookup.lookupInBaseClasses(BaseClassLookup.java:61)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.lookup(CPPSemantics.java:1125)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.resolveUnknownName(CPPSemantics.java:4458)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknownMember(CPPTemplates.java:3044)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:3000)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArgument(CPPTemplates.java:1474)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArguments(CPPTemplates.java:1409)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveDeferredClassInstance(CPPTemplates.java:3071)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:2994)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:370)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArgument(CPPTemplates.java:1439)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArguments(CPPTemplates.java:1409)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveDeferredClassInstance(CPPTemplates.java:3071)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:2994)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknownMember(CPPTemplates.java:3022)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:3000)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArgument(CPPTemplates.java:1474)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.TemplateArgumentDeduction.verifyDeduction(TemplateArgumentDeduction.java:767)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.TemplateArgumentDeduction.deduceFromFunctionArgs(TemplateArgumentDeduction.java:219)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.TemplateArgumentDeduction.deduceForFunctionCall(TemplateArgumentDeduction.java:99)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateForFunctionCall(CPPTemplates.java:2315)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateForFunctionCall(CPPTemplates.java:2292)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.Conversions.copyInitializationOfClass(Conversions.java:751)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.FunctionCost.performUDC(FunctionCost.java:102)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.resolveFunction(CPPSemantics.java:2708)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.resolveAmbiguities(CPPSemantics.java:2338)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.resolveBinding(CPPSemantics.java:361)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor.resolveBinding(CPPVisitor.java:1472)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor.createBinding(CPPVisitor.java:312)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTName.createIntermediateBinding(CPPASTName.java:64)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTNameBase.resolvePreBinding(CPPASTNameBase.java:94)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionCallExpression.checkForExplicitTypeConversion(CPPASTFunctionCallExpression.java:307)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionCallExpression.computeEvaluation(CPPASTFunctionCallExpression.java:286)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionCallExpression.getEvaluation(CPPASTFunctionCallExpression.java:277)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionCallExpression.getOverload(CPPASTFunctionCallExpression.java:248)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionCallExpression.getImplicitNames(CPPASTFunctionCallExpression.java:128)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionCallExpression.accept(CPPASTFunctionCallExpression.java:206)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTReturnStatement.accept(CPPASTReturnStatement.java:85)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTCompoundStatement.accept(CPPASTCompoundStatement.java:95)
     at
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionDefinition.accept(CPPASTFunctionDefinition.java:222)
     at
org.eclipse.cdt.internal.core.dom.parser.ASTTranslationUnit.accept(ASTTranslationUnit.java:275)
     at
org.eclipse.cdt.internal.core.pdom.PDOMWriter.process(PDOMWriter.java:533)
     at
org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.writeToIndex(AbstractIndexerTask.java:1279)
     at
org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.parseFile(AbstractIndexerTask.java:1096)
     at
org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.parseLinkage(AbstractIndexerTask.java:896)
     at
org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.runTask(AbstractIndexerTask.java:557)
     at
org.eclipse.cdt.internal.core.pdom.indexer.PDOMIndexerTask.run(PDOMIndexerTask.java:161)
     at
org.eclipse.cdt.internal.core.pdom.indexer.PDOMRebuildTask.run(PDOMRebuildTask.java:90)
     at
org.eclipse.cdt.internal.core.pdom.PDOMIndexerJob.run(PDOMIndexerJob.java:155)
     at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)



_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/cdt-dev
_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/cdt-dev
Reply | Threaded
Open this post in threaded view
|

Re: CDT Indexer spinning on complex files

Avi Kivity


On 01/29/2018 12:47 AM, Nathan Ridge wrote:
> The first two stacks look normal.

Yes, sorry about that. I later saw that the indexer wasn't really stuck,
just very slow, and later recovered.

>   The third one may or may not be reasonable depending on what code is being indexed.
>
> What would really help here is an example code file that triggers the hang that we can investigate.

You can "git clone --recursive https://github.com/scylladb/scylla". The
file that most often causes the hang is tests/cql_query_test.cc. That
file is both very large, and has a large amount of nested lambdas.

There's some setup that needs to be done to get include files and
defines right, or perhaps I can make my settings available. Let me know
which files you need.

>
> Regards,
> Nate
>
> ________________________________________
> From: [hidden email] <[hidden email]> on behalf of Avi Kivity <[hidden email]>
> Sent: January 28, 2018 1:08:07 PM
> To: General developers list., CDT
> Subject: Re: [cdt-dev] CDT Indexer spinning on complex files
>
>
>
> On 01/28/2018 12:54 PM, Avi Kivity wrote:
>>
>> On 01/28/2018 12:53 PM, Avi Kivity wrote:
>>>
>>> On 01/28/2018 12:25 PM, Avi Kivity wrote:
>>>> Hi, I'm more or less tracking CDT master. Recently the indexer hangs
>>>> when processing large files, consuming 100% CPU in one thread.
>>>>
>>>>
>>>> Using jvisualvm I see it's spending a lot of time here:
>>>>
>>>>
>>>> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor.findDeclarationOwnerDefinition()
>>>> 6.449319    49,477 ms (6.4%)    49,477 ms    49,670 ms 49,670 ms
>>>>
>>>>
>>>> I would love to provide more information, but I'm a complete n00b
>>>> (or rather, I forgot all that I've ever learned) about debugging
>>>> Java applications. If you can provide guidance about what can be
>>>> done to provide more information, I'll be happy to dig some more.
>>>>
>>>>
>>> I remembered SIGQUIT prints a thread dump, so here's one data point.
>>>
> Here's a fun one:
>
> "Worker-3" #31 prio=5 os_prio=0 tid=0x00007fa068001450 nid=0x188d
> runnable [0x00007fa070e0d000]
>      java.lang.Thread.State: RUNNABLE
>       at java.lang.Object.hashCode(Native Method)
>       at java.util.WeakHashMap.hash(WeakHashMap.java:298)
>       at java.util.WeakHashMap.get(WeakHashMap.java:396)
>       at
> org.eclipse.cdt.core.dom.ast.ASTTypeUtil.appendType(ASTTypeUtil.java:598)
>       at
> org.eclipse.cdt.core.dom.ast.ASTTypeUtil.appendArgument(ASTTypeUtil.java:247)
>       at
> org.eclipse.cdt.core.dom.ast.ASTTypeUtil.appendArgumentList(ASTTypeUtil.java:221)
>       at
> org.eclipse.cdt.core.dom.ast.ASTTypeUtil.getArgumentListString(ASTTypeUtil.java:211)
>       at
> org.eclipse.cdt.internal.core.index.IndexCPPSignatureUtil.getTemplateArgString(IndexCPPSignatureUtil.java:122)
>       at
> org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMInstanceCache.getInstance(PDOMInstanceCache.java:69)
>       - locked <0x00000005e09cc970> (a
> org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMInstanceCache)
>       at
> org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMCPPClassTemplate.getInstance(PDOMCPPClassTemplate.java:273)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.getInstance(CPPTemplates.java:457)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiate(CPPTemplates.java:283)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiate(CPPTemplates.java:251)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveDeferredClassInstance(CPPTemplates.java:3086)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:2994)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArgument(CPPTemplates.java:1474)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArguments(CPPTemplates.java:1409)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveDeferredClassInstance(CPPTemplates.java:3071)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:2994)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:370)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArgument(CPPTemplates.java:1439)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArguments(CPPTemplates.java:1409)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveDeferredClassInstance(CPPTemplates.java:3071)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:2994)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknownMember(CPPTemplates.java:3022)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:3000)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArgument(CPPTemplates.java:1474)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.TemplateArgumentDeduction.verifyDeduction(TemplateArgumentDeduction.java:767)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.TemplateArgumentDeduction.deduceFromFunctionArgs(TemplateArgumentDeduction.java:219)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.TemplateArgumentDeduction.deduceForFunctionCall(TemplateArgumentDeduction.java:99)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateForFunctionCall(CPPTemplates.java:2315)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateForFunctionCall(CPPTemplates.java:2292)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.Conversions.copyInitializationOfClass(Conversions.java:751)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.FunctionCost.performUDC(FunctionCost.java:102)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.resolveFunction(CPPSemantics.java:2708)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionSet.resolveFunction(EvalFunctionSet.java:340)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:227)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1548)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1525)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.createSpecialization(CPPTemplates.java:1040)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClosureSpecialization.specializeMember(CPPClosureSpecialization.java:48)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClosureSpecialization.<init>(CPPClosureSpecialization.java:31)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClosureType.instantiate(CPPClosureType.java:458)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1669)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1594)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalTypeId.instantiate(EvalTypeId.java:375)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1548)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1525)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.createSpecialization(CPPTemplates.java:1040)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClosureSpecialization.specializeMember(CPPClosureSpecialization.java:48)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClosureSpecialization.<init>(CPPClosureSpecialization.java:31)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClosureType.instantiate(CPPClosureType.java:458)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1669)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFixed.instantiate(EvalFixed.java:176)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:235)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:362)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPDependentEvaluation.instantiateCommaSeparatedSubexpressions(CPPDependentEvaluation.java:142)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:220)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1548)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1525)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.createInstance(CPPTemplates.java:901)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateFunctionTemplate(CPPTemplates.java:403)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateForFunctionCall(CPPTemplates.java:2317)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateForFunctionCall(CPPTemplates.java:2292)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.resolveFunction(CPPSemantics.java:2640)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.resolveAmbiguities(CPPSemantics.java:2338)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.findOverloadedOperator(CPPSemantics.java:4012)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.computeOverload(EvalFunctionCall.java:141)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.getOverload(EvalFunctionCall.java:130)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.computeType(EvalFunctionCall.java:158)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.getType(EvalFunctionCall.java:150)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.getDeclTypeForEvaluation(CPPSemantics.java:4501)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1551)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArgument(CPPTemplates.java:1474)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArguments(CPPTemplates.java:1409)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveDeferredClassInstance(CPPTemplates.java:3071)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:2994)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1525)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.createInstance(CPPTemplates.java:901)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateFunctionTemplate(CPPTemplates.java:403)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateForFunctionCall(CPPTemplates.java:2317)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateForFunctionCall(CPPTemplates.java:2292)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.resolveFunction(CPPSemantics.java:2640)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionSet.resolveFunction(EvalFunctionSet.java:340)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.instantiate(EvalFunctionCall.java:227)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1548)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.createSpecialization(CPPTemplates.java:1085)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClassSpecialization.specializeMember(CPPClassSpecialization.java:193)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.AbstractCPPClassSpecializationScope.getBindings(AbstractCPPClassSpecializationScope.java:135)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.getBindingsFromScope(CPPSemantics.java:1380)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.lookup(CPPSemantics.java:1095)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.resolveUnknownName(CPPSemantics.java:4458)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknownMember(CPPTemplates.java:3044)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:3000)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.AbstractCPPClassSpecializationScope.getBases(AbstractCPPClassSpecializationScope.java:197)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClassSpecialization.getBases(CPPClassSpecialization.java:242)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.BaseClassLookup.lookupInBaseClass(BaseClassLookup.java:217)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.BaseClassLookup.lookupInBaseClass(BaseClassLookup.java:260)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.BaseClassLookup.lookupInBaseClasses(BaseClassLookup.java:61)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.lookup(CPPSemantics.java:1125)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.resolveUnknownName(CPPSemantics.java:4458)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknownMember(CPPTemplates.java:3044)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:3000)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArgument(CPPTemplates.java:1474)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArguments(CPPTemplates.java:1409)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveDeferredClassInstance(CPPTemplates.java:3071)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:2994)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID.instantiate(EvalID.java:370)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArgument(CPPTemplates.java:1439)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArguments(CPPTemplates.java:1409)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveDeferredClassInstance(CPPTemplates.java:3071)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:2994)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknownMember(CPPTemplates.java:3022)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.resolveUnknown(CPPTemplates.java:3000)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateType(CPPTemplates.java:1567)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateArgument(CPPTemplates.java:1474)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.TemplateArgumentDeduction.verifyDeduction(TemplateArgumentDeduction.java:767)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.TemplateArgumentDeduction.deduceFromFunctionArgs(TemplateArgumentDeduction.java:219)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.TemplateArgumentDeduction.deduceForFunctionCall(TemplateArgumentDeduction.java:99)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateForFunctionCall(CPPTemplates.java:2315)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates.instantiateForFunctionCall(CPPTemplates.java:2292)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.Conversions.copyInitializationOfClass(Conversions.java:751)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.FunctionCost.performUDC(FunctionCost.java:102)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.resolveFunction(CPPSemantics.java:2708)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.resolveAmbiguities(CPPSemantics.java:2338)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.resolveBinding(CPPSemantics.java:361)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor.resolveBinding(CPPVisitor.java:1472)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor.createBinding(CPPVisitor.java:312)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTName.createIntermediateBinding(CPPASTName.java:64)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTNameBase.resolvePreBinding(CPPASTNameBase.java:94)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionCallExpression.checkForExplicitTypeConversion(CPPASTFunctionCallExpression.java:307)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionCallExpression.computeEvaluation(CPPASTFunctionCallExpression.java:286)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionCallExpression.getEvaluation(CPPASTFunctionCallExpression.java:277)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionCallExpression.getOverload(CPPASTFunctionCallExpression.java:248)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionCallExpression.getImplicitNames(CPPASTFunctionCallExpression.java:128)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionCallExpression.accept(CPPASTFunctionCallExpression.java:206)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTReturnStatement.accept(CPPASTReturnStatement.java:85)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTCompoundStatement.accept(CPPASTCompoundStatement.java:95)
>       at
> org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionDefinition.accept(CPPASTFunctionDefinition.java:222)
>       at
> org.eclipse.cdt.internal.core.dom.parser.ASTTranslationUnit.accept(ASTTranslationUnit.java:275)
>       at
> org.eclipse.cdt.internal.core.pdom.PDOMWriter.process(PDOMWriter.java:533)
>       at
> org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.writeToIndex(AbstractIndexerTask.java:1279)
>       at
> org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.parseFile(AbstractIndexerTask.java:1096)
>       at
> org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.parseLinkage(AbstractIndexerTask.java:896)
>       at
> org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.runTask(AbstractIndexerTask.java:557)
>       at
> org.eclipse.cdt.internal.core.pdom.indexer.PDOMIndexerTask.run(PDOMIndexerTask.java:161)
>       at
> org.eclipse.cdt.internal.core.pdom.indexer.PDOMRebuildTask.run(PDOMRebuildTask.java:90)
>       at
> org.eclipse.cdt.internal.core.pdom.PDOMIndexerJob.run(PDOMIndexerJob.java:155)
>       at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
>
>
>
> _______________________________________________
> cdt-dev mailing list
> [hidden email]
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
> https://dev.eclipse.org/mailman/listinfo/cdt-dev
> _______________________________________________
> cdt-dev mailing list
> [hidden email]
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
> https://dev.eclipse.org/mailman/listinfo/cdt-dev

_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/cdt-dev
Reply | Threaded
Open this post in threaded view
|

Re: CDT Indexer spinning on complex files

Nathan Ridge
> You can "git clone --recursive https://github.com/scylladb/scylla".

Any chance you could reduce that to a single, standalone file (and then file a bug with it attached)?

Thanks,
Nate
_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/cdt-dev
Reply | Threaded
Open this post in threaded view
|

Re: CDT Indexer spinning on complex files

Avi Kivity


On 01/29/2018 06:06 PM, Nathan Ridge wrote:
>> You can "git clone --recursive https://github.com/scylladb/scylla".
> Any chance you could reduce that to a single, standalone file (and then file a bug with it attached)?
>

I'll try. Maybe preprocessing the file will work.
_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/cdt-dev
Reply | Threaded
Open this post in threaded view
|

Re: CDT Indexer spinning on complex files

Avi Kivity


On 01/29/2018 06:12 PM, Avi Kivity wrote:
>
>
> On 01/29/2018 06:06 PM, Nathan Ridge wrote:
>>> You can "git clone --recursive https://github.com/scylladb/scylla".
>> Any chance you could reduce that to a single, standalone file (and
>> then file a bug with it attached)?
>>
>
> I'll try. Maybe preprocessing the file will work.

I think it worked: https://bugs.eclipse.org/bugs/show_bug.cgi?id=530692
_______________________________________________
cdt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/cdt-dev