-
Notifications
You must be signed in to change notification settings - Fork 7.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can't get core dump from flash - error "Invalid core dump CRC d59a4f1e, should be ffffffff" (IDFGH-2571) #4656
Comments
I'm having exactly the same issue. Did you find a way to resolve this? I guess the key to this is |
Hi!
No, I didn't... It is now not so important for me, my program is now
stable. But i am still interesting about it!
вт, 26 мая 2020 г. в 14:23, pumelo <notifications@github.com>:
… I'm having exactly the same issue. Did you find a way to resolve this?
I guess the key to this is
E (5249) esp_core_dump_common: Skipped 1 tasks with bad TCB!
This seems to make the core dump unusable ..
This does not happen if the reset was not triggered by a watchdog reset ...
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#4656 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AOLFLPEAOZCCX7WPQK7WIADRTORDRANCNFSM4KKGPRJA>
.
|
Hi! There is a coredump bug in IDF v3.3. Here is the patch to fix it. We will backport that fix to 3.3. diff --git a/components/espcoredump/src/core_dump_port.c b/components/espcoredump/src/core_dump_port.c
index e045b19a4e..fbbdc22a48 100644
--- a/components/espcoredump/src/core_dump_port.c
+++ b/components/espcoredump/src/core_dump_port.c
@@ -47,8 +47,11 @@ bool esp_core_dump_process_tcb(void *frame, core_dump_task_header_t *task_snapho
return false;
}
if (task_snaphort->tcb_addr == xTaskGetCurrentTaskHandleForCPU(xPortGetCoreID())) {
- // Set correct stack top for current task
- task_snaphort->stack_start = (uint32_t)exc_frame;
+ // Set correct stack top for current task; only modify if we came from the task,
+ // and not an ISR that crashed.
+ if (!xPortInterruptedFromISRContext()) {
+ task_snaphort->stack_start = (uint32_t)exc_frame;
+ }
// This field is not initialized for crashed task, but stack frame has the structure of interrupt one,
// so make workaround to allow espcoredump to parse it properly.
if (exc_frame->exit == 0) |
This issue has been fixed in 4.x releases. I'm closing this issue since IDF 3.3 has reached EoL. |
#4100 Environment
Problem Description
I have ESP32D0WDQ6 on my custom board.
I modified hello_world example for making abort in task watchdog
and trying to get core dump from flash.
In menuconfig i set options for writing core dump to flash and for abort when
task watchdog timer triggers. I use custom partition table with coredump at 0x110000
(it is default address in espcoredump.py).
In main() i started task with watchdog and then delay for 10000 ms.
Task watchdog triggers, abort() called, dump writed to flash.
Expected Behavior
App abort, saved core dump to flash, useful espcoredump.py output after reading dump from flash.
Actual Behavior
App abort, saved core dump to flash, espcoredump.py reads core dunp and returns error "Invalid core dump CRC d59a4f1e, should be ffffffff"
Steps to reproduce
Code to reproduce this issue
The text was updated successfully, but these errors were encountered: