Repository navigation
Thread 'main' panicked when trying to display a greyscale image #107
Description
Activity
Same problem here
display_gray_image_cmduses theSendColfor every column but after a few calls, it seems to panic with the time out errorSleeping after each command sent would "fix" this, but I don't understand why sending few columns of data in a row is too much to handle
I was trying to create a black and white video playback feature by using the
SendColandCommitColscommands, but after about 5 or 6 of these commands invoked in a row, it times out and panics. Sleeping between the commands sent would let me get somewhere, but the video fps can't go above 10 because of thisI thought the USB 2.0 connection is the limit, but I guess its not?
What's going on with this?I have the same problem on Ubuntu 22.04.
I encountered a similar error on Arch Linux when running
inputmodule-control --serial-dev /dev/ttyACM0 led-matrix --all-brightnesses.Here's what I did:
- Install
inputmodule-controlfrom AUR sudo udevadm control --reload && sudo udevadm triggerRUST_BACKTRACE=full inputmodule-control --serial-dev /dev/ttyACM0 led-matrix --all-brightnesses
The error and stacktrace are:
thread 'main' panicked at inputmodule-control/src/inputmodule.rs:430:10: Write failed!: Custom { kind: TimedOut, error: "Operation timed out" } stack backtrace: 0: 0x5bb58fa3b122 - std::backtrace_rs::backtrace::libunwind::trace::h1a07e5dba0da0cd2 at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5 1: 0x5bb58fa3b122 - std::backtrace_rs::backtrace::trace_unsynchronized::h61b9b8394328c0bc at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 2: 0x5bb58fa3b122 - std::sys_common::backtrace::_print_fmt::h1c5e18b460934cff at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:68:5 3: 0x5bb58fa3b122 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h1e1a1972118942ad at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:44:22 4: 0x5bb58f925ceb - core::fmt::rt::Argument::fmt::h07af2b4071d536cd at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/fmt/rt.rs:165:63 5: 0x5bb58f925ceb - core::fmt::write::hc090a2ffd6b28c4a at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/fmt/mod.rs:1157:21 6: 0x5bb58fa15db2 - std::io::Write::write_fmt::h8898bac6ff039a23 at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/io/mod.rs:1832:15 7: 0x5bb58fa40459 - std::sys_common::backtrace::_print::h4e80c5803d4ee35b at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:47:5 8: 0x5bb58fa40459 - std::sys_common::backtrace::print::ha96650907276675e at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:34:9 9: 0x5bb58fa3fc7e - std::panicking::default_hook::{{closure}}::h215c2a0a8346e0e0 at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:271:22 10: 0x5bb58fa40ea4 - std::panicking::default_hook::h207342be97478370 at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:298:9 11: 0x5bb58fa40ea4 - std::panicking::rust_panic_with_hook::hac8bdceee1e4fe2c at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:795:13 12: 0x5bb58fa407c2 - std::panicking::begin_panic_handler::{{closure}}::h00d785e82757ce3c at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:664:13 13: 0x5bb58fa40719 - std::sys_common::backtrace::__rust_end_short_backtrace::h1628d957bcd06996 at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:171:18 14: 0x5bb58fa40706 - rust_begin_unwind at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:652:5 15: 0x5bb58f83aa02 - core::panicking::panic_fmt::hdc63834ffaaefae5 at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/panicking.rs:72:14 16: 0x5bb58f83ae55 - core::result::unwrap_failed::h82b551e0ff2b2176 at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/result.rs:1654:5 17: 0x5bb58f8756e3 - core::result::Result<T,E>::expect::hb72d3219b0180778 at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/result.rs:1034:23 18: 0x5bb58f8756e3 - inputmodule_control::inputmodule::simple_cmd_port::h0d7ec998a76e5072 at /usr/src/debug/inputmodule-control/inputmodule-rs-0.2.0/inputmodule-control/src/inputmodule.rs:429:5 19: 0x5bb58f8756e3 - inputmodule_control::inputmodule::send_col::h945634c0f164cc46 at /usr/src/debug/inputmodule-control/inputmodule-rs-0.2.0/inputmodule-control/src/inputmodule.rs:518:5 20: 0x5bb58f8756e3 - inputmodule_control::inputmodule::all_brightnesses_cmd::h56ac9181668a700d at /usr/src/debug/inputmodule-control/inputmodule-rs-0.2.0/inputmodule-control/src/inputmodule.rs:543:9 21: 0x5bb58f8756e3 - inputmodule_control::inputmodule::serial_commands::h0fb2f06f7f2778e4 at /usr/src/debug/inputmodule-control/inputmodule-rs-0.2.0/inputmodule-control/src/inputmodule.rs:193:21 22: 0x5bb58f87f214 - inputmodule_control::main::h2ef305b83abfb911 at /usr/src/debug/inputmodule-control/inputmodule-rs-0.2.0/inputmodule-control/src/main.rs:63:20 23: 0x5bb58f859946 - core::ops::function::FnOnce::call_once::hbcee2982b8497b48 at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/ops/function.rs:250:5 24: 0x5bb58f859946 - std::sys_common::backtrace::__rust_begin_short_backtrace::h982926f2f021e470 at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:155:18 25: 0x5bb58f89979c - main 26: 0x7129369a4c88 - <unknown> 27: 0x7129369a4d4c - __libc_start_main 28: 0x5bb58f8446a5 - _start 29: 0x0 - <unknown>- Install
Could you please make sure that you are on the latest firmware?
Doesinputmodule-control --serial-dev /dev/ttyACM0 led-matrix --versionwork?Weird enough, it also panics the first time I run that command
Second time the device actually turns on and reports back:Device Version: 0.2.0Firmware is already at the latest
Reacted by Matthias BraunSimilar or identical to what @Eddio0141 reports, I get this when running
inputmodule-control --serial-dev /dev/ttyACM0 led-matrix --versionfor the first time:thread 'main' panicked at inputmodule-control/src/inputmodule.rs:352:10: Found no data!: Custom { kind: TimedOut, error: "Operation timed out" }Running the same command again produces:
Device Version: 0.2.0
According to fwupdmgr there are no firmware updates available for Framework 16.
Thanks for looking into this.
Interestingly I get the same results - panic and then the actual version when I run a second time - but I can't get it to happen again. Re booting, removing the modules and putting them in again, it just returns the version.
Relevant output is
3 ✔ ./Software/LEDs/inputmodule-control --serial-dev /dev/ttyACM1 led-matrix --version thread 'main' panicked at 'Found no data!: Custom { kind: TimedOut, error: "Operation timed out" }', inputmodule-control/src/inputmodule.rs:352:10 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace 4 ✘ ./Software/LEDs/inputmodule-control --serial-dev /dev/ttyACM1 led-matrix --version Device Version: 0.2.0
Trying out the LED modules and I get an issue when trying to show a greyscale image and I don't know if I'm encountering a bug or just being an idiot. It happens with both my own image and the examples found in this repo ("/res/greyscale.gif", "/res/stripe.gif", and "/res/stripe.png").
With RUST_BACKTRACE=full set I get the following:
I am running Linux Mint 21.3, which I know isn't officially supported, but being based on Ubuntu Jammy I didn't think it would be a vast departure. Everything else I've tried works, including --image-bw, so I'm hoping the problem isn't with my machine.