Eclipse CDT nullpointerException compiling
I have been pulling my hair out on this one for a day or so.
My SystemWorkbench build environment for my project seems to be broken.
When I try to build my project I get the following error:
“Errors running builder ‘CDT Builder’ on project ‘myproject.”
java.lang.NullPointerException
Other projects work fine. I also tried creating a new Eclipse workspace and imported the project into it but I still had the same issue.
Digging into the eclipse log I find the exception details:
ENTRY org.eclipse.core.resources 4 75 2020-10-02 04:16:22.809
MESSAGE Errors occurred during the build.
SUBENTRY 1 org.eclipse.cdt.managedbuilder.core 4 75 2020-10-02 04:16:22.809
MESSAGE Errors running builder ‘CDT Builder’ on project ‘myproject’.
STACK 0
java.lang.NullPointerException
at fr.ac6.mcu.ide.engine.CustomBoardGenerator.compareXMLBoard(CustomBoardGenerator.java:150)
at fr.ac6.mcu.ide.engine.CustomBoardGenerator.createCustomBoard(CustomBoardGenerator.java:330)
at fr.ac6.mcu.ide.engine.CustomBoardGenerator.addCustomBoardTo(CustomBoardGenerator.java:142)
at fr.ac6.mcu.ide.engine.CustomBoardGenerator.addCustomBoardToProject(CustomBoardGenerator.java:92)
at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.doApplyBoard(MCUIdeProjectTargetPartsManager.java:1012)
at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.doApplyBoard(MCUIdeProjectTargetPartsManager.java:978)
at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.syncExistingBoard(MCUIdeProjectTargetPartsManager.java:803)
at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.visitBoardSetup(MCUIdeProjectTargetPartsManager.java:700)
at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.doGetBoard(MCUIdeProjectTargetPartsManager.java:621)
at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.getBoard(MCUIdeProjectTargetPartsManager.java:411)
at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.getMcu(MCUIdeProjectTargetPartsManager.java:501)
at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.getMcu(MCUIdeProjectTargetPartsManager.java:473)
at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.getMcu(MCUIdeProjectTargetPartsManager.java:462)
at fr.ac6.mcu.ide.build.CrossCommandLineGenerator.generateCommandLineInfo(CrossCommandLineGenerator.java:81)
at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.generateToolCommandLineInfo(MakefileGenerator.java:2499)
at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.addRuleForSource(MakefileGenerator.java:3071)
at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.addFragmentMakefileEntriesForSource(MakefileGenerator.java:2319)
at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.addSources(MakefileGenerator.java:2227)
at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.populateFragmentMakefile(MakefileGenerator.java:1043)
at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.regenerateMakefiles(MakefileGenerator.java:958)
at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.performMakefileGeneration(CommonBuilder.java:1006)
at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.performPrebuildGeneration(CommonBuilder.java:873)
at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:748)
at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:510)
at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:459)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:735)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:246)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:301)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:304)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:360)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:383)
at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:487)
at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:406)
at org.eclipse.ui.actions.BuildAction$1.runInWorkspace(BuildAction.java:285)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
The evening before this happened i did have some hard crashes on my machine and it is entirely possible that this has corrupted a file ... but git shows no file differences amongst the files I checking in (and there isn’t much i don’t within the project folder ... but i dont checking the workspace folder but as per above I generated a new one of those and the problem did not go away).
Can anyone point me to a likely culprit?