Troubleshooting¶
Start with the path you use: headless Python, desktop, or cloud. For beta help, contact beta@leapfield.ai.
No local solver¶
Installing the Python SDK does not install the engine. Invited testers receive an archive and checksum separately. Follow the headless install. The installer CLI requires photonhub 0.1.4 or later; with an older SDK, upgrade or use that guide's manual route.
find_solver() chooses an explicit solver_path, then PHOTONHUB_SOLVER,
then a recorded install/link, PATH, and an eligible source build.
An invalid explicit path or environment override is an error. Correct it
instead of expecting discovery to skip it. A recorded solver that was moved
must be installed or linked again.
With the installer CLI, photonhub which-solver --info names the selection
and its build. On the manual route, run the selected binary's info command.
Keep the unpacked solver beside its bundled runtime. A desktop-bundled solver
requires a signed-in Workbench; use the headless archive for scripts.
Errors¶
| What you see | Meaning | Next step |
|---|---|---|
ValueError, including model validation errors |
Construction, runnable preflight or invalid arguments failed before execution. | Read the field and message. Add a source, fix geometry or monitor placement, or enlarge the usable interior. |
SolverRunError |
Solver discovery, execution, divergence, cancellation or unreadable local outputs. | Check the selected engine, spec and recorded solver message. Keep the output directory. |
Local timeout= expires |
The local runner stops the subprocess and raises SolverRunError. |
Check size, run duration and logs before increasing the limit. |
CloudError |
Configuration, authentication, service, transport or result transfer failed. | Read .status_code and .body. If .job_id is present, resume that job. |
CloudJobTimeout |
The client stopped waiting; the cloud job continues and can still bill. | Save the id and resume or request cancellation. |
| Raw filesystem, callback, HTTP timeout or I/O error | Some errors originate outside the normalized runner paths. | Keep the traceback. Check the output path or callback and reconcile cloud history if submission may have occurred. |
A geometry-only simulation is valid for plotting or mode solving. Running it
without sources fails preflight with ValueError. The SDK also checks resolved
grid and stability rules; the selected engine remains authoritative.
After an ambiguous cloud submission failure, check history before submitting again. A second submission can create a second paid job. A cancellation request is not proof of cancellation. Check the service response and job status.
Results differ after reload or between engines¶
Keep the entire result directory, including sim.json, client.json when
present, the manifest and monitor files. Wire simulation JSON alone does not
retain declarative ports or the user-frame origin. Keep the construction script
to edit or reproduce those scenes. See Preserving state.
A common schema does not promise identical numbers. Compare engine revision,
mesh, subpixel settings, materials, boundaries, precision and run controls.
Use data.provenance to identify the engine. The cloud engine may lag source;
see Known limitations.
Desktop recovery¶
Registration, sign-in and launch validation require Internet access. The beta has no self-service password recovery. Contact support without sending a password, invitation code, API key or session material.
Recovery restores applied edits and run history. Text not applied in an editor can be lost on restart. Keep portable solver inputs and backups before an upgrade. Older app versions may not read newer recovery archives.
Help → Create Diagnostic Bundle creates a local summary. Review it before sharing. Report a bug sends a report to the beta service and can include a screenshot. Review the preview and disable the screenshot when it contains private device or result information.
What to include in a support request¶
Send the SDK/app version, operating system and architecture, selected engine's
info output or result provenance, exact error and traceback, and the steps
that reproduced it. If possible, use a small scene that removes private design
data. State whether the failure happened locally, during submission, while
waiting or during download. Keep cloud job ids privately for reconciliation.
Do not include credentials or private geometry in email or screenshots.