DennisOSRM / hms-mqtt-publisher

HMS-XXXXW-2T MQTT publisher and Home Assistant addon
BSD 2-Clause "Simplified" License
111 stars 16 forks source link

panic: slice index starts at 10 but ends at 0 #125

Open danilobuerger opened 2 months ago

danilobuerger commented 2 months ago

Getting

thread 'main' panicked at hms2mqtt/src/inverter.rs:105:61:
slice index starts at 10 but ends at 0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

After about a minute of running it with a HMS-800W-T2

pimperator commented 1 month ago

I do have the same issue starting today 12:00 HMS-800W-2T, Hadwareversion H00.04.00, Softwareversion V01.00.08.

strange thing here is that the container hasn't changed for about six months on dockerhub Sadly, rebooting the inverter did not solve the issue

docker run -d --network host --restart unless-stopped -v ${HOME}/config-hoymiles-hass.yaml:/config.toml -e RUST_BACKTRACE=1 -e RUST_BACKTRACE=full --name hass-hoymiles dennisosrm/hms-mqtt-publisher:latest

[2024-07-19T18:51:05Z INFO  hms_mqtt_publish] Running revision: b3759dadd318c48b8f84b04a2b94ff0c230008f1
[2024-07-19T18:51:05Z INFO  hms_mqtt_publish] loading configuration from /config.toml
[2024-07-19T18:51:05Z INFO  hms_mqtt_publish] using non-default update interval of 150.50s
[2024-07-19T18:51:05Z INFO  hms_mqtt_publish] inverter host: 192.168.1.127
[2024-07-19T18:51:05Z INFO  hms_mqtt_publish] Publishing to Home Assistant
thread 'main' panicked at hms2mqtt/src/inverter.rs:105:61:
slice index starts at 10 but ends at 0
stack backtrace:
   0:     0x563e90e8cb2c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
   1:     0x563e90e8cb2c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x563e90e8cb2c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
   3:     0x563e90e8cb2c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x563e90eb6af0 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
   5:     0x563e90eb6af0 - core::fmt::write::h3a39390d8560d9c9
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
   6:     0x563e90e89cdf - std::io::Write::write_fmt::h5fc9997dfe05f882
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
   7:     0x563e90e8c914 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x563e90e8c914 - std::sys_common::backtrace::print::h23a2d212c6fff936
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x563e90e8df17 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
  10:     0x563e90e8dc7f - std::panicking::default_hook::h6038f2eba384e475
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:292:9
  11:     0x563e90e8e398 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:779:13
  12:     0x563e90e8e27e - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:657:13
  13:     0x563e90e8cff6 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
  14:     0x563e90e8dfe2 - rust_begin_unwind
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
  15:     0x563e90bcf0d5 - core::panicking::panic_fmt::hbf0e066aabfa482c
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
  16:     0x563e90bcf732 - core::slice::index::slice_index_order_fail_rt::hd05b814beec6e1b0
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/slice/index.rs:98:5
  17:     0x563e90bcf732 - core::slice::index::slice_index_order_fail::h0cf4df47d0fb97e4
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/slice/index.rs:91:14
  18:     0x563e90d1be68 - <core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index::h0c7e067f895d339e
  19:     0x563e90d1d273 - hms2mqtt::inverter::Inverter::update_state::ha7e1f8b7c995bd1e
  20:     0x563e90bea10f - hms_mqtt_publish::main::h51c6f1e2031b2f68
  21:     0x563e90be4603 - std::sys_common::backtrace::__rust_begin_short_backtrace::ha85f32fa3ab71a59
  22:     0x563e90bf0749 - std::rt::lang_start::{{closure}}::h9acdb1f36d0bb255
  23:     0x563e90e83057 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::hd95060ecd5e1ca24
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:284:13
  24:     0x563e90e83057 - std::panicking::try::do_call::h6e8cf51db32a6e4b
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
  25:     0x563e90e83057 - std::panicking::try::h3a52eefe24fe3c29
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
  26:     0x563e90e83057 - std::panic::catch_unwind::h24c28c23c02c3841
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
  27:     0x563e90e83057 - std::rt::lang_start_internal::{{closure}}::h705d3c9cbc06ef47
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/rt.rs:148:48
  28:     0x563e90e83057 - std::panicking::try::do_call::ha21f52ba13158470
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
  29:     0x563e90e83057 - std::panicking::try::h5581346bf6aeb1f8
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
  30:     0x563e90e83057 - std::panic::catch_unwind::h7919645a6b72e25b
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
  31:     0x563e90e83057 - std::rt::lang_start_internal::h12de51168669836e
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/rt.rs:148:20
  32:     0x563e90bf073e - std::rt::lang_start::h417bea817f643f9f
  33:     0x7f8f87897d0a - __libc_start_main
  34:     0x563e90bcf8ba - _start
  35:                0x0 - <unknown>

Is there anything more I could provide?

pimperator commented 1 month ago

update: after the inverter turned off during night it came back properly delivering data

[2024-07-19T19:14:13Z INFO  hms2mqtt::inverter] Inverter is Offline
[2024-07-20T03:35:02Z INFO  hms2mqtt::inverter] Inverter is Online
pimperator commented 3 weeks ago

issue is back again... the S-Miles Installer shows the device to be offline

[2024-08-22T09:10:27Z INFO  hms_mqtt_publish] Running revision: b3759dadd318c48b8f84b04a2b94ff0c230008f1
[2024-08-22T09:10:27Z INFO  hms_mqtt_publish] loading configuration from /config.toml
[2024-08-22T09:10:27Z INFO  hms_mqtt_publish] using non-default update interval of 150.50s
[2024-08-22T09:10:27Z INFO  hms_mqtt_publish] inverter host: 192.168.1.127
[2024-08-22T09:10:27Z INFO  hms_mqtt_publish] Publishing to Home Assistant
thread 'main' panicked at hms2mqtt/src/inverter.rs:105:61:
slice index starts at 10 but ends at 0
stack backtrace:
   0:     0x56036f873b2c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
   1:     0x56036f873b2c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x56036f873b2c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
   3:     0x56036f873b2c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x56036f89daf0 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
   5:     0x56036f89daf0 - core::fmt::write::h3a39390d8560d9c9
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
   6:     0x56036f870cdf - std::io::Write::write_fmt::h5fc9997dfe05f882
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
   7:     0x56036f873914 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x56036f873914 - std::sys_common::backtrace::print::h23a2d212c6fff936
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x56036f874f17 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
  10:     0x56036f874c7f - std::panicking::default_hook::h6038f2eba384e475
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:292:9
  11:     0x56036f875398 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:779:13
  12:     0x56036f87527e - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:657:13
  13:     0x56036f873ff6 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
  14:     0x56036f874fe2 - rust_begin_unwind
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
  15:     0x56036f5b60d5 - core::panicking::panic_fmt::hbf0e066aabfa482c
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
  16:     0x56036f5b6732 - core::slice::index::slice_index_order_fail_rt::hd05b814beec6e1b0
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/slice/index.rs:98:5
  17:     0x56036f5b6732 - core::slice::index::slice_index_order_fail::h0cf4df47d0fb97e4
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/slice/index.rs:91:14
  18:     0x56036f702e68 - <core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index::h0c7e067f895d339e
  19:     0x56036f704273 - hms2mqtt::inverter::Inverter::update_state::ha7e1f8b7c995bd1e
  20:     0x56036f5d110f - hms_mqtt_publish::main::h51c6f1e2031b2f68
  21:     0x56036f5cb603 - std::sys_common::backtrace::__rust_begin_short_backtrace::ha85f32fa3ab71a59
  22:     0x56036f5d7749 - std::rt::lang_start::{{closure}}::h9acdb1f36d0bb255
  23:     0x56036f86a057 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::hd95060ecd5e1ca24
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:284:13
  24:     0x56036f86a057 - std::panicking::try::do_call::h6e8cf51db32a6e4b
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
  25:     0x56036f86a057 - std::panicking::try::h3a52eefe24fe3c29
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
  26:     0x56036f86a057 - std::panic::catch_unwind::h24c28c23c02c3841
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
  27:     0x56036f86a057 - std::rt::lang_start_internal::{{closure}}::h705d3c9cbc06ef47
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/rt.rs:148:48
  28:     0x56036f86a057 - std::panicking::try::do_call::ha21f52ba13158470
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
  29:     0x56036f86a057 - std::panicking::try::h5581346bf6aeb1f8
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
  30:     0x56036f86a057 - std::panic::catch_unwind::h7919645a6b72e25b
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
  31:     0x56036f86a057 - std::rt::lang_start_internal::h12de51168669836e
                               at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/rt.rs:148:20
  32:     0x56036f5d773e - std::rt::lang_start::h417bea817f643f9f
  33:     0x7fdb8f57ad0a - __libc_start_main
  34:     0x56036f5b68ba - _start
  35:                0x0 - <unknown>

I'll restart the device later as soon as I am in its reach and update the issue