paritytech / subxt

Interact with Substrate based nodes in Rust or WebAssembly
Other
414 stars 245 forks source link

Rust embedded standard library (std) target is not supported #1194

Closed blue-freedom-technologies closed 1 year ago

blue-freedom-technologies commented 1 year ago

Good afternoon,

We are trying to use the subxt in a ESP32

But is giving this error:

image

We have also this crate in our cargo.toml getrandom = { version = "0.2", features = ["js"] }

Could you guys point us in the right path.

Cheers,

jsdw commented 1 year ago

Ooh interesting!

The "js" feature wouldn't work (it expects a JavaScript/wasm based env).

Possibly you need to write a custom getrandom impl to work on that target as per this doc:

https://docs.rs/getrandom/latest/getrandom/#custom-implementations

Further up the document there was talk of defining a fallback, so perhaps you can also tell it to use one of the known sources or randomness more simply, too. Id have to experiment!

blue-freedom-technologies commented 1 year ago

That was what we were afraid of.

thanks.

We all at Blue Freedom are big fans of your work by the way.

Cheers,

jsdw commented 1 year ago

If you get it working, I'd love to see what the approach ends up being; it may be something worth either adding to our docs, or adding into the library itself behind a cfg(target)! For that reason I'll re-open this for now if that's ok!

blue-freedom-technologies commented 1 year ago

Hello, Not a problem.

Our architecture target is:"riscv32imac-esp-espidf"

For the getrandom library we need to use the esp_fill_random

In the getrandom this is in here espidf.rs

[target.'cfg(target_os = "espidf")'.dependencies]
getrandom = { git = "https://github.com/rust-random/getrandom.git" }

But as soon as we add the subxt library the cc compiler complaints and fails.

We have the test-app code in here.

Running `/home/silveira/bluefreedom/test-app/target/debug/build/wasmtime-runtime-af8c978cc181d296/build-script-build`
The following warnings were emitted during compilation:

warning: cc: error: unrecognized argument in option ‘-mabi=ilp32’
warning: cc: note: valid arguments to ‘-mabi=’ are: ms sysv
warning: cc: error: unrecognized argument in option ‘-mcmodel=medany’
warning: cc: note: valid arguments to ‘-mcmodel=’ are: 32 kernel large medium small

error: failed to run custom build command for `wasmtime-runtime v8.0.1`

Caused by:
  process didn't exit successfully: `/home/silveira/bluefreedom/test-app/target/debug/build/wasmtime-runtime-af8c978cc181d296/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-changed=src/helpers.c
  TARGET = Some("riscv32imac-esp-espidf")
  OPT_LEVEL = Some("z")
  HOST = Some("x86_64-unknown-linux-gnu")
  cargo:rerun-if-env-changed=CC_riscv32imac-esp-espidf
  CC_riscv32imac-esp-espidf = None
  cargo:rerun-if-env-changed=CC_riscv32imac_esp_espidf
  CC_riscv32imac_esp_espidf = None
  cargo:rerun-if-env-changed=TARGET_CC
  TARGET_CC = None
  cargo:rerun-if-env-changed=CC
  CC = None
  RUSTC_LINKER = Some("ldproxy")
  cargo:rerun-if-env-changed=CROSS_COMPILE
  CROSS_COMPILE = None
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  CARGO_CFG_TARGET_FEATURE = Some("a,c,m")
  cargo:rerun-if-env-changed=CFLAGS_riscv32imac-esp-espidf
  CFLAGS_riscv32imac-esp-espidf = None
  cargo:rerun-if-env-changed=CFLAGS_riscv32imac_esp_espidf
  CFLAGS_riscv32imac_esp_espidf = None
  cargo:rerun-if-env-changed=TARGET_CFLAGS
  TARGET_CFLAGS = None
  cargo:rerun-if-env-changed=CFLAGS
  CFLAGS = None
  running: "cc" "-Os" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-march=rv32imac" "-mabi=ilp32" "-mcmodel=medany" "-Wall" "-Wextra" "-DCFG_TARGET_OS_espidf" "-DCFG_TARGET_ARCH_riscv32" "-o" "/home/silveira/bluefreedom/test-app/target/riscv32imac-esp-espidf/debug/build/wasmtime-runtime-d75f6ee2ec7ef9d7/out/src/helpers.o" "-c" "src/helpers.c"
  cargo:warning=cc: error: unrecognized argument in option ‘-mabi=ilp32’

  cargo:warning=cc: note: valid arguments to ‘-mabi=’ are: ms sysv

  cargo:warning=cc: error: unrecognized argument in option ‘-mcmodel=medany’

  cargo:warning=cc: note: valid arguments to ‘-mcmodel=’ are: 32 kernel large medium small

  exit status: 1

  --- stderr

  error occurred: Command "cc" "-Os" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-march=rv32imac" "-mabi=ilp32" "-mcmodel=medany" "-Wall" "-Wextra" "-DCFG_TARGET_OS_espidf" "-DCFG_TARGET_ARCH_riscv32" "-o" "/home/silveira/bluefreedom/test-app/target/riscv32imac-esp-espidf/debug/build/wasmtime-runtime-d75f6ee2ec7ef9d7/out/src/helpers.o" "-c" "src/helpers.c" with args "cc" did not execute successfully (status code exit status: 1).

warning: build failed, waiting for other jobs to finish...

The "Wasmtime currently doesn't support any 32bit architectures" and our target is "riscv32imac-esp-espidf".

We are trying to dig more into this error and see options going forward.

Cheers,

jsdw commented 1 year ago

Ah that's interesting, thanks for the info!

Subxt itself doesnt have any dependency on wasmtime-runtime unless the "substrate-compat" features is enabled. If it is, I'd recommend disabling it and seeing whether that helps! (subxt-signer was made in part to avoid needing to pull in those dependencies and allow Subxt to compile to WASM, for instance, so it might be a similar problem here)

blue-freedom-technologies commented 1 year ago

Hi,

just updating. We were able to put it working.

subxt = { version = "0.31.0", default-features = false, features = ["native","unstable-metadata"] }

Today we are going to test with other boards and with heavy work rates.

Cheers,

jsdw commented 1 year ago

Perfect! I wonder whether you've tried 0.32.1, which is our latest version now and hopefully should work the same!

blue-freedom-technologies commented 1 year ago

Hi,

For the subxt-signer library

subxt-signer = { version = "0.32.1", default-features = false, features = ["sr25519","subxt"] }

When using this

let uri = SecretUri::from_str(DEVICE_ACCOUNT_SEEDS).expect("valid URI");

we are having this error:

I (40) boot: ESP-IDF v5.1-beta1-378-gea5e0ff298-dirt 2nd stage bootloader
I (41) boot: compile time Jun  7 2023 08:02:08
I (42) boot: chip revision: v0.0
I (45) boot.esp32c6: SPI Speed      : 40MHz
I (50) boot.esp32c6: SPI Mode       : DIO
I (55) boot.esp32c6: SPI Flash Size : 8MB
I (60) boot: Enabling RNG early entropy source...
I (65) boot: Partition Table:
I (69) boot: ## Label            Usage          Type ST Offset   Length
I (76) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (83) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (91) boot:  2 factory          factory app      00 00 00010000 007f0000
I (98) boot: End of partition table
I (102) esp_image: segment 0: paddr=00010020 vaddr=42000020 size=c9bd8h (826328) map
I (436) esp_image: segment 1: paddr=000d9c00 vaddr=40800000 size=06418h ( 25624) load
I (449) esp_image: segment 2: paddr=000e0020 vaddr=420d0020 size=68fd8h (430040) map
I (620) esp_image: segment 3: paddr=00149000 vaddr=40806418 size=02224h (  8740) load
I (626) esp_image: segment 4: paddr=0014b22c vaddr=40808640 size=00fc4h (  4036) load
I (633) boot: Loaded app from partition at offset 0x10000
I (634) boot: Disabling RNG early entropy source...
I (649) cpu_start: Unicore app
I (649) cpu_start: Pro cpu up.
W (659) clk: esp_perip_clk_init() has not been implemented yet
I (665) cpu_start: Pro cpu start user code
I (665) cpu_start: cpu freq: 160000000 Hz
I (666) cpu_start: Application information:
I (668) cpu_start: Project name:     libespidf
I (673) cpu_start: App version:      1
I (678) cpu_start: Compile time:     Oct 11 2023 11:46:41
I (684) cpu_start: ELF file SHA256:  0000000000000000...
I (690) cpu_start: ESP-IDF:          v5.1
I (695) cpu_start: Min chip rev:     v0.0
I (699) cpu_start: Max chip rev:     v0.99 
I (704) cpu_start: Chip rev:         v0.0
I (709) heap_init: Initializing. RAM available for dynamic allocation:
I (716) heap_init: At 4080A570 len 000720A0 (456 KiB): D/IRAM
I (723) heap_init: At 4087C610 len 00002F54 (11 KiB): STACK/DIRAM
I (729) heap_init: At 50000010 len 00003FF0 (15 KiB): RTCRAM
I (736) spi_flash: detected chip: generic
I (740) spi_flash: flash io: dio
W (744) rmt(legacy): legacy driver is deprecated, please migrate to `driver/rmt_tx.h` and/or `driver/rmt_rx.h`
W (755) timer_group: legacy driver is deprecated, please migrate to `driver/gptimer.h`
I (764) sleep: Configure to isolate all GPIO pins in sleep state
I (770) sleep: Enable automatic switching of GPIO sleep configuration
I (777) coexist: coex firmware version: ebddf30
I (783) coexist: coexist rom version 5b8dcfa
I (788) app_start: Starting scheduler on CPU0
I (793) main_task: Started on CPU0
I (793) main_task: Calling app_main()
Guru Meditation Error: Core  0 panic'ed (Load access fault). Exception was unhandled.

Core  0 register dump:
MEPC    : 0x40801128  RA      : 0x40801302  SP      : 0x4080ac70  GP      : 0x40808e40  
0x40801128 - find_containing_heap
    at /home/silveira/bluefreedom/microcontroller/std/prototype-app/.embuild/espressif/esp-idf/v5.1/components/heap/heap_caps.c:365
0x40801302 - heap_caps_realloc_base
    at /home/silveira/bluefreedom/microcontroller/std/prototype-app/.embuild/espressif/esp-idf/v5.1/components/heap/heap_caps.c:431
0x4080ac70 - _bss_end
    at ??:??
0x40808e40 - __global_pointer$
    at ??:??
TP      : 0x407a48d4  T0      : 0x40022494  T1      : 0x40807b62  T2      : 0x4087dda0  
0x407a48d4 - ets_rom_layout_p
    at ??:??
0x40022494 - wifi_get_target_power
    at ??:??
0x40807b62 - memspi_host_program_page
    at /home/silveira/bluefreedom/microcontroller/std/prototype-app/.embuild/espressif/esp-idf/v5.1/components/spi_flash/memspi_host_driver.c:171
0x4087dda0 - _bss_end
    at ??:??
S0/FP   : 0x00000080  S1      : 0x00000080  A0      : 0x00000004  A1      : 0x00000080  
0x00000080 - RV_STK_MSTATUS
    at ??:??
0x00000080 - RV_STK_MSTATUS
    at ??:??
0x00000004 - RV_STK_RA
    at ??:??
0x00000080 - RV_STK_MSTATUS
    at ??:??
A2      : 0x00001800  A3      : 0x00000001  A4      : 0x00000080  A5      : 0x4087dd5c  
0x00001800 - RvExcFrameSize
    at ??:??
0x00000001 - _esp_memprot_align_size
    at ??:??
0x00000080 - RV_STK_MSTATUS
    at ??:??
0x4087dd5c - _bss_end
    at ??:??
A6      : 0x00000004  A7      : 0x4080c2f0  S2      : 0x4087dd5c  S3      : 0x00001800  
0x00000004 - RV_STK_RA
    at ??:??
0x4080c2f0 - _bss_end
    at ??:??
0x4087dd5c - _bss_end
    at ??:??
0x00001800 - RvExcFrameSize
    at ??:??
S4      : 0x00000001  S5      : 0x00000000  S6      : 0x4087e1b8  S7      : 0x4080c314  
0x00000001 - _esp_memprot_align_size
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x4087e1b8 - _bss_end
    at ??:??
0x4080c314 - _bss_end
    at ??:??
S8      : 0x00000006  S9      : 0x0000002a  S10     : 0x4080b304  S11     : 0x4080ce14  
0x00000006 - RV_STK_RA
    at ??:??
0x0000002a - RV_STK_A0
    at ??:??
0x4080b304 - _bss_end
    at ??:??
0x4080ce14 - _bss_end
    at ??:??
T3      : 0x4087dda8  T4      : 0x4087dda0  T5      : 0x4080b168  T6      : 0x00000000  
0x4087dda8 - _bss_end
    at ??:??
0x4087dda0 - _bss_end
    at ??:??
0x4080b168 - _bss_end
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
MSTATUS : 0x00001881  MTVEC   : 0x40800001  MCAUSE  : 0x00000005  MTVAL   : 0x00000020  
0x00001881 - RvExcFrameSize
    at ??:??
0x40800001 - _iram_start
    at ??:??
0x00000005 - RV_STK_RA
    at ??:??
0x00000020 - RV_STK_S0
    at ??:??
MHARTID : 0x00000000  
0x00000000 - RV_STK_MEPC
    at ??:??

Stack memory:
4080ac70: 0x4080ac74 0x00005004 0x00000001 0x00000004 0x00001800 0x00000080 0x4080acbc 0x408013a6
0x4080ac74 - _bss_end
    at ??:??
0x00005004 - RvExcFrameSize
    at ??:??
0x00000001 - _esp_memprot_align_size
    at ??:??
0x00000004 - RV_STK_RA
    at ??:??
0x00001800 - RvExcFrameSize
    at ??:??
0x00000080 - RV_STK_MSTATUS
    at ??:??
0x4080acbc - _bss_end
    at ??:??
0x408013a6 - heap_caps_realloc
    at /home/silveira/bluefreedom/microcontroller/std/prototype-app/.embuild/espressif/esp-idf/v5.1/components/heap/heap_caps.c:474
4080ac90: 0x00000080 0x00000004 0x4080acbc 0x420b82da 0x4080ad68 0x00000008 0x4080c324 0x4200a764
0x00000080 - RV_STK_MSTATUS
    at ??:??
0x00000004 - RV_STK_RA
    at ??:??
0x4080acbc - _bss_end
    at ??:??
0x420b82da - _ZN5alloc7raw_vec11finish_grow17h0fccd1c8fb9a23ffE
    at ??:??
0x4080ad68 - _bss_end
    at ??:??
0x00000008 - RV_STK_SP
    at ??:??
0x4080c324 - _bss_end
    at ??:??
0x4200a764 - _ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17hece7e54f00bab8baE
    at ??:??
4080acb0: 0x00000000 0x50000010 0x00000000 0x0000000c 0x00000000 0x4080a46c 0x4087dd5c 0x00000004
0x00000000 - RV_STK_MEPC
    at ??:??
0x50000010 - _rtc_noinit_end
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x0000000c - RV_STK_GP
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x4080a46c - registered_heaps
    at ??:??
0x4087dd5c - _bss_end
    at ??:??
0x00000004 - RV_STK_RA
    at ??:??
4080acd0: 0x00000040 0x4080ad24 0x4080c314 0x4200ac06 0x03c4000a 0x00000000 0x4080c4d0 0x42009ff0
0x00000040 - RV_STK_A6
    at ??:??
0x4080ad24 - _bss_end
    at ??:??
0x4080c314 - _bss_end
    at ??:??
0x4200ac06 - _ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h84874b0432e26d71E
    at ??:??
0x03c4000a - _esp_mmu_block_size
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x4080c4d0 - _bss_end
    at ??:??
0x42009ff0 - _ZN14regex_automata3nfa8thompson7builder7Builder3add17hc42290a4f6d5b840E.llvm.14605323752608256286
    at ??:??
4080acf0: 0x4080ac74 0x00000010 0x00001800 0x00000000 0x4080ad68 0x4087dda0 0x4087dda8 0x42009e4e
0x4080ac74 - _bss_end
    at ??:??
0x00000010 - _rtc_slow_length
    at ??:??
0x00001800 - RvExcFrameSize
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x4080ad68 - _bss_end
    at ??:??
0x4087dda0 - _bss_end
    at ??:??
0x4087dda8 - _bss_end
    at ??:??
0x42009e4e - _ZN14regex_automata3nfa8thompson7builder7Builder17add_capture_start17he46dda13d0698979E
    at ??:??
4080ad10: 0x4087d1dc 0x00000006 0x4080afb8 0x4087e1b8 0x00000006 0x00000004 0x00000000 0x00000001
0x4087d1dc - _bss_end
    at ??:??
0x00000006 - RV_STK_RA
    at ??:??
0x4080afb8 - _bss_end
    at ??:??
0x4087e1b8 - _bss_end
    at ??:??
0x00000006 - RV_STK_RA
    at ??:??
0x00000004 - RV_STK_RA
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000001 - _esp_memprot_align_size
    at ??:??
4080ad30: 0x00000000 0x0000002a 0x4080c2f0 0x4087e1c0 0x4087d1dc 0x4080c314 0x00000006 0x00000001
0x00000000 - RV_STK_MEPC
    at ??:??
0x0000002a - RV_STK_A0
    at ??:??
0x4080c2f0 - _bss_end
    at ??:??
0x4087e1c0 - _bss_end
    at ??:??
0x4087d1dc - _bss_end
    at ??:??
0x4080c314 - _bss_end
    at ??:??
0x00000006 - RV_STK_RA
    at ??:??
0x00000001 - _esp_memprot_align_size
    at ??:??
4080ad50: 0x4080afb8 0x00000001 0x4087cfb4 0x4202a312 0x420c52f8 0x420c500e 0x420c4fe4 0x420c4fba
0x4080afb8 - _bss_end
    at ??:??
0x00000001 - _esp_memprot_align_size
    at ??:??
0x4087cfb4 - _bss_end
    at ??:??
0x4202a312 - _ZN14regex_automata3nfa8thompson8compiler8Compiler5c_cap17h30ecd7d0d3b3f511E
    at ??:??
0x420c52f8 - uart_tcsetattr
    at /home/silveira/bluefreedom/microcontroller/std/prototype-app/.embuild/espressif/esp-idf/v5.1/components/vfs/vfs_uart.c:515
0x420c500e - uart_tcgetattr
    at /home/silveira/bluefreedom/microcontroller/std/prototype-app/.embuild/espressif/esp-idf/v5.1/components/vfs/vfs_uart.c:720
0x420c4fe4 - uart_tcdrain
    at /home/silveira/bluefreedom/microcontroller/std/prototype-app/.embuild/espressif/esp-idf/v5.1/components/vfs/vfs_uart.c:929
0x420c4fba - uart_tcflush
    at /home/silveira/bluefreedom/microcontroller/std/prototype-app/.embuild/espressif/esp-idf/v5.1/components/vfs/vfs_uart.c:944
4080ad70: 0x00000000 0x00000000 0x00000000 0x420c4d08 0x00000000 0x00000000 0x00000000 0x00000000
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x420c4d08 - uart_start_select
    at /home/silveira/bluefreedom/microcontroller/std/prototype-app/.embuild/espressif/esp-idf/v5.1/components/vfs/vfs_uart.c:431
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
4080ad90: 0x420c4c4c 0x7665642f 0x7261752f 0x00000074 0x00000001 0x00000009 0x00000002 0x4087e498
0x420c4c4c - uart_end_select
    at /home/silveira/bluefreedom/microcontroller/std/prototype-app/.embuild/espressif/esp-idf/v5.1/components/vfs/vfs_uart.c:494
0x7665642f - LP_ANA_PERI
    at ??:??
0x7261752f - LP_ANA_PERI
    at ??:??
0x00000074 - RV_STK_T4
    at ??:??
0x00000001 - _esp_memprot_align_size
    at ??:??
0x00000009 - RV_STK_SP
    at ??:??
0x00000002 - _esp_memprot_align_size
    at ??:??
0x4087e498 - _bss_end
    at ??:??
4080adb0: 0x00000003 0x4080c2f0 0x4080afb8 0x4087e444 0x4087d1fc 0x4087d1fc 0x0000002a 0x42028e60
0x00000003 - _esp_memprot_align_size
    at ??:??
0x4080c2f0 - _bss_end
    at ??:??
0x4080afb8 - _bss_end
    at ??:??
0x4087e444 - _bss_end
    at ??:??
0x4087d1fc - _bss_end
    at ??:??
0x4087d1fc - _bss_end
    at ??:??
0x0000002a - RV_STK_A0
    at ??:??
0x42028e60 - _ZN14regex_automata3nfa8thompson8compiler8Compiler1c17h1aee5d3628c3156fE
    at ??:??
4080add0: 0x420c4824 0x420c483c 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
0x420c4824 - usb_serial_jtag_close
    at /home/silveira/bluefreedom/microcontroller/std/prototype-app/.embuild/espressif/esp-idf/v5.1/components/vfs/vfs_usb_serial_jtag.c:244
0x420c483c - usb_serial_jtag_fstat
    at /home/silveira/bluefreedom/microcontroller/std/prototype-app/.embuild/espressif/esp-idf/v5.1/components/vfs/vfs_usb_serial_jtag.c:235
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
4080adf0: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x420c49a0 0x00000000
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x420c49a0 - usb_serial_jtag_fcntl
    at /home/silveira/bluefreedom/microcontroller/std/prototype-app/.embuild/espressif/esp-idf/v5.1/components/vfs/vfs_usb_serial_jtag.c:249
0x00000000 - RV_STK_MEPC
    at ??:??
4080ae10: 0x420c485e 0x00000000 0x00000000 0x00000000 0x00000000 0x420c4af6 0x420c49de 0x420c48da
0x420c485e - usb_serial_jtag_fsync
    at /home/silveira/bluefreedom/microcontroller/std/prototype-app/.embuild/espressif/esp-idf/v5.1/components/vfs/vfs_usb_serial_jtag.c:265
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x420c4af6 - usb_serial_jtag_tcsetattr
    at /home/silveira/bluefreedom/microcontroller/std/prototype-app/.embuild/espressif/esp-idf/v5.1/components/vfs/vfs_usb_serial_jtag.c:283
0x420c49de - usb_serial_jtag_tcgetattr
    at /home/silveira/bluefreedom/microcontroller/std/prototype-app/.embuild/espressif/esp-idf/v5.1/components/vfs/vfs_usb_serial_jtag.c:315
0x420c48da - usb_serial_jtag_tcdrain
    at /home/silveira/bluefreedom/microcontroller/std/prototype-app/.embuild/espressif/esp-idf/v5.1/components/vfs/vfs_usb_serial_jtag.c:340
4080ae30: 0x420c4828 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
0x420c4828 - usb_serial_jtag_tcflush
    at /home/silveira/bluefreedom/microcontroller/std/prototype-app/.embuild/espressif/esp-idf/v5.1/components/vfs/vfs_usb_serial_jtag.c:346
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
4080ae50: 0x00000000 0x00000000 0x7665642f 0x6365732f 0x61646e6f 0x40007972 0x0000000e 0x00000000
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x7665642f - LP_ANA_PERI
    at ??:??
0x6365732f - LP_ANA_PERI
    at ??:??
0x61646e6f - LP_ANA_PERI
    at ??:??
0x40007972 - wifi_get_target_power
    at ??:??
0x0000000e - RV_STK_GP
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
4080ae70: 0x00000001 0x000000c0 0x00000000 0x420c4580 0x00000000 0x420c4634 0x00000000 0x00000000
0x00000001 - _esp_memprot_align_size
    at ??:??
0x000000c0 - RvExcFrameSize
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x420c4580 - console_write
    at /home/silveira/bluefreedom/microcontroller/std/prototype-app/.embuild/espressif/esp-idf/v5.1/components/vfs/vfs_console.c:71
0x00000000 - RV_STK_MEPC
    at ??:??
0x420c4634 - console_read
    at /home/silveira/bluefreedom/microcontroller/std/prototype-app/.embuild/espressif/esp-idf/v5.1/components/vfs/vfs_console.c:96
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
4080ae90: 0x420c451c 0x420c45f8 0x420c45d4 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
0x420c451c - console_open
    at /home/silveira/bluefreedom/microcontroller/std/prototype-app/.embuild/espressif/esp-idf/v5.1/components/vfs/vfs_console.c:53
0x420c45f8 - console_close
    at /home/silveira/bluefreedom/microcontroller/std/prototype-app/.embuild/espressif/esp-idf/v5.1/components/vfs/vfs_console.c:86
0x420c45d4 - console_fstat
    at /home/silveira/bluefreedom/microcontroller/std/prototype-app/.embuild/espressif/esp-idf/v5.1/components/vfs/vfs_console.c:81
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
4080aeb0: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x4080ce14
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x4080ce14 - _bss_end
    at ??:??
4080aed0: 0x4080b304 0x0000002a 0x00000002 0x4087e498 0x00000003 0x4080c2f0 0x4080b0e8 0x4087e444
0x4080b304 - _bss_end
    at ??:??
0x0000002a - RV_STK_A0
    at ??:??
0x00000002 - _esp_memprot_align_size
    at ??:??
0x4087e498 - _bss_end
    at ??:??
0x00000003 - _esp_memprot_align_size
    at ??:??
0x4080c2f0 - _bss_end
    at ??:??
0x4080b0e8 - _bss_end
    at ??:??
0x4087e444 - _bss_end
    at ??:??
4080aef0: 0x4087d1fc 0x0000002a 0x0000002a 0x4202920c 0x00000000 0x420c477a 0x00000000 0x00000000
0x4087d1fc - _bss_end
    at ??:??
0x0000002a - RV_STK_A0
    at ??:??
0x0000002a - RV_STK_A0
    at ??:??
0x4202920c - _ZN14regex_automata3nfa8thompson8compiler8Compiler1c17h1aee5d3628c3156fE
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x420c477a - console_start_select
    at /home/silveira/bluefreedom/microcontroller/std/prototype-app/.embuild/espressif/esp-idf/v5.1/components/vfs/vfs_console.c:121
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
4080af10: 0x00000000 0x00000000 0x420c46c8 0x7665642f 0x6e6f632f 0x656c6f73 0x4087df00 0x0000000c
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x420c46c8 - console_end_select
    at /home/silveira/bluefreedom/microcontroller/std/prototype-app/.embuild/espressif/esp-idf/v5.1/components/vfs/vfs_console.c:126
0x7665642f - LP_ANA_PERI
    at ??:??
0x6e6f632f - LP_ANA_PERI
    at ??:??
0x656c6f73 - LP_ANA_PERI
    at ??:??
0x4087df00 - _bss_end
    at ??:??
0x0000000c - RV_STK_GP
    at ??:??
4080af30: 0x00000000 0x00000002 0x000001ac 0x00000000 0x00000004 0x4080af48 0x00000003 0x00000000
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000002 - _esp_memprot_align_size
    at ??:??
0x000001ac - RvExcFrameSize
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000004 - RV_STK_RA
    at ??:??
0x4080af48 - _bss_end
    at ??:??
0x00000003 - _esp_memprot_align_size
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
4080af50: 0x00000001 0x00000004 0x00000000 0x00000000 0x00000000 0x00000000 0x4080af48 0x420c8708
0x00000001 - _esp_memprot_align_size
    at ??:??
0x00000004 - RV_STK_RA
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x4080af48 - _bss_end
    at ??:??
0x420c8708 - __sread
    at /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/stdio/stdio.c:37
4080af70: 0x420c873e 0x420c8790 0x420c87c8 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
0x420c873e - __swrite
    at /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/stdio/stdio.c:85
0x420c8790 - __sseek
    at /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/stdio/stdio.c:109
0x420c87c8 - __sclose
    at /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/stdio/stdio.c:130
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
4080af90: 0x00000000 0x00000000 0x00000000 0x00000000 0x4080b0ec 0x00000000 0x00000000 0x00000000
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x4080b0ec - _bss_end
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
4080afb0: 0x4080c4e0 0x00000000 0x0000002a 0x00000003 0x4080c4e0 0x00000080 0xffffff80 0x00000000
0x4080c4e0 - _bss_end
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x0000002a - RV_STK_A0
    at ??:??
0x00000003 - _esp_memprot_align_size
    at ??:??
0x4080c4e0 - _bss_end
    at ??:??
0x00000080 - RV_STK_MSTATUS
    at ??:??
0xffffff80 - LP_ANA_PERI
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
4080afd0: 0x4080afb0 0x420c8708 0x420c873e 0x420c8790 0x420c87c8 0x00000000 0x00000000 0x00000000
0x4080afb0 - _bss_end
    at ??:??
0x420c8708 - __sread
    at /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/stdio/stdio.c:37
0x420c873e - __swrite
    at /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/stdio/stdio.c:85
0x420c8790 - __sseek
    at /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/stdio/stdio.c:109
0x420c87c8 - __sclose
    at /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/stdio/stdio.c:130
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
4080aff0: 0x00000000 0x00000000 0x00000000 0x4080ce14 0x4080b304 0x0000002a 0x00000002 0x4087e498
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x4080ce14 - _bss_end
    at ??:??
0x4080b304 - _bss_end
    at ??:??
0x0000002a - RV_STK_A0
    at ??:??
0x00000002 - _esp_memprot_align_size
    at ??:??
0x4087e498 - _bss_end
    at ??:??
4080b010: 0x4080b0f4 0x4080c2f0 0x4080b168 0x4087e444 0x00000002 0x0000002a 0x4087e428 0x42029184
0x4080b0f4 - _bss_end
    at ??:??
0x4080c2f0 - _bss_end
    at ??:??
0x4080b168 - _bss_end
    at ??:??
0x4087e444 - _bss_end
    at ??:??
0x00000002 - _esp_memprot_align_size
    at ??:??
0x0000002a - RV_STK_A0
    at ??:??
0x4087e428 - _bss_end
    at ??:??
0x42029184 - _ZN14regex_automata3nfa8thompson8compiler8Compiler1c17h1aee5d3628c3156fE
    at ??:??
4080b030: 0x00000000 0x00000000 0x4087dda0 0x4087dda8 0x00000000 0x4080b168 0x4087dda0 0x4087dda8
0x00000000 - RV_STK_MEPC
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x4087dda0 - _bss_end
    at ??:??
0x4087dda8 - _bss_end
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x4080b168 - _bss_end
    at ??:??
0x4087dda0 - _bss_end
    at ??:??
0x4087dda8 - _bss_end
    at ??:??
4080b050: 0x42009e4e 0x4080c2f0 0x4080b288 0x4080b30c 0x00000000 0x4080b30c 0x00000004 0x00000020
0x42009e4e - _ZN14regex_automata3nfa8thompson7builder7Builder17add_capture_start17he46dda13d0698979E
    at ??:??
0x4080c2f0 - _bss_end
    at ??:??
0x4080b288 - _bss_end
    at ??:??
0x4080b30c - _bss_end
    at ??:??
0x00000000 - RV_STK_MEPC
    at ??:??
0x4080b30c - _bss_end
    at ??:??
0x00000004 - RV_STK_RA
    at ??:??
0x00000020 - RV_STK_S0
    at ??:??

ELF file SHA256: 0000000000000000

Rebooting...
ESP-ROM:esp32c6-20220919
Build:Sep 19 2022
rst:0xc (SW_CPU),boot:0x7f (SPI_FAST_FLASH_BOOT)
Saved PC:0x4001975a
0x4001975a - wifi_get_target_power
    at ??:??
SPIWP:0xee
mode:DIO, clock div:2
load:0x4086c410,len:0xd48
0x4086c410 - _bss_end
    at ??:??
load:0x4086e610,len:0x2d68
0x4086e610 - _bss_end
    at ??:??
load:0x40875720,len:0x1800
0x40875720 - _bss_end
    at ??:??
SHA-256 comparison failed:
Calculated: 377c26481ad6ab0cce508450f353a55f4bd7eb9159aaf85fde3111071f164514
Expected: 0af544a033ab3492852b8232c904c578d5f07c9d4a423a64473f060db374ab32
Attempting to boot anyway...
entry 0x4086c410
0x4086c410 - _bss_end
    at ??:??

Normaly this means that we are adressing the worng memory adress(aka: heap memory is corrupted.).

We are trying to dig more into this error and see options going forward.

Cheers,

blue-freedom-technologies commented 1 year ago

Hi,

Just updating.

The line of code-> "let uri = SecretUri::from_str(DEVICE_ACCOUNT_SEEDS).expect("valid URI");"

The gdb-multiarch view

image

It blows up exactly in here

For the esp32c6 chip.

Cheers,

niklasad1 commented 1 year ago

Ok sorry to hear, it's not much we can do about it unfortunately in subxt.

I assume it's invalid memory access that's happening here and it's probably a rustc bug or a bug in the OS/HAL you are using (assuming that you are not running bare-metal)

Can you please open an issue in appropriate repo? As it's a third-party crate that is causing this issue.

blue-freedom-technologies commented 1 year ago

Hi,

we were just updating. A bug issue for the rust-lang crate was already created.

You can close the issue if you like.

Cheers,

blue-freedom-technologies commented 1 year ago

Hi,

We were able to solve the issue wrapping-up the code with a thread of 32K.

We now have the necessary three boards(Were the subxt library was tested) to qualify this library good for use in our project.

I am closing this issue.

Thank you all for your help.

Cheers