The following sections contain workarounds for issues that you might encounter when you use Codewind. If you don’t see your issue here, please check our GitHub repository. If you still don’t see your issue, you can open a new issue in the repository.
- Installing Codewind
- Creating a new project
- Importing a project
- Understanding Application Metrics
- Checking the application and build statuses
- Editing your project
- Disabling development on specific projects
- Appsody with Codewind
- Codewind and Tekton pipelines
- OpenAPI tools
Installer fails with mount issues on Windows
If you try to install Codewind on Windows 10 and use Docker, you might see the following error:
ERROR: for codewind-performance Cannot start service codewind-performance: b"error while creating mount source path '/host_mnt/c/codewind-workspace': mkdir /host_mnt/c: file exists" ERROR: for codewind-performance Cannot start service codewind-performance: b"error while creating mount source path '/host_mnt/c/codewind-workspace': mkdir /host_mnt/c: file exists" Encountered errors while bringing up the project.
Workaround: Enter the following command and install again:
- Enter the
docker volume rm -f /host_mnt/ccommand.
- Restart Docker and run the installer again.
If the command and another installation attempt don’t succeed, complete the following steps instead:
- Uninstall Codewind and remove all the images with the
docker system prune -acommand.
- From the Docker settings dialog box, reset Docker to the factory default to resolve the mount issues.
For more information, see this issue about Docker mounts on Windows.
Docker Shared Drive not accepting OS credentials for Windows
When using OS authentication setups (for example, AzureAD), Docker Shared Drive might not accept your OS credentials.
Workaround: Create a new user account.
- Navigate to Settings -> Accounts -> Family & other people -> Add someone else to this PC -> I don’t have this person’s sign-in information -> Add a user without a Microsoft account.
- Create the new account with the same username but without the prefix (for example, if your AzureAD account is
AzureAD/BobSmith, your new local account should be
BobSmith). Use the same password as your other account.
- Select your new local account and click Change account type. Select the dropdown menu and select Administrator. Share the drive again in Docker.
Unable to create multiple Codewind workspaces on Docker Desktop Kubernetes
When running a Docker Desktop local Kubernetes cluster, multiple Codewind workspaces may fail to start.
Workaround: Use only one Codewind Che workspace on Docker Desktop for the time being, or use an alternative local Kubernetes cluster such as Minikube or Minishift. Due to how Docker Desktop handles networking, multiple Codewind workspaces may cause a collision on the port that it’s running on.
Creating a new project
Projects created never start after installing Codewind
Intermittently, after installing Codewind on Windows, projects can be created, but they never start and instead remain in the Starting state. A Docker issue for Windows exists where, although it shows a volume is mounted, it does not allow any writing to the volume. To check if this issue is present, verify that a
codewind-workspace exists (in your $HOME directory on Mac/Linux, or the root of your C: directory on Windows) and verify you can see your project folders created within.
Workaround: This issue can appear for many reasons, so you have many possible workarounds. First, open the
Shared Drives directory to confirm that you have a shared drive. If you have one selected, unselect it, click Apply, and then try creating projects again. If you’re still noticing the problem, and you’re using an ID for the shared drive that is not your current user, check that the ID being used doesn’t have an expired password that requires a password reset. Reset the password if necessary.
Codewind Che extension loses connectivity to the Codewind pod
The Codewind Che extension might lose connectivity to the Codewind pod during a Lagom or Swift project build if you have multiple projects in the workspace for each runtime type. When this issue occurs, the project tree says Disconnected.
Workaround: Refresh the projects list to have the tree repopulate. If the issue persists, refresh the webpage.
Importing a project
Imported project never builds or starts
To view the status of the imported project, enter the following command:
docker logs codewind-pfe
Workaround: If you see the following messages, the imported project is likely not a valid Codewind project.
build-log requested, no build log found for project <project name> build-log requested, no build log found for project <project name> build-log requested, no build log found for project <project name> build-log requested, no build log found for project <project name> No containerId for running project <project name>
Adding an existing Open Liberty project fails to build because of missing files
An Open Liberty project fails to build after it is added into Codewind with the Add Existing Project action, and the project fails to build because of missing files.
Workaround: Bind the existing project again and click No followed by Other for the project type. ***
Understanding Application Metrics
Application Monitoring unavailable after Project Import
After importing an application, when you click
App Monitor, the dashboard is not displayed and results in a
Cannot GET /appmetrics-dash/ error. If this error appears, the application was not created by Codewind or previously had AppMetrics integration.
Profiling markers do not appear
If you have the Codewind Language Server for Node.js Profiling extension enabled and have run a load test, profiling markers still might not appear. Ensure that your project and load run conform to the following requirements to use profiling:
- Your project exists in Theia or VS Code. Profiling is available only in Theia and VS Code.
- Your project is a Node.js project that was created through Codewind.
- Your project has
Run Loadexecuted on it.
- The load run successfully completed. Profiling data is written to the
load-test/<datestamp>/profiling.jsonfile in your Codewind project only on a successfully completed load run. If the load run was cancelled, it won’t be written to the workspace.
- The load run ran for a minimum of 45 seconds to gather enough profiling data to generate the
- If a function runs quickly, in less than 5 milliseconds with the default configuration, then the function might not run during any of the samples, so it might not be included in the profiling data for that load run.
- Profiling is not disabled. To enable profiling, access the profiling in one of the following ways:
- Right-click in the editor and select
- Open the command palette with
cmd+shift+pon a Mac or
ctrl+shift+pon Windows. Then, select
Codewind: Profiling: Toggle Profiling.
- Toggle the
Codewind Profiling: Show Profilingsetting in the extensions settings.
- Right-click in the editor and select
Workaround: Review the preceding list and ensure that your project conforms to all of the items in the list.
Checking the application and build statuses
MicroProfile project gets updated twice upon file change
If you modify files in MicroProfile projects, sometimes the project gets double updates. You might see the application status changed from Running to Stopped twice. If you notice this status change, the default polling rate, which is 500 ms, is too short for the application monitor.
Workaround: Increase the polling rate in the
server.xml file to 1000 ms or longer.
<applicationMonitor pollingRate="1000ms" />
Editing your project
Theia editor might not work correctly in Microsoft Edge
Theia, the open source code editor used by Che, currently has limited support for Microsoft Edge. The Theia team is aware of the issue and is working to fix it.
Workaround: Use a different web browser.
New projects sometimes do not show in Theia hierarchy view
Sometimes when a new project is created, it doesn’t show up in the hierarchy view within Eclipse Che.
Workaround: Refresh the page in the browser.
Context Root / Application Endpoint not correct
If you create or bind a project which has a context root set in
.cw-settings, such as a project using the Lagom template, the context root is not picked up initially. This also happens after restarting Codewind.
Workaround For Eclipse. add the context root to the URL in your browser. For example, the browser might open with
localhost:34567 instead of
localhost:34567/mycontextroot so type
mycontextroot. For VS Code and Theia, edit and save the
.cw-settings file, and the context root updates.
Disabling development on specific projects
Turning off auto build has no effect for Node.js projects when you run Codewind locally
If you turn off
auto build for a Node.js project when you run Codewind locally, it has no effect. Changes you make to your code automatically start or restart a build even though
auto build is disabled.
Appsody with Codewind
For general information about the Appsody extension on Codewind, see the README file in the
Node.js and Swift templates go from the starting state and then to the stopped state by default
Appsody Node.js template and
Appsody Swift template go from the starting state to the stopped state by default. The application stops, but the container still runs. These templates do not have a server and are intended to help you implement your own server.
Workaround To get the application into a started state, use a server for the application. After the application has a server, Codewind can monitor the server, and the status turns to
started if the server is running.
A project build error appears after you create an initial project
If you use Eclipse and either Java MicroProfile or Spring Appsody templates, you might receive a
Project build error: Non-resolvable parent POM error after you create the initial project.
Workaround Complete the following instructions to work around the error:
- Right-click the project and select Show Log Files>Show All.
- If your
.m2cache is empty, or if you have not previously created a Java Appsody project, the dependencies will download, and the
[Container] Installing parent dev.appsodymessage appears.
- Wait until the cache completes. You can wait until the Project status is
Running, or, if you use the MicroProfile template, you can wait until the
- Right-click the Project from the Project Explorer and select Maven>Update Project….
- Accept the defaults and click OK. The project is configured, and the
Project build error: Non-resolvable parent POMdisappears.
After you create the initial project and set the
.m2 cache, new projects begin to be configured properly.
An Unknown error appears on line one of the pom.xml file
If you use an Eclipse IDE for Enterprise Developer EPP prior to version 2019.06, you might see an
Unknown validation error in the
Workaround Switch to version 2019.06 or later, or see Cannot import any project into Eclipse with maven-jar-plugin 3.1.2.
Classpath warnings appear or the application classes are not on the classpath
If you work with Appsody projects in Codewind for VS Code, you might encounter
Classpath is incomplete warnings or notifications that application classes are not on the classpath.
Workaround Add the
codewind-workspace folder to the workspace:
- After you create an Appsody Java MicroProfile project, open the
- Right-click the
codewind-workspacefolder and select Add Folder to Workspace….
- Choose the project folder and click Add.
Starting in debug mode results in failure to attach the debugger
If you work with Appsody projects in Codewind for VS Code, you might receive messages that state,
Failed to attach to remote debuggee VM or
Failed to attach debugger when you start a project in debug mode.
Workaround Run the
Attach Debugger action manually:
- After you create a project, wait for VS Code to display,
Running [Build succeeded].
- Then, right-click the project and select Restart in Debug Mode.
- Allow the process to finish. It fails, and a connection exception window appears.
Restarting <my_project> into debug modemessage is displayed. Wait for this restart notification to disappear.
- To manually set the debugger, click the Debug tab and then Play. The debugger is successfully attached to the project if
Debug appsody-mp (codewind-workspace) Cloud Code -- NORMAL --is displayed in the message bar.
Appsody mount errors on Windows Enterprise
If you use Windows Enterprise and authenticate through Azure Active Directory (AAD), you might see mount errors when you use any of the Java Appsody stacks, such as
You might receive an error message in the
appsody.log file when you try to create an Appsody project:
[Container] docker: Error response from daemon: error while creating mount source path '/C/Users/<user name>/.m2/repository': mkdir /C/Users/<user name>/.m2: permission denied.
Workaround: Configure the Maven
.m2 cache to be outside of your home directory. If you log in to your Windows machine as an Azure user, and you want to create Appsody applications, set the global
MAVEN_OPTS environment variable before you start Eclipse or VS Code.
Attempts fail to attach the debugger
If you work on Appsody projects on macOS, and if you restart an extension project in debug mode, the first attempt to attach the debugger might fail. Currently, a delay does not occur for project extensions.
These steps reproduce the issue:
- Set up a project extension environment and create a Microprofile project.
- Restart the project in debug mode. You receive one or both of the following error messages:
Failed to attach to remote debuggee VMor
Failed to attach debugger to at ipaddress:.
Workaround Run the
Attach Debugger action manually.
Codewind and Tekton Pipelines
Codewind cannot access the Tekton dashboard URL
If you install Codewind before you install Tekton, Codewind cannot access the Tekton dashboard URL. In the logs, you see the following error message:
Tekton dashboard does not appear to be installed on this cluster. Please install Tekton dashboard on your cluster, and restart your Codewind Che workspace.
These steps reproduce the issue:
- Install Codewind on OpenShift.
- Install Tekton Pipelines.
- Click Open Tekton dashboard URL. Codewind does not access the Tekton dashboard URL.
- Go to the Eclipse Che workspace console.
- Select your workspace and stop it.
- After 2 minutes, start your workspace again.
- Now, access the Tekton dashboard URL from the Codewind palette.
OpenAPI generation fails in Eclipse if the output path does not exist
In Eclipse, OpenAPI generation fails if a path does not exist, and the wizard doesn’t automatically create the folder tree hierarchy if the hierarchy doesn’t already exist.
These steps reproduce the issue:
- Install the latest version of Codewind.
- Add a sample OpenAPI
- From the Project or Package Explorer views, right-click the project and select one of the generator actions in OpenAPI Generate. A dialog window appears.
- In the dialog window, if necessary, select the OpenAPI definition file by clicking the Browse… button.
- In the Output folder field, copy and paste a path or edit the path directly.
- Click Finish. The OpenAPI generator fails if the folder doesn’t already exist.
- Manually create the output folder before you start the OpenAPI generator wizard. In the wizard, you can manually edit the Output folder text field. Ensure that the path points to a valid folder in the project.
- Or you can use the Browse… button to select the folder that you want to use. The Output folder field is updated with the path.
For post-client or post-server stub generation, use a separate output folder for code generation. Depending on the language and the generator type, the OpenAPI generator generates both source code files and build-related files. Some refactoring might be necessary. For example, if you are working with an existing Java or Maven project, move the generated source code to the proper source folder that already exists in the project. However, if your project is empty, the target output folder can be the root of the project, and you don’t need to do as much refactoring and merging.