Community
Participate
Working Groups
The following problem was reported via the automated error reporting: Message: Unhandled event loop exception java.lang.AssertionError: null at org.eclipse.cdt.internal.core.pdom.db.Database.getChunk(Database.java:295) at org.eclipse.cdt.internal.core.pdom.db.Database.getRecPtr(Database.java:513) at org.eclipse.cdt.internal.core.pdom.db.BTree.accept(BTree.java:531) at org.eclipse.cdt.internal.core.pdom.dom.PDOMLinkage.getBindingsViaCache(PDOMLinkage.java:408) at org.eclipse.cdt.internal.core.pdom.PDOM.findBindings(PDOM.java:1389) at org.eclipse.cdt.internal.core.pdom.PDOM.findBindings(PDOM.java:1379) at org.eclipse.cdt.internal.core.index.CIndex.findBindings(CIndex.java:652) at org.eclipse.cdt.internal.core.index.CIndex.findBindings(CIndex.java:504) at org.eclipse.cdt.internal.core.dom.parser.c.CScope.getBinding(CScope.java:285) at org.eclipse.cdt.internal.core.dom.parser.c.CVisitor.lookup(CVisitor.java:1061) at org.eclipse.cdt.internal.core.dom.parser.c.CVisitor.resolveBinding(CVisitor.java:846) at org.eclipse.cdt.internal.core.dom.parser.c.CVisitor.createBinding(CVisitor.java:468) at org.eclipse.cdt.internal.core.dom.parser.c.CASTName.resolveBinding(CASTName.java:63) at org.eclipse.cdt.internal.core.dom.parser.c.CVisitor.createBaseType(CVisitor.java:1367) at org.eclipse.cdt.internal.core.dom.parser.c.CVisitor.createType(CVisitor.java:1379) at org.eclipse.cdt.internal.core.dom.parser.c.CVisitor.createType(CVisitor.java:1224) at org.eclipse.cdt.internal.core.dom.parser.c.CParameter.getType(CParameter.java:57) at org.eclipse.cdt.internal.ui.text.contentassist.ParameterGuesser.getType(ParameterGuesser.java:139) at org.eclipse.cdt.internal.ui.text.contentassist.ParameterGuesser.createVariable(ParameterGuesser.java:146) at org.eclipse.cdt.internal.ui.text.contentassist.ParameterGuesser.evaluateVisibleMatches(ParameterGuesser.java:121) at org.eclipse.cdt.internal.ui.text.contentassist.ParameterGuesser.parameterProposals(ParameterGuesser.java:295) at org.eclipse.cdt.internal.ui.text.contentassist.ParameterGuessingProposal.guessParameters(ParameterGuessingProposal.java:292) at org.eclipse.cdt.internal.ui.text.contentassist.ParameterGuessingProposal$2.runOnAST(ParameterGuessingProposal.java:263) at org.eclipse.cdt.internal.core.model.ASTCache.runOnAST(ASTCache.java:219) at org.eclipse.cdt.internal.ui.editor.ASTProvider.runOnAST(ASTProvider.java:336) at org.eclipse.cdt.internal.ui.text.contentassist.ParameterGuessingProposal.generateParameterGuesses(ParameterGuessingProposal.java:256) at org.eclipse.cdt.internal.ui.text.contentassist.ParameterGuessingProposal.apply(ParameterGuessingProposal.java:176) at org.eclipse.cdt.internal.ui.text.contentassist.CCompletionProposal.apply(CCompletionProposal.java:525) at org.eclipse.jface.text.contentassist.CompletionProposalPopup.insertProposal(CompletionProposalPopup.java:982) at org.eclipse.jface.text.contentassist.CompletionProposalPopup.insertSelectedProposalWithMask(CompletionProposalPopup.java:931) at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$11(CompletionProposalPopup.java:927) at org.eclipse.jface.text.contentassist.CompletionProposalPopup$5.widgetDefaultSelected(CompletionProposalPopup.java:672) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:120) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86) Bundles: | org.eclipse.cdt.core | 6.3.1.201709131603 | 6.3.1.201709131603 | | org.eclipse.cdt.ui | 6.2.0.201709131603 | 6.2.0.201709131603 | | org.eclipse.jface.text | 3.12.0.v20170523-1043 | 3.12.0.v20170523-1043 | | org.eclipse.swt | 3.106.1.v20170926-0519 | 3.106.1.v20170926-0519 | Operating Systems: | Windows | 10.0.0 | 10.0.0 | The above information is a snapshot of the collected data. Visit https://dev.eclipse.org/recommenders/committers/aeri/v2/#!/problems/5a28543ee4b02aaf8b226051 for the latest data. Thank you for your assistance. Your friendly error-reports-inbox. Created on behalf of zeratul976@xxxxxx.xxx
The assertion indicates that the index lock is not being held, but ParameterGuessingProposal is using the ASTProvider mechanism to access the AST and index, which ensures the index lock is held. Ideas about how this could be happening are welcome. (A reproducing testcase is also welcome, though I realize that's probably a long shot.)