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
frequent Interrupt WDT timeout on core 0. BLE+BT (IDFGH-401) #2542
Comments
@Lolektahor , The error seems not happen in official esp-idf. |
wifi firmware version: 75aab56 tried fetching the sdk again. same versions, same error |
I think that the MQTT causes the error. |
Why did you close it? there was no answer yet... |
Sorry, mishandled this issue. |
@Lolektahor , we have found something about this problem. We're testing it. Any update, I will notice you. Thanks. |
@TianHao-Espressif Any updates? Thanks. |
still present on release/v4.0 while working with BLE GATT and Wifi is on. |
hi @TianHao-Espressif. These are all the crash logs we experienced: It always happens at lld_pdu.c at line 527 log 1: log 2:
log 3:
we are using BLE_Mesh + Wifi on I attach sdkconfig.txt After setting |
another one:
|
@enricop , Could configure both |
hi @TianHao-Espressif , so should we disable |
hi @TianHao-Espressif . After running extensive tests we are NOT able to run in dualcore mode, and we have the same issue. The error below happens frequently while working over BLE and Wifi is on. (UNICORE mode) it was reproduced with latest
Any suggestion? (we can't pin BLE to core 1 because dualcore schedule requires too much memory for our scenario) Thanks for your support |
@enricop , it need time to debug. Could you please use dual-core as the temporary solution? And could you provide the test code which can reproduce it? Thanks. |
@TianHao-Espressif thanks for your support. We have very low free memory in our project and enabling dual-core takes more memory, so if we do this we are stuck into another problem. For now we cannot provide test code to reproduce the problem, we are using a custom protocol over BLE GATT to transfer/receive data. Note that we have BLE_MESH and Wifi stacks running in the meanwhile. |
hi @TianHao-Espressif we got around the low memory problem, tried to switch to dual-core mode, but had some wifi sta association issues. Notice that on October 28th we were running in dual-core mode and the interrupt watchdog timeout expired again. Unfortunately we didn't save the logs. |
Hi @TianHao-Espressif,
In this case, the Wi-Fi adapter is also up (running in soft-AP mode with no clients connected). |
Hi @mcilloni , could you please describe the issue more detailed? Thank you. |
one more log:
|
the crash is caused by an attempt from the mobile phone to connect two times to the GATT:
|
now we've seen that it happens sporadically at any time while no existing connection is present |
@enricop , did you do BLE scan and advertising simultaneously ? If so , I suggest you disable "BTDM_CONTROLLER_FULL_SCAN_SUPPORTED" in menuconfig. Then take a look if the problem still happen? Thanks. |
hi @TianHao-Espressif
I suppose it never does active scan. Only passive? And it use advertising for the GATT Server. Our sdkconfig.txt Which options should we use? In particular:
Thank you |
Hi @enricop, I'm using ESP32-DevKitC (embedded with ESP32-WROVER-B) to reproduce but I failes. On this occasion, it works without assert. So I suggest you could follow the advice by @TianHao-Espressif to disable Thank you. |
hi @AbnerFederer , |
We are using the wrover-b as : Wifi Station + BLE GATT Server. |
Hi @enricop, I test your application case today and it works correctly (wrover-b as Wifi + BLE GATT Server). Xiaomi runs GATT Client to read and write char while ESP32 maintains connecting with iphone which acts as AP. Maybe my test demo is too easy to reproduce the issue. If you can send us your demo for pressure test, that would be better. Thank you. |
with |
Hi @enricop OK, that's great. We will continue to debug for this and inform you if any improvement. If the issue happens again, just let us know. Thank you. |
from today we re-enabled |
Hi all, after just a quick test with latest full log here: wtd_timeout.txt |
hi all, |
Hello, This issue has been resolved at commit b04e643 in the last release/v4.0. You can try to update to solve this problem. Let me know if you have any questions. Thank you. |
Thanks for reporting and updates. Will close the ticket now, feel free to reopen if the issue still happens. Thanks. |
sdkconfig.zip
Environment
git rev-parse --short HEAD
to get the commit id.): 221ecedProblem Description
frequent Interrupt WDT timeout on core 0 .
I'm Using BT + Wifi together. my device is constantly scanning for advertisers, and can connect to one peripheral while scanning. I also use MQTT library.
I constantly get Interrupt wdt timeout on CPU0. it usually takes between 1-20 min. I tried tracing the code, but couldn't find the file specified: lld_pdu.c .
my code is based on the multilink example. I couldn't see any code line running before the error occurs, nor any BLE, Wifi or MQTT event. I tried debugging HCI, GATTC, MQTT and Wifi and couldn't see any repetition of events while the error occurs.
will be happy to get a direction for debugging this problem.
Expected Behavior
run for days
Actual Behavior
run for a few minutes
Steps to repropduce
can't supply a reproduce sequence, as the error is random
Code to reproduce this issue
can't point to the exact part of code that produces the error
Debug Logs
ASSERT_PARAM(0 10), in lld_pdu.c at line 519
Guru Meditation Error: Core 0 panic'ed (Interrupt wdt timeout on CPU0)
Core 0 register dump:
PC : 0x401953d6 PS : 0x00060334 A0 : 0x800d3f99 A1 : 0x3ffbbbc0
0x401953d6: esp_pm_impl_waiti at C:/msys32/home/lolekt/esp/esp-idf/components/esp32/pm_esp32.c:474
A2 : 0x00000000 A3 : 0x00000001 A4 : 0x8009202e A5 : 0x3ffcd8e0
A6 : 0x00000003 A7 : 0x00060023 A8 : 0x800d311e A9 : 0x3ffbbb90
A10 : 0x00000000 A11 : 0x00000001 A12 : 0x8009202e A13 : 0x3ffd5d10
A14 : 0x00000003 A15 : 0x00060023 SAR : 0x00000000 EXCCAUSE: 0x00000005
EXCVADDR: 0x00000000 LBEG : 0x00000000 LEND : 0x00000000 LCOUNT : 0x00000000
Backtrace: 0x401953d6:0x3ffbbbc0 0x400d3f96:0x3ffbbbe0 0x40091479:0x3ffbbc00 0x40091e25:0x3ffbbc20
0x401953d6: esp_pm_impl_waiti at C:/msys32/home/lolekt/esp/esp-idf/components/esp32/pm_esp32.c:474
0x400d3f96: esp_vApplicationIdleHook at C:/msys32/home/lolekt/esp/esp-idf/components/esp32/freertos_hooks.c:86
0x40091479: prvIdleTask at C:/msys32/home/lolekt/esp/esp-idf/components/freertos/tasks.c:3564
0x40091e25: vPortTaskWrapper at C:/msys32/home/lolekt/esp/esp-idf/components/freertos/port.c:403
Core 1 register dump:
PC : 0x400848ad PS : 0x00060034 A0 : 0x80087b26 A1 : 0x3ffbe750
0x400848ad: r_assert_param at ??:?
A2 : 0x00000001 A3 : 0x00000000 A4 : 0x00000000 A5 : 0x60008054
A6 : 0x3ffbdbf8 A7 : 0x60008050 A8 : 0x800848ad A9 : 0x3ffbe730
A10 : 0x00000004 A11 : 0x00000000 A12 : 0x6000804c A13 : 0xffffffff
A14 : 0x00000000 A15 : 0xfffffffc SAR : 0x00000004 EXCCAUSE: 0x00000005
EXCVADDR: 0x00000000 LBEG : 0x400847e5 LEND : 0x400847ec LCOUNT : 0x00000000
0x400847e5: r_assert_param at ??:?
0x400847ec: r_assert_param at ??:?
Backtrace: 0x400848ad:0x3ffbe750 0x40087b23:0x3ffbe770 0x400865cd:0x3ffbe7a0 0x400871ba:0x3ffbe7c0 0x400880f6:0x3ffbe7e0 0x40089
227:0x3ffbe800 0x40082645:0x3ffbe820 0x401953d3:0x00000000
0x400848ad: r_assert_param at ??:?
0x40087b23: r_lld_pdu_rx_handler at ??:?
0x400865cd: r_lld_evt_end at ??:?
0x400871ba: r_lld_evt_end_isr at ??:?
0x400880f6: r_rwble_isr at ??:?
0x40089227: r_rwbtdm_isr_wrapper at intc.c:?
0x40082645: _xt_lowint1 at C:/msys32/home/lolekt/esp/esp-idf/components/freertos/xtensa_vectors.S:1105
0x401953d3: esp_pm_impl_waiti at C:/msys32/home/lolekt/esp/esp-idf/components/esp32/pm_esp32.c:474
Other items if possible
build
folder (note this may contain all the code details and symbols of your project.)The text was updated successfully, but these errors were encountered: