You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
thin-edge.io tedge-mapper-c8y panics on startup if there is an invalid toml file defined under the operations/c8y/ folder. If the invalid operations file is added whilst the tedge-mapper-c8y is running then an error is printed but the mapper keeps on functioning, but if the mapper is restarted, then it goes into an infinite start -> panic -> shutdown loop.
Below shows the panic during the tedge-mapper-c8y service startup:
Nov 07 13:58:18 tedge tedge-mapper[4922]: 2024-11-07T13:58:18.68308912Z INFO C8Y-REST: start initialisation
Nov 07 13:58:18 tedge tedge-mapper[4922]: thread 'main' panicked at /home/runner/work/thin-edge.io/thin-edge.io/crates/core/tedge_actors/src/builders.rs:87:26:
Nov 07 13:58:18 tedge tedge-mapper[4922]: called `Result::unwrap()` on an `Err` value: ActorError(OperationsError(TomlError("/etc/tedge/operations/c8y/invalidfile", Error { inner: Error { inner: TomlError { message: "expected `.`, `=`", original: Some("sleep 10\n"), keys: [], span: Some(6..7) } } })))
Nov 07 13:58:18 tedge tedge-mapper[4922]: note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Nov 07 13:58:18 tedge tedge-mapper[4922]: 2024-11-07T13:58:18.683160412Z INFO mqtt_channel::connection: MQTT connecting to broker: host=127.0.0.1:8883, session_name=None
Nov 07 13:58:18 tedge tedge-mapper[4922]: 2024-11-07T13:58:18.683445496Z INFO mqtt_channel::connection: MQTT connecting to broker: host=127.0.0.1:8883, session_name=Some("tedge-mapper-c8y")
Nov 07 13:58:18 tedge tedge-mapper[4922]: 2024-11-07T13:58:18.683461704Z INFO HTTP Server: Cumulocity proxy has HTTPS enabled (configured in `c8y.proxy.cert_path`/`c8y.proxy.key_path`) and certificate authentication enabled (2 certificates found) (configured in `c8y.proxy.ca_path`)
Nov 07 13:58:18 tedge tedge-mapper[4922]: 2024-11-07T13:58:18.683543954Z INFO c8y_auth_proxy::server: Launching on port 8001 with HTTPS
Nov 07 13:58:18 tedge systemd[1]: tedge-mapper-c8y.service: Main process exited, code=exited, status=101/n/a
Nov 07 13:58:18 tedge systemd[1]: tedge-mapper-c8y.service: Failed with result 'exit-code'.
To Reproduce
Assuming you have a functional thin-edge.io installation connected to Cumulocity, then run:
Create an invalid operations file (with invalid toml syntax)
Describe the bug
thin-edge.io tedge-mapper-c8y panics on startup if there is an invalid toml file defined under the
operations/c8y/
folder. If the invalid operations file is added whilst the tedge-mapper-c8y is running then an error is printed but the mapper keeps on functioning, but if the mapper is restarted, then it goes into an infinite start -> panic -> shutdown loop.Below shows the panic during the tedge-mapper-c8y service startup:
To Reproduce
Assuming you have a functional thin-edge.io installation connected to Cumulocity, then run:
Create an invalid operations file (with invalid toml syntax)
Restart the tedge-mapper-c8y
If the bug is present, then the tedge-mapper-c8y will continuously start then crash. You can monitor via journald:
Expected behavior
The tedge-mapper-c8y should be resistent to invalid user configuration and not crash/panic. Instead it should:
Screenshots
Environment (please complete the following information):
Debian GNU/Linux 12 (bookworm)
unknown
Linux tedge 6.8.0-39-generic #39-Ubuntu SMP PREEMPT_DYNAMIC Sat Jul 6 02:50:39 UTC 2024 aarch64 GNU/Linux
tedge 1.3.1
Additional context
The text was updated successfully, but these errors were encountered: