Skip to content

FAQ & Troubleshooting

Secu edited this page Jul 25, 2023 · 4 revisions

Here are some of the most frequently asked questions and answers. If you don't find your question here, or the answer is not detailed enough, open an issue and I will fix it ASAP.


  • Why do I get a 400 error code when I visit a Kraken agent?

If the Kraken agent is generating the error code and not the web service itself, it is possible that it is because the expected HTTP method is not being used in the request by the client. In each Kraken agent this check is present and, in case of non-compliance, this error code is returned. Remember to check the configuration of the agent you have uploaded as well as the connection profile used.

  • Why do I get a 500 error code when I visit a Kraken agent?

If the Kraken agent is generating the error code and not the web service itself, it is possible that it is because the authentication process is not being passed by the client (either because the password is incorrect, because it is not encapsulated in the expected field, etc). In each of the Kraken agents this check is present and, in case of failure, this error code is returned. Remember to check the configuration of the agent you have uploaded as well as the connection profile used.

  • Why do I get an unexpected error code when I visit a Kraken agent?

The Kraken agent uses only two error codes in the HTTP response:

  • 400 (Bad Request)
  • 500 (Internal Server Error)

Any HTTP response (returned by Kraken agent) with a different error code suggest that it is an unexpected error. Some of the possibilities are:

  • Some function or library used by the kraken agent does not exist in the target env.
    • Obtain the full version of the web server and operating system. Then recreate that environment and check which function or library is failing. Finally, report it as a bug and I will try to fix it.
  • There is any configuration or defensive measure that blocks the execution.
    • Try to use a different executor or comment the execution part to check what it is detecting.
  • There is an invalid parameter passed in the request.
    • Try to use a proxy, intercept the request and review the information sent by kraken client.

However, remember to check the connection profile and the configuration fields of the deployed agent.

  • Why I am getting an error caused by a Python library?

It is possible that it is because of a missing library to install, or because of an incompatibility between versions of the Python libraries. To make sure that it is not an error between these two cases, use Conda or Miniconda and repeat the installation on a clean and dedicated environment. If it persists, open an issue

  • Do I need to install Docker if I am not going to use the container compiler?

Initially it is NOT necessary. The reason is because the compilers are loaded in runtime depending on the arguments passed to Kraken. And, even if you don't have Docker installed, you can download the Docker library in Python and it doesn't cause any error.

  • What do I do if the symbolic links of the modules are corrupted or broken?

This can happen when moving/copying the project or even when cloning it on some operating systems. To fix it, simply use the utility fix_symbolic_links passing the path of the directory where the modules are (remember that you need to run it as admin in Windows).

  • What happens when no deployment configuration is detected for Docker?

If you receive the following error in Kraken client: "No config container found from agent of type: 'X' and version: 'X'". This is because there is no Docker image in the configuration to compile the modules for the environment in which the agent is running.

To resolve this situation, you have to add a deployment block in the "CONTAINERS" dictionary (from the config.py of the Kraken client). In this block, you have to specify the version and the Docker image required.

For example, if you detect that there no is a block of configuration for Java 19, you could add the following block to "java" key:

{
    "version" : "19",
    "image" : "openjdk:19"
}

You can then run the Kraken client again and Kraken will detect this version, download the appropriate image and deploy the container.

Known bugs

  • In the command "grep" the wildcards do not work in Windows.
  • In the command "find" the wildcards do not work on Windows.
  • In the command "chmod" (PHP + Windows), when executed, it does not return any error but does not make any change (maybe it is because of the octal).
  • In the command "grep" of PHP in Windows/Linux, fix the logic so that it continues searching even if it finds errors (exceptions issue).
  • In the Java Upload module, when the chunk data size is greater than 62418 bytes nothing is received in the "data" parameter. It may have something to do with the maximum of 65Kb per page in JSP).
  • In the Java Upload module for Windows, sometimes an unexpected error is returned: "<UPLOAD_FILE_PATH> (The process does not have access to the file because it is being used by another process)". To solve it, simply continue from the last seek and increase delay between requests.
Clone this wiki locally