Common issues & solutions
Analysis never completes / hangs
If you successfully added the project, started the analysis, but the dashboard keeps showing the spinning circle on your project, then it is likely that your analysis is hanging indefinitely.
To check whether this is the case, close the dashboard and look at the server's logs (
docker logs -f arcan-trial-arcan-server-1).
Are there any logs that indicate progress? If all you see is
Quartz-related logs and memory logs, then it is likely the analysis is stuck.
This could be caused by any of these:
- You configured the analysis to analyse too many commits, namely, you set a wide timespan for the analysis (e.g. 10 years) and a low interval between commits (
<30). If this is the case, you should restart the server, delete the project, and re-run the analysis with a higher interval between commits (
>60). Alternatively, try running a snapshot (non-historical) analysis.
- You are running Arcan on an ARM processor (e.g. M1 Mac). Unfortunately, the dockerized version of Arcan does not support ARM processor architecture. The solution is to either run it on a supported processor architecture (i.e. x86/x64) or contact our support (see below).
- Arcan does not have sufficient memory. This is likely if you are trying to analyse a large project (250+ KLOC). You can try setting the environment variable
- You are running Docker on a Windows host machine. Unfortunately, Docker on Windows is not as optimized as Windows on nix OSs, therefore, if you are trying to analyse large projects, you should consider using a nix OS.
Empty project (no metrics)
If your project has no smells and/or the number of lines of code is 0 (i.e. KLOC), then it's likely that the analysis has not completed successfully.
Another symptom is that your project has an unexpected
This problem may arise because of the following causes:
- You are analysing a Python project. Python is not yet fully supported and therefore there might be some projects/python features that are not yet fully supported, or handled correctly.
- You are trying to analyse a "Local project" and may have mispelled the path. Delete the project, create a new one, and ensure that the path is correctly spelled as
./projects/<FOLDER_NAME>. Note the
.at the beginning of the path. If you added the project correctly, you should be able to see the directory tree of the project after the project was created. Alternatively, consider using the "Upload zip" feature (available as of
- You are analysing a large project and the analysis has failed silently. In this case, try following the steps mentioned above in the "Analysis never completes" section.
Cannot add a project
If you cannot add to Arcan your project, then it might be because:
- You are trying to add a remote project but the URL or credentials are incorrect. If so, Arcan shows an error message that tells you which is the case (wrong credentials or wrong URL). Note that GitHub and GitLab do not support password authentication any longer in favor of Private Access Token (PAT). Please refer to GitHub's and GitLab's support pages on how to solve this problem. In both cases, to authenticate, you should paste the PAT in the Arcan's password field.
- You are trying to connect to a non-supported remote (Git incompatible). Arcan only supports the Git version control system, thus, if you want to analyse a non-Git project, you must download it on your local machine and either upload it as a zip, or use the "Local project" feature. Note that historical analysis is not supported in this case.
- You get the error
Connection refused. Upload size may exceed server's limit.. In this case, it means you have to increase the allowed maximum size of uploads. To do so, change/add to the
docker-compose.ymlfile, the following variable
SERVER_MAX_UPLOAD_SIZE: 500MB, or whatever value you fancy.
Can't solve a problem?
Should you encounter a different problem, or you cannot solve any of the problems listed above, please consider opening an issue.
Need more help?
Feel free to contact (Darius Sas)[mailto:email@example.com] or write us on Discord.