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
{{ message }}
This repository has been archived by the owner on Aug 1, 2024. It is now read-only.
Building 876a42e for c3 (both pio & native build) produces a IllegalInstruction exception, I captured the PC and fed it into addr2line and it reported the invalid instruction to be in super::intrinsics::abort() inside panic_fmt. Looking at git log it seems immediate abort was removed, but perhaps its still around somewhere?
Regardless of all that, there seems to be a panic when running the demo on a C3.
Here is the log snippet, which may be of interest:
I(5583) wifi:Init max length of beacon:752/752I(5583) esp_idf_svc::wifi:Got wifi event:2I(5593) esp_idf_svc::wifi:ReconnectingGuruMeditationError:Core0 panic'ed(Illegal instruction).Exception was unhandled.Core0 register dump:MEPC:0x4200bb92RA:0x42006056SP:0x3fc9dca0GP:0x3fc8ea00TP:0x3fc7952cT0:0x4005890eT1:0x403808feT2:0x69666957S0/FP:0x3fc9dcf0S1:0x00000005A0:0x3fc9dca8A1:0x0000300aA2:0x00000001A3:0x00000001A4:0x3fc96000A5:0x600c2000A6:0x42054760A7:0x0000000aS2:0x00000000S3:0x00000000S4:0x3fc9e540S5:0x00000000S6:0xffffffffS7:0x3fca5d88S8:0x00000000S9:0x00000000S10:0x00000000S11:0x00000000T3:0x00000000T4:0x64656c64T5:0x00000027T6:0x3120746eMSTATUS:0x4200bb92MTVEC:0x40380001MCAUSE:0x00000002MTVAL:0x00000000MHARTID:0x00000000Stack memory:3fc9dca0:0x000002b70xffffffff0x0000300a0x000000010x000000000x000000000x3c0c13bc0x000000003fc9dcc0:0x000000000x000000020x000000020x420058f80x000000000x000000000x3fc9dd100x4202063a3fc9dce0:0x000000000x000000000x000000000x000000000x3c0c1eb00x000000020x000000000x40388b303fc9dd00:0x3fc9dcd80x000000010x3fc9d2fc0x4038706e0x000000020x000000000x000000000x3fca5d883fc9dd20:0xffffffff0x000000000xffffffff0x000000ce0x000000000x3fc9d0880x3fc9f1400x420b2caa3fc9dd40:0x000000000x3fc9d0880x000000000x420b34f20x000000000x3c0ccd440x000000020x000000003fc9dd60:0x000000000x3c0ccd440x000000020x000000000x000000000x000000000x000000000x000000003fc9dd80:0x000000000x000000000x000000000x000000000x000000000x000000000x3fc9d0880x420b35dc3fc9dda0:0x000000000x000000000x000000000x403896da0x000000000x000000000x000000000x000000003fc9ddc0:0x000000000xa5a5a5a50xa5a5a5a50xa5a5a5a50x271464140x000000000x000000000x010101073fc9dde0:0x000000010xffffffff0x7fefffff0x000000000x3fc000000x000000000x403000000x000000003fc9de00:0x3fe000000x000000000x3ff800000x636f43610x3fd287a70x8b60c8b30x3fc68a280x509f79fb3fc9de20:0x3fd344130x000000000x3ff000000x000000000x402400000x000000000x401c00000x000000003fc9de40:0x401400000x000000000x435000000x3fc8e2000xa5a5a5a50x000001540x3fc9db700x3fc963743fc9de60:0x3fc91f480x3fc91f480x3fc9de580x3fc91f400x000000050x3fc9e5e00x3fc9e5e00x3fc9de583fc9de80:0x000000000x000000140x3fc9d3540x5f7379730x007476650xa5a5a5a50x00a5a5a50x000000003fc9dea0:0x3fc9de500x000000140x000000020x3fca62e80x4205159c0x000000000x3fc96b8c0x3fc96bf43fc9dec0:0x3fc96c5c0x000000000x000000000x000000010x000000000x000000000x000000000x4209b9cc3fc9dee0:0x000000000x000000000x000000000x000000000x000000000x000000000x000000000x000000003fc9df00:0x000000000x000000000x000000000x000000000x000000000x000000000x000000000x000000003fc9df20:0x000000000x000000000x000000000x000000000x000000000x000000000x000000000x000000003fc9df40:0x000000000x000000000x000000000x000000000x000000000x000000000x000000000x000000003fc9df60:0x000000000x000000000x000000000x000000000x000000000x000000000x000000000x000000003fc9df80:0x000000000x000000000x000000000x000000000x000000000x000000000x000000000x000000003fc9dfa0:0x000000000x000000000x3fc900000x0000000c0x000000020x000000010x3fc9dfa80x0000000c3fc9dfc0:0x3fc9dfd00x000000000x3fc9dfb80x000000540x000000000x3fc9dfd00x000000000x000000003fc9dfe0:0x000000000x3fc9dfe80xffffffff0x3fc9dfe80x3fc9dfe80x000000000x3fc9dffc0xffffffff3fc9e000:0x3fc9dffc0x3fc9dffc0x000000010x000000010x000000000xa500ffff0x000000000xa5a5a5a53fc9e020:0x3fc9dfc80x000000540x000000000x3fc9e0280x000000000x000000000x000000000x3fc9e0403fc9e040:0xffffffff0x3fc9e0400x3fc9e0400x000000000x3fc9e0540xffffffff0x3fc9e0540x3fc9e0543fc9e060:0x000000010x000000010x000000000xa500ffff0x000000000xa5a5a5a50x3fc9e0200x000000283fc9e080:0x3c0d49240x000000000x000000000x000000000x3fc9e1c80x3fc9e1c80x000000010x3fc9e104ELF file SHA256:0000000000000000Rebooting...
�`ESP-ROM:esp32c3-api1-20210207Build:Feb72021
The text was updated successfully, but these errors were encountered:
Now, why do we need panic_immediate_abort in the first place? Two reasons:
The non-immediate-abort code-path wants to have the posix call realpath. realpath is declared under ESP-IDF, but not implemented, and results in a linkage error. This is raised as this issue against ESP-IDF.
The non-immediate-abort code-path (if I remember correctly) tries to capture a backtrace using backtrace-rs. Backtrace-rs still works for Xtensa under ESP-IDF 4.3.1, but crashes for RiscV, as it uses C++ unwind API calls which fail under RiscV. Now, the worse thing is, from ESP-IDF 4.4 and later, backtrace-rs will start crashing also for Xtensa, as the ESP-IDF folks have replaced the C++ unwind APIs with stubs which do panic when the ESP-IDF is compiled with C++ exceptions disabled. Which means that to support a non-immediate-abort, we'll have to - at the very least - patch (and possibly upstream) backtrace-rs so that it at least does not crash under ESP-IDF, even if producing empty backtraces (good backtrace or stack dump will be produced anyway once the code hits the ESP-IDF native panic handler). Wy would we want to use a non-immediate abort? To display the user error message "Boo" that might come from the developer calling panic!("Boo")
With all of the above said, let me see what is going on on the c3... :)
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Building 876a42e for c3 (both pio & native build) produces a IllegalInstruction exception, I captured the PC and fed it into
addr2line
and it reported the invalid instruction to be insuper::intrinsics::abort()
insidepanic_fmt
. Looking atgit log
it seems immediate abort was removed, but perhaps its still around somewhere?Regardless of all that, there seems to be a panic when running the demo on a C3.
Here is the log snippet, which may be of interest:
The text was updated successfully, but these errors were encountered: