cancel
Showing results for 
Search instead for 
Did you mean: 

Headlessbuild error when using cmd to build project

Nico4
Associate
When is use those command to compile my project, some error occurred,
However,  When I use gui to build the same project, the result is ok.
 
command:
./stm32cubeidec.exe --launcher.suppressErrors -nosplash -data D:\Workspace\Firmware -application org.eclipse.cdt.managedbuilder.core.headlessbuild -build Taihu_FL/Debug
 
This is the log:
eclipse.buildId=Version 1.14.1
java.version=17.0.8.1
java.vendor=Eclipse Adoptium
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN
Framework arguments:  -application org.eclipse.cdt.managedbuilder.core.headlessbuild -build Taihu_FL/Debug
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -data D:\Workspace\Firmware -application org.eclipse.cdt.managedbuilder.core.headlessbuild -build Taihu_FL/Debug
 
!ENTRY org.eclipse.core.resources 4 2 2024-03-19 14:26:35.083
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
!STACK 0
java.lang.IllegalStateException: Workbench has not been created yet.
at org.eclipse.ui.PlatformUI.getWorkbench(PlatformUI.java:117)
at com.st.stm32cube.common.logger.ui.core.MCUUiLoggerDialogProvider.getActiveWorkbenchWindow(MCUUiLoggerDialogProvider.java:97)
at com.st.stm32cube.common.logger.ui.core.MCUUiLoggerDialogProvider.getActiveWorkbenchShell(MCUUiLoggerDialogProvider.java:84)
at com.st.stm32cube.common.logger.ui.core.MCUUiLoggerDialogProvider.getShell(MCUUiLoggerDialogProvider.java:71)
at com.st.stm32cube.common.logger.ui.core.MCUUiLoggerDialogProvider.openConfirmDialog(MCUUiLoggerDialogProvider.java:51)
at com.st.stm32cube.common.logger.MCULoggerPlugin.openConfirmDialog(MCULoggerPlugin.java:292)
at com.st.stm32cube.ide.mcu.toolchain.armnone.setup.BuildRunner.invokeBuild(BuildRunner.java:48)
at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:774)
at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:524)
at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:466)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:1079)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:296)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:468)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:670)
at org.eclipse.core.internal.resources.Project$1.run(Project.java:604)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2453)
at org.eclipse.core.internal.resources.Project.internalBuild(Project.java:642)
at org.eclipse.core.internal.resources.Project.build(Project.java:162)
at org.eclipse.cdt.managedbuilder.core.ManagedBuildManager$2.buildProject(ManagedBuildManager.java:4492)
at org.eclipse.cdt.managedbuilder.core.ManagedBuildManager$2.run(ManagedBuildManager.java:4469)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2453)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2473)
at org.eclipse.cdt.managedbuilder.core.ManagedBuildManager.buildConfigurations(ManagedBuildManager.java:4501)
at org.eclipse.cdt.managedbuilder.core.ManagedBuildManager.buildConfigurations(ManagedBuildManager.java:4381)
at org.eclipse.cdt.managedbuilder.internal.core.HeadlessBuilder.buildConfigurations(HeadlessBuilder.java:324)
at org.eclipse.cdt.managedbuilder.internal.core.HeadlessBuilder.start(HeadlessBuilder.java:724)
at org.eclipse.cdt.managedbuilder.internal.headlessbuilderapp.HeadlessBuilderWrapper.start(HeadlessBuilderWrapper.java:131)
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:402)
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(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:651)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:588)
at org.eclipse.equinox.launcher.Main.run(Main.java:1459)
 
!ENTRY org.eclipse.osgi 4 0 2024-03-19 14:26:35.186
!MESSAGE Application error
!STACK 1
org.eclipse.core.internal.resources.ResourceException: Errors occurred during the build.
at org.eclipse.core.internal.resources.Project$1.run(Project.java:607)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2453)
at org.eclipse.core.internal.resources.Project.internalBuild(Project.java:642)
at org.eclipse.core.internal.resources.Project.build(Project.java:162)
at org.eclipse.cdt.managedbuilder.core.ManagedBuildManager$2.buildProject(ManagedBuildManager.java:4492)
at org.eclipse.cdt.managedbuilder.core.ManagedBuildManager$2.run(ManagedBuildManager.java:4469)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2453)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2473)
at org.eclipse.cdt.managedbuilder.core.ManagedBuildManager.buildConfigurations(ManagedBuildManager.java:4501)
at org.eclipse.cdt.managedbuilder.core.ManagedBuildManager.buildConfigurations(ManagedBuildManager.java:4381)
at org.eclipse.cdt.managedbuilder.internal.core.HeadlessBuilder.buildConfigurations(HeadlessBuilder.java:324)
at org.eclipse.cdt.managedbuilder.internal.core.HeadlessBuilder.start(HeadlessBuilder.java:724)
at org.eclipse.cdt.managedbuilder.internal.headlessbuilderapp.HeadlessBuilderWrapper.start(HeadlessBuilderWrapper.java:131)
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:402)
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(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:651)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:588)
at org.eclipse.equinox.launcher.Main.run(Main.java:1459)
Contains: Errors running builder 'CDT Builder' on project 'Taihu_FL'.
java.lang.IllegalStateException: Workbench has not been created yet.
at org.eclipse.ui.PlatformUI.getWorkbench(PlatformUI.java:117)
at com.st.stm32cube.common.logger.ui.core.MCUUiLoggerDialogProvider.getActiveWorkbenchWindow(MCUUiLoggerDialogProvider.java:97)
at com.st.stm32cube.common.logger.ui.core.MCUUiLoggerDialogProvider.getActiveWorkbenchShell(MCUUiLoggerDialogProvider.java:84)
at com.st.stm32cube.common.logger.ui.core.MCUUiLoggerDialogProvider.getShell(MCUUiLoggerDialogProvider.java:71)
at com.st.stm32cube.common.logger.ui.core.MCUUiLoggerDialogProvider.openConfirmDialog(MCUUiLoggerDialogProvider.java:51)
at com.st.stm32cube.common.logger.MCULoggerPlugin.openConfirmDialog(MCULoggerPlugin.java:292)
at com.st.stm32cube.ide.mcu.toolchain.armnone.setup.BuildRunner.invokeBuild(BuildRunner.java:48)
at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:774)
at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:524)
at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:466)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:1079)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:296)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:468)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:670)
at org.eclipse.core.internal.resources.Project$1.run(Project.java:604)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2453)
at org.eclipse.core.internal.resources.Project.internalBuild(Project.java:642)
at org.eclipse.core.internal.resources.Project.build(Project.java:162)
at org.eclipse.cdt.managedbuilder.core.ManagedBuildManager$2.buildProject(ManagedBuildManager.java:4492)
at org.eclipse.cdt.managedbuilder.core.ManagedBuildManager$2.run(ManagedBuildManager.java:4469)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2453)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2473)
at org.eclipse.cdt.managedbuilder.core.ManagedBuildManager.buildConfigurations(ManagedBuildManager.java:4501)
at org.eclipse.cdt.managedbuilder.core.ManagedBuildManager.buildConfigurations(ManagedBuildManager.java:4381)
at org.eclipse.cdt.managedbuilder.internal.core.HeadlessBuilder.buildConfigurations(HeadlessBuilder.java:324)
at org.eclipse.cdt.managedbuilder.internal.core.HeadlessBuilder.start(HeadlessBuilder.java:724)
at org.eclipse.cdt.managedbuilder.internal.headlessbuilderapp.HeadlessBuilderWrapper.start(HeadlessBuilderWrapper.java:131)
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:402)
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(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:651)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:588)
at org.eclipse.equinox.launcher.Main.run(Main.java:1459)
1 ACCEPTED SOLUTION

Accepted Solutions
Nico4
Associate

Thank you for your reply.

Actually, I found that Once I set the "isbadioc=false" in ioc file, the problem will be solved.

Otherwise, if set  "isbadioc=true", the problem will occur again.

And the main problem is that line:

"at com.st.stm32cube.common.logger.MCULoggerPlugin.openConfirmDialog(MCULoggerPlugin.java:292)"

So I tried to compile the project in GUI,  Once I click build button, this confirm dialog will show. And it will prevent the non-GUI build proccess.

 

Nico4_1-1710911633884.png

 

 

 

View solution in original post

2 REPLIES 2
Ghofrane GSOURI
ST Employee

Hello @Nico4 

First let me thank you for posting.

Here are a few suggestions to address this error:

1-Check workspace metadata: The error may be caused by corrupted workspace metadata. Try deleting the .metadata folder within your workspace directory. This folder contains various settings and configuration files for your workspace. Deleting it will reset the workspace settings, but keep in mind that you might lose some workspace-specific configurations.

2- Try a new workspace: Create a new workspace and import your project into it. This can help isolate any workspace-specific issues that might be causing the error. To create a new workspace, use the -data option with a different directory path when running the command-line build.

3- Clean and rebuild: Perform a clean build of your project to ensure a fresh build from scratch. Use the clean option before running the build command. This helps eliminate any potential conflicts or inconsistencies from previous builds.

4-Check build configurations: Review your project's build configurations and ensure they are properly set up. Verify that the build configurations match the intended target and toolchain settings. Make sure all necessary paths, compiler options, and build settings are correctly configured.

5- Try to follow those steps :

GhofraneGSOURI_0-1710834669571.png

 

I will be waiting for your feedback.

THX

Ghofrane

 

Nico4
Associate

Thank you for your reply.

Actually, I found that Once I set the "isbadioc=false" in ioc file, the problem will be solved.

Otherwise, if set  "isbadioc=true", the problem will occur again.

And the main problem is that line:

"at com.st.stm32cube.common.logger.MCULoggerPlugin.openConfirmDialog(MCULoggerPlugin.java:292)"

So I tried to compile the project in GUI,  Once I click build button, this confirm dialog will show. And it will prevent the non-GUI build proccess.

 

Nico4_1-1710911633884.png