Random crashes in tx_pwctrl_init (backoff_en=<optimized out>) at phy_chip_v7_cal.c:2192

cpehonk
Posts: 17
Joined: Sat Nov 09, 2019 3:41 pm

Random crashes in tx_pwctrl_init (backoff_en=<optimized out>) at phy_chip_v7_cal.c:2192

Postby cpehonk » Fri Jan 03, 2020 6:23 am

Hi all,

from time to time I get a core dump with the following content:
espcoredump.py v0.3-dev
===============================================================
==================== ESP32 CORE DUMP START ====================

================== CURRENT THREAD REGISTERS ===================
pc 0x40122120 0x40122120 <tx_pwctrl_init+80>
lbeg 0x4012210c 1074929932
lend 0x40122114 1074929940
lcount 0x0 0
sar 0x7 7
ps 0x60320 394016
threadptr <unavailable>
br <unavailable>
scompare1 <unavailable>
acclo <unavailable>
acchi <unavailable>
m0 <unavailable>
m1 <unavailable>
m2 <unavailable>
m3 <unavailable>
expstate <unavailable>
f64r_lo <unavailable>
f64r_hi <unavailable>
f64s <unavailable>
fcr <unavailable>
fsr <unavailable>
a0 0x4011fdb9 1074920889
a1 0x3ffc8910 1073514768
a2 0x40120920 1074923808
a3 0x3ffb7e0c 1073446412
a4 0x100000 1048576
a5 0xcd30066 215154790
a6 0x8d2018 9248792
a7 0x3 3
a8 0x80122120 -2146295520
a9 0x3ffc88f0 1073514736
a10 0x4000446c 1073759340
a11 0x3a 58
a12 0x3e 62
a13 0x3e 62
a14 0x3ffb1990 1073420688
a15 0x3ffb7e1d 1073446429

==================== CURRENT THREAD STACK =====================
#0 tx_pwctrl_init (backoff_en=<optimized out>) at phy_chip_v7_cal.c:2192
#1 0x4011fdb9 in bb_init () at phy_chip_v7.c:2613
#2 0x40120293 in register_chipv7_phy (init_param=0x3f40b3da <phy_init_data> \"\\003\\003\\005\ \\006\\005\\003\\006\\005\\004\\006\\004\\005\", rf_cal_data=0x3ffcdfb8 <error: Cannot access memory at address 0x3ffcdfb8>, rf_cal_level=<optimized out>) at phy_chip_v7.c:3357
#3 0x401321a8 in esp_phy_rf_init (init_data=0x3f40b3da <phy_init_data>, mode=PHY_RF_CAL_FULL, calibration_data=0x3ffcdfb8, module=<optimized out>) at D:/VisualGDB/SysGCC/esp32/esp-idf/v4.0/components/esp_wifi/src/phy_init.c:154
#4 0x4013225c in esp_phy_rf_init (init_data=<optimized out>, mode=PHY_RF_CAL_FULL, calibration_data=0x3ffcdfb8, module=PHY_WIFI_MODULE) at D:/VisualGDB/SysGCC/esp32/esp-idf/v4.0/components/esp_wifi/src/phy_init.c:107
#5 0x40132404 in esp_phy_load_cal_and_init (module=PHY_WIFI_MODULE) at D:/VisualGDB/SysGCC/esp32/esp-idf/v4.0/components/esp_wifi/src/phy_init.c:652
#6 0x4010b367 in wifi_rf_phy_enable ()
#7 0x4010b458 in wifi_hw_start ()
#8 0x4010b74d in wifi_start_process ()
#9 0x401075ed in ieee80211_ioctl_process ()
#10 0x40088a02 in ppTask ()

======================== THREADS INFO =========================
Id Target Id Frame
* 1 <main task> tx_pwctrl_init (backoff_en=<optimized out>) at phy_chip_v7_cal.c:2192
2 process 1 0x4000bff0 in _xtos_set_intlevel ()
3 process 2 0x40142eca in esp_pm_impl_waiti () at D:/VisualGDB/SysGCC/esp32/esp-idf/v4.0/components/esp32/pm_esp32.c:484
4 process 3 0x40142eca in esp_pm_impl_waiti () at D:/VisualGDB/SysGCC/esp32/esp-idf/v4.0/components/esp32/pm_esp32.c:484
5 process 4 0x4008ddc5 in xQueueGenericReceive (xQueue=0x3ffba3f8, pvBuffer=0x3ffc6430, xTicksToWait=<optimized out>, xJustPeeking=0) at D:/VisualGDB/SysGCC/esp32/esp-idf/v4.0/components/freertos/include/freertos/portable.h:214
6 process 5 0x4000bff0 in _xtos_set_intlevel ()
7 process 6 0x4008ddc5 in xQueueGenericReceive (xQueue=0x3ffaea2c <r_ip_funcs+796>, pvBuffer=0x0, xTicksToWait=<optimized out>, xJustPeeking=0) at D:/VisualGDB/SysGCC/esp32/esp-idf/v4.0/components/freertos/include/freertos/portable.h:214
8 process 7 0x4008ddc5 in xQueueGenericReceive (xQueue=0x3ffc65b0, pvBuffer=0x3ffc7290, xTicksToWait=<optimized out>, xJustPeeking=0) at D:/VisualGDB/SysGCC/esp32/esp-idf/v4.0/components/freertos/include/freertos/portable.h:214
9 process 8 0x4008ddc5 in xQueueGenericReceive (xQueue=0x3ffaff54, pvBuffer=0x0, xTicksToWait=<optimized out>, xJustPeeking=0) at D:/VisualGDB/SysGCC/esp32/esp-idf/v4.0/components/freertos/include/freertos/portable.h:214
10 process 9 0x4008ddc5 in xQueueGenericReceive (xQueue=0x3ffafd98 <r_modules_funcs+44>, pvBuffer=0x0, xTicksToWait=<optimized out>, xJustPeeking=0) at D:/VisualGDB/SysGCC/esp32/esp-idf/v4.0/components/freertos/include/freertos/portable.h:214

======================= ALL MEMORY REGIONS ========================
Name Address Size Attrs
.rtc.text 0x400c0000 0x0 RW
.rtc.dummy 0x3ff80000 0x0 RW
.rtc.force_fast 0x3ff80000 0x0 RW
.rtc_noinit 0x50000000 0x0 RW
.rtc.force_slow 0x50000000 0x0 RW
.iram0.vectors 0x40080000 0x400 R XA
.iram0.text 0x40080400 0xfeac R XA
.dram0.data 0x3ffb0000 0x2e98 RW A
.noinit 0x3ffb2e98 0x0 RW
.flash.rodata 0x3f400020 0xcc88 RW A
.flash.text 0x400d0018 0x74774 R XA
.coredump.tasks.data 0x3ffc8bc8 0x164 RW
.coredump.tasks.data 0x3ffc8850 0x370 RW
.coredump.tasks.data 0x3ffbb830 0x164 RW
.coredump.tasks.data 0x3ffbb450 0x3d8 RW
.coredump.tasks.data 0x3ffbc708 0x164 RW
.coredump.tasks.data 0x3ffbc580 0x180 RW
.coredump.tasks.data 0x3ffbbf9c 0x164 RW
.coredump.tasks.data 0x3ffbbe10 0x184 RW
.coredump.tasks.data 0x3ffba4cc 0x164 RW
.coredump.tasks.data 0x3ffc6300 0x1c0 RW
.coredump.tasks.data 0x3ffbd168 0x164 RW
.coredump.tasks.data 0x3ffbcfc0 0x1a0 RW
.coredump.tasks.data 0x3ffafa84 0x164 RW
.coredump.tasks.data 0x3ffaf8e0 0x19c RW
.coredump.tasks.data 0x3ffc735c 0x164 RW
.coredump.tasks.data 0x3ffc7180 0x1d4 RW
.coredump.tasks.data 0x3ffba064 0x164 RW
.coredump.tasks.data 0x3ffb9ed0 0x18c RW
.coredump.tasks.data 0x3ffafdec 0x164 RW
.coredump.tasks.data 0x3ffb9ad0 0x188 RW
.coredump.rom.text 0x40000000 0x170 R X
.coredump.rom.text 0x40000180 0x8 R X
.coredump.rom.text 0x400001c0 0x8 R X
.coredump.rom.text 0x40000200 0x8 R X
.coredump.rom.text 0x40000240 0x8 R X
.coredump.rom.text 0x40000280 0xc R X
.coredump.rom.text 0x400002c0 0x4 R X
.coredump.rom.text 0x40000300 0x8 R X
.coredump.rom.text 0x40000340 0x18 R X
.coredump.rom.text 0x400003c0 0x8 R X
.coredump.rom.text 0x40000400 0x160 R X
.coredump.rom.text 0x40000560 0xd10c R X
.coredump.rom.text 0x40010000 0x54ef4 R X

===================== ESP32 CORE DUMP END =====================
===============================================================
Done!
I am using IDF 4.0 release version. My application uses WiFi, but no Bluetooth. This is the only crash dump I am facing. But it occurs randomly. I have no clue why.
Does anybody have some hints?
Power supply delivers up to 1,5A with low drop, additionally shielded by a 22µF capacitor.

Greetings
Chris

ESP_igrr
Posts: 2071
Joined: Tue Dec 01, 2015 8:37 am

Re: Random crashes in tx_pwctrl_init (backoff_en=<optimized out>) at phy_chip_v7_cal.c:2192

Postby ESP_igrr » Fri Jan 03, 2020 9:33 am

A crash during PHY calibration is usually an indication of a power supply issue. Please check if you have the brownout detector enabled in menuconfig, and check the waveform on the power supply line when the app starts up. If you see that there is a glitch in VDD when Wi-Fi starts up, you may need to check the board design. You may also contact sales@espressif.com for the PCB design review.

cpehonk
Posts: 17
Joined: Sat Nov 09, 2019 3:41 pm

Re: Random crashes in tx_pwctrl_init (backoff_en=<optimized out>) at phy_chip_v7_cal.c:2192

Postby cpehonk » Fri Jan 03, 2020 8:22 pm

Thanks, I already expected an answer like this. Will have a closer look into power supply measures.

Greetings,
Chris

Who is online

Users browsing this forum: No registered users and 102 guests