Guru Meditation Error - Device keeps rebooting

rogei001
Posts: 1
Joined: Thu Oct 12, 2017 1:50 pm

Guru Meditation Error - Device keeps rebooting

Postby rogei001 » Thu Oct 12, 2017 3:01 pm

Hi all,

I am trying to use i2c on ESP32. So I changed the i2c-example to use it for my sensor.

make flash works perfectly, but when I use make monitor the ESP32 keeps rebooting:

Code: Select all

ets Jun  8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0010,len:4
load:0x3fff0014,len:5544
load:0x40078000,len:0
ho 12 tail 0 room 4
load:0x40078000,len:12476
entry 0x40078f74
W (55) rtc_clk: Bogus XTAL frequency: 0 MHz
I (35) boot: ESP-IDF v3.0-dev-782-ge6afe28 2nd stage bootloader
I (36) boot: compile time 14:25:38
I (44) boot: Enabling RNG early entropy source...
I (44) boot: SPI Speed      : 40MHz
I (45) boot: SPI Mode       : DIO
I (49) boot: SPI Flash Size : 4MB
I (53) boot: Partition Table:
I (57) boot: ## Label            Usage          Type ST Offset   Length
I (64) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (72) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (79) boot:  2 factory          factory app      00 00 00010000 00100000
I (87) boot: End of partition table
I (91) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0x07b98 ( 31640) map
I (111) esp_image: segment 1: paddr=0x00017bc0 vaddr=0x3ffb0000 size=0x01ee0 (  7904) load
I (114) esp_image: segment 2: paddr=0x00019aa8 vaddr=0x40080000 size=0x00400 (  1024) load
0x40080000: _iram_start at /home/roge/esp/esp-idf/components/freertos/./xtensa_vectors.S:1675

I (118) esp_image: segment 3: paddr=0x00019eb0 vaddr=0x40080400 size=0x06160 ( 24928) load
I (137) esp_image: segment 4: paddr=0x00020018 vaddr=0x400d0018 size=0x11968 ( 72040) map
0x400d0018: _stext at ??:?

I (162) esp_image: segment 5: paddr=0x00031988 vaddr=0x40086560 size=0x023e4 (  9188) load
0x40086560: split_if_necessary at /home/roge/esp/esp-idf/components/heap/./multi_heap.c:258 (discriminator 1)

I (166) esp_image: segment 6: paddr=0x00033d74 vaddr=0x400c0000 size=0x00000 (     0) load
I (174) boot: Loaded app from partition at offset 0x10000
I (175) boot: Disabling RNG early entropy source...
I (180) cpu_start: Pro cpu up.
I (184) cpu_start: Starting app cpu, entry point is 0x40080fd8
0x40080fd8: call_start_cpu1 at /home/roge/esp/esp-idf/components/esp32/./cpu_start.c:219

I (167) cpu_start: App cpu up.
I (195) heap_init: Initializing. RAM available for dynamic allocation:
I (201) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (208) heap_init: At 3FFB26F0 len 0002D910 (182 KiB): DRAM
I (214) heap_init: At 3FFE0440 len 00003BC0 (14 KiB): D/IRAM
I (220) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (227) heap_init: At 40088944 len 000176BC (93 KiB): IRAM
I (233) cpu_start: Pro cpu start user code
I (251) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
Guru Meditation Error of type StoreProhibited occurred on core  0. Exception was unhandled.
Register dump:
PC      : 0x400df5cc  PS      : 0x00060530  A0      : 0x800e0068  A1      : 0x3ffb8f00  
0x400df5cc: i2c_cmd_link_append at /home/roge/esp/esp-idf/components/driver/./i2c.c:807

A2      : 0x3ffaffd0  A3      : 0x3ffb8f30  A4      : 0x00000000  A5      : 0x00000000  
A6      : 0x00000000  A7      : 0x00000001  A8      : 0x800df5cc  A9      : 0x3ffb8ee0  
A10     : 0x3ffaffd0  A11     : 0x400823d0  A12     : 0x00000000  A13     : 0x3ff67000  
0x400823d0: _malloc_r at /home/roge/esp/esp-idf/components/newlib/./syscalls.c:36

A14     : 0x00000000  A15     : 0x00000003  SAR     : 0x00000013  EXCCAUSE: 0x0000001d  
EXCVADDR: 0x00000010  LBEG    : 0x4000c2e0  LEND    : 0x4000c2f6  LCOUNT  : 0x00000000  

Backtrace: 0x400df5cc:0x3ffb8f00 0x400e0065:0x3ffb8f20 0x400d209f:0x3ffb8f60 0x400d20e3:0x3ffb8fa0 0x400d08f3:0x3ffb8fd0
0x400df5cc: i2c_cmd_link_append at /home/roge/esp/esp-idf/components/driver/./i2c.c:807

0x400e0065: i2c_master_start at /home/roge/esp/esp-idf/components/driver/./i2c.c:807

0x400d209f: i2c_sensor_init at /home/roge/workspace/Druck/main/./Druck_main.c:150

0x400d20e3: app_main at /home/roge/workspace/Druck/main/./Druck_main.c:194

0x400d08f3: main_task at /home/roge/esp/esp-idf/components/esp32/./cpu_start.c:403


Rebooting...
Are their any ideas, what I can do? I use the latest esp-idf and buildtool.


Thank You!

ESP_Sprite
Posts: 8921
Joined: Thu Nov 26, 2015 4:08 am

Re: Guru Meditation Error - Device keeps rebooting

Postby ESP_Sprite » Fri Oct 13, 2017 2:10 am

What devboard are you using?

WiFive
Posts: 3529
Joined: Tue Dec 01, 2015 7:35 am

Re: Guru Meditation Error - Device keeps rebooting

Postby WiFive » Fri Oct 13, 2017 3:08 am

rogei001 wrote:So I changed the i2c-example to use it for my sensor.
What did you change?

User avatar
kolban
Posts: 1683
Joined: Mon Nov 16, 2015 4:43 pm
Location: Texas, USA

Re: Guru Meditation Error - Device keeps rebooting

Postby kolban » Fri Oct 13, 2017 1:31 pm

Consider pasting your application as a whole to pastebin and making a comment in the code about what you changed vs what worked before the change. Then place a link in the forum. Make sure that the comment in the code is as visible as possible. Try and make it ridiculously easy for the community to look at your code and be able to try and assist.
Free book on ESP32 available here: https://leanpub.com/kolban-ESP32

klteng
Posts: 10
Joined: Sat Feb 25, 2017 4:15 pm

Re: Guru Meditation Error - Device keeps rebooting

Postby klteng » Mon Nov 06, 2017 2:42 am

I have the same issues as well. My case the code is pretty simple where ESP32 just boot up and connect to access point. What cause the Guru Meditation Error and why the device keep rebooting?

User avatar
kolban
Posts: 1683
Joined: Mon Nov 16, 2015 4:43 pm
Location: Texas, USA

Re: Guru Meditation Error - Device keeps rebooting

Postby kolban » Sun Jun 17, 2018 9:31 pm

When an exception is detected by an ESP-IDF application, the default action is to hope is was transitory and simply reboot. Within the configuration of your application (using make menuconfig) you can define what action you would like to happen when an exception is encountered. Choices include:

* Reboot
* Halt
* Enter a local/mini GDB session

Personally, I usually set it to halt during development. This then lets me examine the nature of the issue to attempt to resolve. When we halt, diagnostic information is presented that we can then use to find the point in the application where the exception was encountered which is a significant place to start looking for the underlying cause.
Free book on ESP32 available here: https://leanpub.com/kolban-ESP32

Who is online

Users browsing this forum: No registered users and 122 guests