Other Parts Discussed in Thread: CCSTUDIO
Hi, we are encountering a bug while using "eclipsec.exe". We have a project that uses several builders, and whenever in one of these builders we add some sort of cli variable-evaluation to pass to the ext. program (such as ${build_var:CG_TOOL_CLANG} or ${build_var:COMPILER_FLAGS}, for example, but we also use others) the build fails, but ONLY in cli mode. For example, building the project from within CCS Studio works just as expected; the variables get correctly evaluated and passed to the external program and the project gets compiled fine. But using the continuous integration version (calling "eclipsec.exe" directly, or "/opt/ti/ccs/eclipse/eclipse" under linux) we get this Java traceback:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CCS headless build starting... [Mon Mar 25 09:23:39 CET 2024] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ================================================================================ Pre processing... ================================================================================ Building... **** Build of configuration Release for project PROJ_NAME **** "C:\\ti\\ccs1260\\ccs\\utils\\bin\\gmake" -k -j 8 all -O gmake[1]: 'PROJ_NAME.out' is up to date. **** Build Finished **** org.eclipse.core.internal.resources.ResourceException: Errors occurred during the build. at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:534) at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:413) at com.ti.ccstudio.project.core.services.ProjectBuilder.internalBuildProjects(ProjectBuilder.java:419) at com.ti.ccstudio.project.core.services.ProjectBuilder.buildProjects(ProjectBuilder.java:288) at com.ti.ccstudio.project.core.services.ProjectBuilder.buildProjects(ProjectBuilder.java:277) at com.ti.ccstudio.apps.internal.project.ProjectBuildApp.buildProjects(ProjectBuildApp.java:304) at com.ti.ccstudio.apps.internal.project.ProjectBuildApp.doRun(ProjectBuildApp.java:118) at com.ti.ccstudio.apps.internal.BaseHeadlessApp$1.run(BaseHeadlessApp.java:338) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2315) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2340) at com.ti.ccstudio.apps.internal.BaseHeadlessApp.internalRun(BaseHeadlessApp.java:336) at com.ti.ccstudio.apps.internal.BaseHeadlessApp.start(BaseHeadlessApp.java:267) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596) at org.eclipse.equinox.launcher.Main.run(Main.java:1467) Contains: Errors running builder 'Integrated External Tool Builder' on project 'PROJ_NAME'. org.eclipse.core.runtime.CoreException: Error while evaluating variable build_var. at org.eclipse.core.internal.variables.DynamicVariable.getValue(DynamicVariable.java:58) at org.eclipse.core.internal.variables.StringSubstitutionEngine.resolve(StringSubstitutionEngine.java:271) at org.eclipse.core.internal.variables.StringSubstitutionEngine.substitute(StringSubstitutionEngine.java:195) at org.eclipse.core.internal.variables.StringSubstitutionEngine.performStringSubstitution(StringSubstitutionEngine.java:91) at org.eclipse.core.internal.variables.StringVariableManager.performStringSubstitution(StringVariableManager.java:547) at org.eclipse.core.internal.variables.StringVariableManager.performStringSubstitution(StringVariableManager.java:347) at org.eclipse.core.externaltools.internal.launchConfigurations.ExternalToolsCoreUtil.getArguments(ExternalToolsCoreUtil.java:150) at org.eclipse.core.externaltools.internal.launchConfigurations.ProgramLaunchDelegate.buildCommandLine(ProgramLaunchDelegate.java:175) at org.eclipse.core.externaltools.internal.launchConfigurations.ProgramLaunchDelegate.launch(ProgramLaunchDelegate.java:80) at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:803) at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:716) at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:711) at org.eclipse.core.externaltools.internal.model.ExternalToolBuilder.launchBuild(ExternalToolBuilder.java:183) at org.eclipse.core.externaltools.internal.model.ExternalToolBuilder.doBuildBasedOnScope(ExternalToolBuilder.java:171) at org.eclipse.core.externaltools.internal.model.ExternalToolBuilder.build(ExternalToolBuilder.java:90) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:860) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:232) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:281) at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:334) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:337) at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:392) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:417) at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:517) at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:413) at com.ti.ccstudio.project.core.services.ProjectBuilder.internalBuildProjects(ProjectBuilder.java:419) at com.ti.ccstudio.project.core.services.ProjectBuilder.buildProjects(ProjectBuilder.java:288) at com.ti.ccstudio.project.core.services.ProjectBuilder.buildProjects(ProjectBuilder.java:277) at com.ti.ccstudio.apps.internal.project.ProjectBuildApp.buildProjects(ProjectBuildApp.java:304) at com.ti.ccstudio.apps.internal.project.ProjectBuildApp.doRun(ProjectBuildApp.java:118) at com.ti.ccstudio.apps.internal.BaseHeadlessApp$1.run(BaseHeadlessApp.java:338) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2315) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2340) at com.ti.ccstudio.apps.internal.BaseHeadlessApp.internalRun(BaseHeadlessApp.java:336) at com.ti.ccstudio.apps.internal.BaseHeadlessApp.start(BaseHeadlessApp.java:267) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596) at org.eclipse.equinox.launcher.Main.run(Main.java:1467) Caused by: java.lang.NullPointerException at com.ti.ccstudio.project.core.internal.variables.ProjectCoreDynamicVariableResolver$Context.access$2(ProjectCoreDynamicVariableResolver.java:44) at com.ti.ccstudio.project.core.internal.variables.ProjectCoreDynamicVariableResolver.resolveValue__build_var(ProjectCoreDynamicVariableResolver.java:156) at com.ti.ccstudio.project.core.internal.variables.ProjectCoreDynamicVariableResolver.resolveValue(ProjectCoreDynamicVariableResolver.java:68) at org.eclipse.core.internal.variables.DynamicVariable.getValue(DynamicVariable.java:56) ... 47 more Contains: Error while evaluating variable build_var. java.lang.NullPointerException at com.ti.ccstudio.project.core.internal.variables.ProjectCoreDynamicVariableResolver$Context.access$2(ProjectCoreDynamicVariableResolver.java:44) at com.ti.ccstudio.project.core.internal.variables.ProjectCoreDynamicVariableResolver.resolveValue__build_var(ProjectCoreDynamicVariableResolver.java:156) at com.ti.ccstudio.project.core.internal.variables.ProjectCoreDynamicVariableResolver.resolveValue(ProjectCoreDynamicVariableResolver.java:68) at org.eclipse.core.internal.variables.DynamicVariable.getValue(DynamicVariable.java:56) at org.eclipse.core.internal.variables.StringSubstitutionEngine.resolve(StringSubstitutionEngine.java:271) at org.eclipse.core.internal.variables.StringSubstitutionEngine.substitute(StringSubstitutionEngine.java:195) at org.eclipse.core.internal.variables.StringSubstitutionEngine.performStringSubstitution(StringSubstitutionEngine.java:91) at org.eclipse.core.internal.variables.StringVariableManager.performStringSubstitution(StringVariableManager.java:547) at org.eclipse.core.internal.variables.StringVariableManager.performStringSubstitution(StringVariableManager.java:347) at org.eclipse.core.externaltools.internal.launchConfigurations.ExternalToolsCoreUtil.getArguments(ExternalToolsCoreUtil.java:150) at org.eclipse.core.externaltools.internal.launchConfigurations.ProgramLaunchDelegate.buildCommandLine(ProgramLaunchDelegate.java:175) at org.eclipse.core.externaltools.internal.launchConfigurations.ProgramLaunchDelegate.launch(ProgramLaunchDelegate.java:80) at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:803) at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:716) at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:711) at org.eclipse.core.externaltools.internal.model.ExternalToolBuilder.launchBuild(ExternalToolBuilder.java:183) at org.eclipse.core.externaltools.internal.model.ExternalToolBuilder.doBuildBasedOnScope(ExternalToolBuilder.java:171) at org.eclipse.core.externaltools.internal.model.ExternalToolBuilder.build(ExternalToolBuilder.java:90) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:860) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:232) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:281) at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:334) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:337) at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:392) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:417) at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:517) at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:413) at com.ti.ccstudio.project.core.services.ProjectBuilder.internalBuildProjects(ProjectBuilder.java:419) at com.ti.ccstudio.project.core.services.ProjectBuilder.buildProjects(ProjectBuilder.java:288) at com.ti.ccstudio.project.core.services.ProjectBuilder.buildProjects(ProjectBuilder.java:277) at com.ti.ccstudio.apps.internal.project.ProjectBuildApp.buildProjects(ProjectBuildApp.java:304) at com.ti.ccstudio.apps.internal.project.ProjectBuildApp.doRun(ProjectBuildApp.java:118) at com.ti.ccstudio.apps.internal.BaseHeadlessApp$1.run(BaseHeadlessApp.java:338) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2315) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2340) at com.ti.ccstudio.apps.internal.BaseHeadlessApp.internalRun(BaseHeadlessApp.java:336) at com.ti.ccstudio.apps.internal.BaseHeadlessApp.start(BaseHeadlessApp.java:267) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596) at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
And this is the same both under Windows and Linux, whenever we use ${build_var:SOMETHING} syntax. Note that without these options everything works fine in both cli and non cli build, so this is strictly a problem of this kind of variable-evaluation syntax. It really does look like a java/eclipse bug, can something be done for this? We haven't found any workarounds as the program gets abruptly interrupted.
Can something be done for this issue?
BR
Riccardo
EDIT: I haven't specified it because it's visible on the logs but the CCS version is the latest at the time of writing, 12.6.0.00008