Provider troubleshooting
command not found: golemsp run
Problem
Upon executing the golemsp run command, it is observed that the process terminates immediately, showing the error:
command not found: golemsp run
Solution
The issue generally arises when the golemsp executable is not present in the system's PATH. To rectify this:
- First, determine which shell you are using:
echo $SHELL
Based on the shell you're using, update the corresponding configuration file to add the path where golemsp is located:
- For Bash:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
- For Zsh:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
After updating the configuration file, you should update the current terminal session:
export PATH="$HOME/.local/bin:$PATH"
- Try running the
golemsp run
command again.
child provider exited too early: Ok(ExitStatus(unix_wait_status(256)))
Problem
When executing the golemsp run command, it terminates shortly after and displays the following error messages:
[2023-03-14T16:17:24Z ERROR golemsp::service] child provider exited too early: Ok(ExitStatus(unix_wait_status(256)))
[2023-03-14T16:17:24Z WARN golemsp::service] provider exited with: Custom { kind: Other, error: "process exited too early" }
Solution
The underlying issue is that Golem's provider needs the Linux KVM module to instantiate VMs for task computation.
If you're using docker
Mount the KVM module within your container with the following configuration:
volumes:
- /dev/kvm:/dev/kvm
If you're using a VM
Ensure that the nested virtualization flag for the VM is toggled on. For platforms like Proxmox, you may need to enable additional CPU flags to make it work.
If you're using Virtualbox
Virtualbox is not compatible with Golem. Consider switching to Vmware Workstation Player or another supported platform.
Could not access KVM kernel module: No such file or directory
Problem
When executing the golemsp run command, it terminates shortly after and displays the following error messages:
Could not access KVM kernel module: No such file or directory
vmrt: failed to initialize kvm: No such file or directory
[2023-05-13 18:43:48.469882 +00:00] ERROR [/home/runner/.cargo/git/checkouts/ya-runtime-sdk-9ad26604fa07f4ec/f542b92/ya-runtime-sdk/src/runner.rs:66] Runtime panic: panicked at 'Failed to start runtime: Connection refused (os error 111)', runtime/src/main.rs:362:14
Solution
The underlying issue is that Golem's provider needs the Linux KVM module to instantiate VMs for task computation.
If you're using docker
Mount the KVM module within your container with the following configuration:
volumes:
- /dev/kvm:/dev/kvm
If you're using a VM
Ensure that the nested virtualization flag for the VM is toggled on. For platforms like Proxmox, you may need to enable additional CPU flags to make it work.
If you're using Virtualbox
Virtualbox is not compatible with Golem. Consider switching to Vmware Workstation Player or another supported platform.
vmrt: failed to initialize kvm: No such file or directory
Problem
When executing the golemsp run command, it terminates shortly after and displays the following error messages:
Could not access KVM kernel module: No such file or directory
vmrt: failed to initialize kvm: No such file or directory
[2023-05-13 18:43:48.469882 +00:00] ERROR [/home/runner/.cargo/git/checkouts/ya-runtime-sdk-9ad26604fa07f4ec/f542b92/ya-runtime-sdk/src/runner.rs:66] Runtime panic: panicked at 'Failed to start runtime: Connection refused (os error 111)', runtime/src/main.rs:362:14
Solution
The underlying issue is that Golem's provider needs the Linux KVM module to instantiate VMs for task computation.
If you're using docker
Mount the KVM module within your container with the following configuration:
volumes:
- /dev/kvm:/dev/kvm
If you're using a VM
Ensure that the nested virtualization flag for the VM is toggled on. For platforms like Proxmox, you may need to enable additional CPU flags to make it work.
If you're using Virtualbox
Virtualbox is not compatible with Golem. Consider switching to Vmware Workstation Player or another supported platform.
unsupported virtualization type: XEN
Problem
The golemsp run
command exits shortly after running it.
Solution
Your system is unfortunately not supported, as we do not support the XEN hypervisor.
No file descriptors available
Problem
The golemsp run
command exits shortly after running it and you might see a log like
thread 'actix-rt|system:0|arbiter:231' panicked at 'called Result::unwrap() on an Err value: Os { code: 24, kind: Uncategorized, message: "No file descriptors available" }', /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/actix-server-2.2.0/src/worker.rs:425:30
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
thread 'main' panicked at 'called Result::unwrap() on an Err value: RecvError', /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/actix-rt-2.8.0/src/arbiter.rs:156:25
Solution
When running Golem on systems with a large number of cores and threads, you may encounter an issue where the available file descriptors on your system get exhausted. This can lead to unexpected errors or interruptions in Golem's operation.
To solve this issue, increase the file descriptors' limit before launching Golem.
- Open a terminal window.
- Increase the file descriptors limit by running the following command:
ulimit -n 65535
- In the same terminal window, launch the provider again using
golemsp run
yagna is already running
Problem
When attempting to run the commands yagna service run
or golemsp run
, you receive an error message that reads:
Error: yagna is already running
Solution
This indicates that the Yagna service, which could be acting as a provider or requestor daemon, is already active on your system.
To resolve the issue:
If your system supports the
killall
command, execute:killall yagna
1.1 If
killall
isn't supported or you'd prefer a manual method:ps aux | grep yagna
From the output, note the PID (Process ID) of the yagna service.
1.2 Terminate the identified service with:
kill -9 <PID>
Once you've terminated the running instance(s), you can start Yagna or the provider as you normally would.
I am not receiving any tasks
Problem
You've set up as a provider on the Golem Network, but you're not receiving any tasks. This can be an effect of multiple causes:
Pricing Configuration: If your pricing is set too high relative to other providers, requestors might bypass your offer. You can compare your pricing with other top earners on the network by visiting the stats page.
Network Demand: The number of tasks available might be low due to a disparity between supply (number of providers) and demand (number of requestors). This is a typical marketplace dynamic where, at times, supply may exceed demand.
Solution
Adjust Pricing: Review the current pricing trends on the stats page and adjust your pricing competitively.
Stay Updated: Monitor the Golem Network for any updates or changes that might impact the distribution of tasks on the network.