Errors

Troubleshooting

Most Compute failures are one of four things: the image cannot be pulled, SSH cannot log in, the provider firewall blocks a port, or the model does not fit the GPU engine. The messages below say which.

Where to look first

  1. Host card → Test. A timeout is usually network or firewall; a 401 is the token; a 503 is a missing container token.
  2. Host card → Container logs. This is the container's stdout: startup, model loading, training and crashes.
  3. /health on port 8080. It is open and lists the loaded accelerators and the inference backend.
  4. Training run panel. The log tail shows the job's own stages; the error line shows a refusal or upload failure.
  5. Studio → Settings → Providers → Compute → Edit. The image, token, SSH fields and ports are what the helper actually uses.

SSH

MessageCause and fix
Could not reach host:22 The instance is stopped, the IP changed, or the firewall blocks 22. Check the provider console.
SSH login failed Wrong user, wrong key, or the public key is not in authorized_keys. Add it once from the web console; use the Copy public key button.
The private key file was not found The path is local to this PC. Browse to it or press Create key.
The passphrase for this key looks incorrect Enter the key passphrase, or use a key without one. A password below can be used instead.
No SSH key or password was given No key path, password, or default ~/.ssh/id_ed25519 was found. Create a key in Edit.
Host key warning The helper trusts the key on first use. For a stricter setup, pin the host key before exposing the host.

Images and pulls

MessageFix
pull access denied for sharpmind-server The image has no registry prefix. Use your-name/sharpmind-server:gpu. Setup now refuses local-only names before pulling.
repository does not exist Wrong Docker Hub user/repository, or it was never pushed. Check the tag in Edit against docker images.
unauthorized / denied A private repository. Make it public or run docker login on the host with credentials for the registry.
Pull is slow or appears stuck The GPU image is about 1.6 GB. Watch the host card log; the first pull takes minutes depending on the region.
No space left on device The image plus models need several GB. Grow the instance disk or remove old images/models.

Ports and network

  • 8080 is the Compute API; 5117 is the remote Studio UI. Both must be allowed in the provider firewall.
  • A timeout from Studio while SSH works is almost always the firewall, not a dead container.
  • Port 8080 or 5117 is already used means another container owns the port. Remove it or change the container name/ports.
  • The container binds 5118 for the LAN listener; it does not need to be public.
  • If the API answers on localhost but not from this PC, the host is bound to loopback or the firewall is local to the provider.

GPU and accelerators

MessageFix
No CUDA or OpenCL device is available The container was started without --gpus all, the driver is missing, or the toolkit is not configured. Tick GPU host and run setup again; verify nvidia-smi on the host.
No NVIDIA driver found The helper does not install drivers. Use a GPU provider image or install the driver and reboot.
LayerNorm, only RMSNorm Use a LLaMA/Qwen-style base for GPU fine-tuning. GPT-2/BERT bases can still use GPU inference.
only LoRA adapters are trainable The job is a from-scratch pretrain. It belongs on the CPU; drop the GPU requirement or accept the fallback.
MoE MoE training is not supported by the GPU engine. Use the CPU.
GPU works but training is slow Check the engine line: [Cuda] means the device; a "Retrying on the CPU" line means the base was refused.

Training jobs

  • Validation split produced no documents: the corpus is too small for a 64-token window; training continues without a curve.
  • No output for a while: the run panel refreshes itself. If it does not, press Interrupt once to force a render, then update Studio; older builds could miss the notifications.
  • Interrupted during download: the host finished but the local copy was cancelled. The export remains on the host; rerun or download again.
  • Upload seems stuck: large base models dominate the first minutes. The log reports progress in 25% steps.
  • Remote job keeps running after cancel: cancellation is best-effort. Use the run record's cancel or the host API; the process may finish its current step.

Tokens and 401

  • /health is open; every other API route needs Authorization: Bearer <token>.
  • 401 means the token in Studio and the token in the container differ. Either update Studio or redeploy the container with the saved token.
  • After rotating a token, restart Studio so it reloads the encrypted value from compute.json.
  • 503 with "SHARPMIND_TOKEN is not configured" means the container started without a token; redeploy.
  • Do not use PASTE_YOUR_TOKEN or a short word on an internet-facing host.

Billing

  • Vultr: stopping an instance does not stop billing. Destroy it. Snapshots are optional and billed separately.
  • Runpod: terminate the pod; a stopped pod may still hold resources. A network volume bills separately.
  • Local: free, but a GPU run still uses your power and desktop responsiveness.

Reset a host

  1. Stop the container on the card (keeps /data/SharpMind).
  2. Set up & deploy again to replace the container with the saved image and token.
  3. If the image changed, publish/push it first; the host pulls the tag in the card.
  4. To start completely fresh, remove the host's data folder or use a new volume; this deletes models, uploads and training output.
Deleting the host's data is permanent. Download models and exports before removing a volume or destroying an instance.