Troubleshooting
This page provides troubleshooting advice for errors and issues that you might encounter when using Kalix. If come across an issue that is not listed here, let us know using any of the below options.
Support
-
Check out Frequently Asked Questions.
-
Email us at kalix-support@lightbend.com to provide feedback or get help.
-
Check out the latest discussions about Kalix at https://discuss.kalix.io/ .
Update your Kalix CLI
We make frequent changes and updates to the Kalix CLI to give you a great experience. Make sure that you’re using at least the latest supported version (2.0.0), and preferably the latest version.
You can check the version of the Kalix CLI you have by running kalix version .
|
How to resolve code generation errors
When you see the following error:
[ERROR] /path/to/file.proto [0:0]: --akka-grpc_out: protoc-gen-akka-grpc: Plugin output is unparseable: [0.001s][warning][os,container] Duplicate cpuset controllers detected. Picking /sys/fs/cgroup/cpuset, skipping /host/sys/fs/cgroup/cpuset.
(...)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.071 s
[INFO] Finished at: 2022-03-07T15:31:49Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.xolstice.maven.plugins:protobuf-maven-plugin:0.6.1:compile (protobuf) on project customer-registry: protoc did not exit cleanly. Review output for more information. -> [Help 1]
This problem is caused by JDK17 reporting some warnings to stdout
instead of stderr
. The easiest way to resolve this is to avoid the situation leading to the warning, or switching to a JDK version without this bug, like JDK11.
How to resolve service unavailable or imagePullBackoff errors
When you deploy a service to Kalix, and it cannot pull the service image, the status will display unavailable
or imagePullBackoff
, as shown in the example below.
There are two primary reasons as to why this error might occur. Review each case below to see if it fits your particular scenario.
Case 1: Invalid URL
It’s probable that the error is happening because there is a bad value for the Docker image URL used when creating the service. For example, say the URL used is
gcr.io/kalix-public/samples-js-value-entity-shopping-cart:0.0.81818
An invalid value anywhere within the Name or URL triggers the ImagePullBackoff
error. In this case, the tag used, 0.0.81818
, does not exist.
To resolve this issue, review the URL for:
-
Typos
-
Missing components
-
Additional components
Case 2: Invalid or absent credentials
The second most likely scenario for this status is when a developer specifies an image in a private repository, but fails to provide Docker credentials, or supplies incorrect Docker credentials. If this is the issue the status will appear as shown in the example below. Note that unauthorized
will be appended at the end of the status.
In this case, the provided image name gcr.io/some-private-repository/kalix-application:1.0.0
is completely valid. However, it requires container registry credentials to be setup.
The same status message will appear within the System Lifecycle events window.
Options to resolve this issue include:
-
Use a public repository
-
Supply your credentials, and validate that they are correct.
How to resolve errors when my deployment cannot start
It is possible that a user created function may fail, or cause a service to fail. Any user function errors that prevent the Kalix runtime from starting (such as, mis-configured services), will be reported through to the logs with an error message.
These error messages include:
-
An error code
-
A detailed description of the error
-
The protobuf source location, if appropriate
The log will also contain links to the documentation. The documentation links will be to specific sections for some error codes, otherwise the link will be to the appropriate Kalix SDK section.
To resolve this type of issue:
-
Review the logs
-
Note any key information
-
Peruse the relevant (linked) documentation
-
Debug the user code locally
-
Test
How to resolve errors when the runtime doesn’t start
This should not happen. Lightbend does not expect any broken runtime releases to be deployed. However, if a service doesn’t start, and there are no errors logged which indicate a problem with your code, then a Kalix Runtime failure is a remote possibility.
Steps to resolve:
If you think that you are encountering a failing Kalix Runtime, the only way to resolve the issue is to log into your Kalix account and contact customer support.