Esp32S3 : Problem with a Task that throws an interrupt WD timeout. Could you help me please ?

ThomasESP32
Posts: 282
Joined: Thu Jul 14, 2022 5:15 am

Esp32S3 : Problem with a Task that throws an interrupt WD timeout. Could you help me please ?

Postby ThomasESP32 » Fri Jun 06, 2025 12:27 pm

Good afternoon,


I am working with an esp32S3 and I have created a program containing multiple tasks
which are all running at the same time.

Now, in one task, I have created a method/process which does some things.
Before this method/process was called/executed, everything was OK.

When I have added the method, my program executes it then throws the following error :

Guru Meditation Error: Core 1 panic'ed (Interrupt wdt timeout on CPU1).

Core 1 register dump:
PC : 0x4037fa5e PS : 0x00060834 A0 : 0x80382da1 A1 : 0x3fcc6270
A2 : 0x3fccc6a0 A3 : 0xb33fffff A4 : 0x656c6966 A5 : 0x00000004
A6 : 0x3fca0f98 A7 : 0x3fca0f9c A8 : 0x3fccc6a0 A9 : 0x03ccc6a0
A10 : 0x01ffffff A11 : 0xffffffff A12 : 0xb33fffff A13 : 0x00060823
A14 : 0x3fca8a08 A15 : 0x0000abab SAR : 0x00000008 EXCCAUSE: 0x00000006
EXCVADDR: 0x00000000 LBEG : 0x40056f5c LEND : 0x40056f72 LCOUNT : 0xffffffff

Backtrace: 0x4037fa5b:0x3fcc6270 0x40382d9e:0x3fcc6290 0x40382a0c:0x3fcc62c0 0x40382af8:0x3fcc6300 0x40376669:0x3fcc6320 0x40376739:0x3fcc6350 0x4037680a:0x3fcc6370 0x420f24fe:0x3fcc63a0 0x420f2555:0x3fcc63e0 0x42029d10:0x3fcc6400 0x420159d9:0x3fcc6480 0x42015a96:0x3fcc64a0 0x42015aa1:0x3fcc64c0

Core 0 register dump:
PC : 0x4037b05e PS : 0x00060134 A0 : 0x8037bc76 A1 : 0x3fcee620
A2 : 0x3fcee790 A3 : 0x00000002 A4 : 0x00001000 A5 : 0x00000000
A6 : 0x3fca7867 A7 : 0x3fc9b4c4 A8 : 0x00000000 A9 : 0x3fcee600
A10 : 0x00000000 A11 : 0x4037af90 A12 : 0x00000001 A13 : 0x00000001
A14 : 0x3fca0ae8 A15 : 0x00000004 SAR : 0x00000010 EXCCAUSE: 0x00000006
EXCVADDR: 0x00000000 LBEG : 0x40056f5c LEND : 0x40056f72 LCOUNT : 0xffffffff

Backtrace: 0x4037b05b:0x3fcee620 0x4037bc73:0x3fcee640 0x4037bc7b:0x3fcee660 0x4037f78d:0x3fcee680 0x4037b725:0x3fcee6a0 0x4208a0f7:0x3fcee6e0 0x42084283:0x3fcee710 0x4208458a:0x3fcee740 0x42084c65:0x3fcee780 0x42084f05:0x3fcee7d0 0x4208516d:0x3fcee860 0x42087fd7:0x3fcee890 0x420832bd:0x3fcee8c0 0x42008ff6:0x3fcee8e0 0x42029e93:0x3fcee900 0x4200d1e9:0x3fceea30 0x4200ed63:0x3fceeb50 0x42011289:0x3fceebf0

I don't undertand what is the problem with my function. And looking at the code, I don't see what can trigger an interrupt
timeout.
Do you think it is possible to understand what happend looking at the register dump ?
Or do you think it is possible to find the line of code that cause a problem ?

Thank you for your help,

best regards,

Thomas TRUILHE

ThomasESP32
Posts: 282
Joined: Thu Jul 14, 2022 5:15 am

Re: Esp32S3 : Problem with a Task that throws an interrupt WD timeout. Could you help me please ?

Postby ThomasESP32 » Fri Jun 06, 2025 12:38 pm

Moreover, I have started my program again and now the error is the following :

assert failed: 0x40382dcd

Backtrace: 0x4037563a:0x3fcc6210 0x40382339:0x3fcc6230 0x40388bf9:0x3fcc6250 0x40382dcd:0x3fcc6290 0x40382a0c:0x3fcc62c0 0x40382af8:0x3fcc6300 0x40376669:0x3fcc6320 0x40376739:0x3fcc6350 0x4037680a:0x3fcc6370 0x420f24fe:0x3fcc63a0 0x420f2555:0x3fcc63e0 0x42029d10:0x3fcc6400 0x420159d9:0x3fcc6480 0x42015a96:0x3fcc64a0 0x42015aa1:0x3fcc64c0

ThomasESP32
Posts: 282
Joined: Thu Jul 14, 2022 5:15 am

Re: Esp32S3 : Problem with a Task that throws an interrupt WD timeout. Could you help me please ?

Postby ThomasESP32 » Fri Jun 06, 2025 12:49 pm

Now, I have tried to execute my method/process every then secondes only when the scheduler call my Task.
So,

sometimes this Task is executed but the process is not.
sometimes this Task is executed and the process is executed (Called by the Task every ten secondes).

Here everything seems to be OK but the think is that I don't understand why the time of 10 seconds between the execution of
the method helps to solve the problem. And I would like to understand why !
Could you please help me please ??

Best regards !

ThomasESP32
Posts: 282
Joined: Thu Jul 14, 2022 5:15 am

Re: Esp32S3 : Problem with a Task that throws an interrupt WD timeout. Could you help me please ?

Postby ThomasESP32 » Fri Jun 06, 2025 2:09 pm

Now, I have tried to run my method each time the Task is running (And not every 10s).
I do not get the interrupt WD timetout error anymore but I get the following error :

assert failed: 0x40382dcd

Backtrace: 0x4037563a:0x3fcc6290 0x40382339:0x3fcc62b0 0x40388bf9:0x3fcc62d0 0x40382dcd:0x3fcc6310 0x40382a0c:0x3fcc6340 0x40382af8:0x3fcc6380 0x40376669:0x3fcc63a0 0x40376739:0x3fcc63d0 0x4037680a:0x3fcc63f0 0x420f257a:0x3fcc6420 0x420f25d1:0x3fcc6460 0x42029d88:0x3fcc6480 0x42015a51:0x3fcc6500 0x42015b0e:0x3fcc6520 0x42015b19:0x3fcc6540

Do you know what assert failed is and how I can know which line causes this problem ?
Best regards,

Thomas TRUILHE

Sprite
Espressif staff
Espressif staff
Posts: 10650
Joined: Thu Nov 26, 2015 4:08 am

Re: Esp32S3 : Problem with a Task that throws an interrupt WD timeout. Could you help me please ?

Postby Sprite » Sat Jun 07, 2025 11:44 am

First of all, decode that backtrace. If you use 'idf.py monitor' (or a command in your IDE that does the same), esp-idf will automatically do that for you.

ThomasESP32
Posts: 282
Joined: Thu Jul 14, 2022 5:15 am

Re: Esp32S3 : Problem with a Task that throws an interrupt WD timeout. Could you help me please ?

Postby ThomasESP32 » Tue Jun 10, 2025 6:12 am

Ok thank you for your answer, but how can I do it ?
I have no idea about how to decode the tracveback !

Is there any command to enter to do that step ?
Could you please tell/explain me as much as you can concerning this feature please ?

Best regards,


Thomas TRUILHE


ThomasESP32
Posts: 282
Joined: Thu Jul 14, 2022 5:15 am

Re: Esp32S3 : Problem with a Task that throws an interrupt WD timeout. Could you help me please ?

Postby ThomasESP32 » Tue Jun 10, 2025 8:07 am

Here is the answer from the trace decoder :

0x4037563a: panic_abort at panic.c:463
0x40382339: esp_system_abort at esp_system_chip.c:92
0x40388bf9: __assert_func at assert.c:39
0x40382dcd: spinlock_acquire at spinlock.h:82 (discriminator 1)
(inlined by) xPortEnterCriticalTimeout at port.c:474 (discriminator 1)
0x40382a0c: vPortEnterCritical at portmacro.h:567
(inlined by) xQueueSemaphoreTake at queue.c:1727
0x40382af8: xQueueTakeMutexRecursive at queue.c:835
0x40376669: lock_acquire_generic at locks.c:146
0x40376739: _lock_acquire_recursive at locks.c:162
0x4037680a: __retarget_lock_acquire_recursive at locks.c:321
0x420f252a: _fwrite_r at fwrite.c:135 (discriminator 2)
0x420f2581: fwrite at fwrite.c:177 (discriminator 1)

It seems that the call of the fwrite function causes a problem (The write is done on the internal flash of the chip).
However, I don't understand why because there is a semaphore that I get before doing the write ...
Could you please have any idea ?

Sprite
Espressif staff
Espressif staff
Posts: 10650
Joined: Thu Nov 26, 2015 4:08 am

Re: Esp32S3 : Problem with a Task that throws an interrupt WD timeout. Could you help me please ?

Postby Sprite » Tue Jun 10, 2025 2:28 pm

Hard to say from context... any chance you can post the code?

ThomasESP32
Posts: 282
Joined: Thu Jul 14, 2022 5:15 am

Re: Esp32S3 : Problem with a Task that throws an interrupt WD timeout. Could you help me please ?

Postby ThomasESP32 » Tue Jun 10, 2025 2:36 pm

Thank you for your help,
using the backtrace and the command you gave I found that I had a problem with a semaphore
somewhere in my program.

Best regards,

Thomas TRUILHE

Who is online

Users browsing this forum: Bing [Bot], meta-externalagent and 3 guests