Troubleshooting
Use this page when a runtime symptom appears but you do not need private runtime implementation details.
Start with the installed environment loaded.
. /opt/librux/env.sh
First Checks
| Check | Command |
|---|---|
| services | sudo systemctl status librux-control.service librux-resourced.service librux-timesyncd.service --no-pager |
| runtime health | lbx doctor |
| control backend | curl http://127.0.0.1:8001/api/v1/ready |
| runtime status | curl http://127.0.0.1:8001/api/v1/control/status |
| subsystem state | lbx subsystem status |
| subsystem sessions | lbx subsystem sessions |
Common Symptoms
| Symptom | Likely check |
|---|---|
subsystem is WAITING_BINDING |
required interface has no compatible provider binding |
subsystem is WAITING_TARGET |
target subsystem is not registered, not ready, or not reachable through the deployment |
| lifecycle command has no effect | process is unmanaged, already transitioning, or the SDK did not report lifecycle support |
| terminated subsystem reappears | a deployment or managed package supervisor restarted it |
| package frontend returns 404 | package frontend manifest, package install state, and frontend serving route |
| Web Console cannot open package frontend | package instance id, frontend path, WebSocket facade route, and package registration |
| procedure or operation call times out | target interface, binding, subsystem lifecycle state, and control WebSocket connection |
| event view grows unexpectedly | check for dynamically generated Event names and verify endpoint names come from public specs or visibility: internal manifests |
| resource is denied | package resource declaration, broker policy, user group membership, and managed launch path |
| time-sync status is not accepted | lbx doctor --profile time-sync, host NIC, time-sync mode, and service logs |
| remote host does not appear | federation peer config, advertised host, API bind address, and network reachability |
Binding Problems
Check whether the required and provided interfaces use the same contract.
lbx subsystem status
In Web Console Runtime Graph, select the required interface and verify the compatible providers list. Bindings are one required interface to one provider. Multiple required interfaces may bind to the same provider.
Timed Control Problems
If a Control, Procedure, or Operation path times out, check these in order.
- The target subsystem is registered and not faulted.
- The required interface is bound.
- The provider reports the expected endpoint surface.
- The caller and provider use the same public
api.*orcapability.*contract. - Cross-host deployments have accepted clock status when timed metadata is required.
Use Web Console Runtime Graph or /api/v1/control/status to inspect interface and
endpoint status.
Event Flooding
Event channels are long-lived interface endpoints, not disposable per-command names.
If Event counts grow unexpectedly.
- Check the subsystem manifest for public spec contracts or
visibility: internalendpoint lists. - Check that application code reuses declared Event names instead of creating a new channel per operation.
- Use Web Console Runtime Graph with internal endpoints shown only when you are debugging endpoint growth.
Gateway and component providers should use public api.* contracts for public
interfaces. Package-local custom Event names should be internal.
Resource Denied
Resource-control guarantees apply to managed launch paths.
lbx launch run ...lbx deploy up ...- Web Console managed package launch
Direct shell execution can still register a subsystem, but it does not receive managed resource leases, brokered network/device handles, or Web Console process ownership.
Logs
| Area | Command |
|---|---|
| control backend | journalctl -u librux-control.service --no-pager |
| resource broker | journalctl -u librux-resourced.service --no-pager |
| time sync | journalctl -u librux-timesyncd.service --no-pager |
| app or package process | check the managed instance log path shown by Web Console or lbx launch |