Guru Meditation Error when connecting to Eduroam (WPA2-Enterprise)
-
@seb yep
(sysname='LoPy', nodename='LoPy', release='1.17.3.b1', version='v1.8.6-849-83e2f7f on 2018-03-19', machine='LoPy with ESP32', lorawan='1.0.2') -
Any idea of how I can at least debug this? The crash dumps doesn't help much.
-
The process for decoding the dumps is quite cumbersome but here goes:
Requirements:
- The core dump as a text file. You want the text between (but NOT including)
================= CORE DUMP START =================and================= CORE DUMP END ================= - Setup the pycom version of the ESP-IDF from here: https://github.com/pycom/pycom-esp-idf
- A copy of the exact firmware elf file used on your device. If you are using pycom released firmware these can be found here: https://github.com/pycom/pycom-micropython-sigfox/releases
Steps:
- Open a terminal and navigate to
{ESP-IDF}/components/espcoredump/ - Run the following command:
$ ./espcoredump.py info_corefile -t b64 -c core_dump.txt firmware.elfThis will output the decoded core dump which should give clues as to where the error occurs.
- The core dump as a text file. You want the text between (but NOT including)
-
@seb said in Guru Meditation Error when connecting to Eduroam (WPA2-Enterprise):
Thanks, this is what I got, any idea of what could be the problem?
=============================================================== ==================== ESP32 CORE DUMP START ==================== ================== CURRENT THREAD REGISTERS =================== pc 0x400e2552 0x400e2552 <machine_idle+6> lbeg 0x0 0 lend 0x0 0 lcount 0x0 0 sar 0x0 0 ps 0x60a20 395808 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 0x400f1358 1074729816 a1 0x3ffd96b0 1073583792 a2 0x3f402adc 1061169884 a3 0x0 0 a4 0x0 0 a5 0x0 0 a6 0x0 0 a7 0x0 0 a8 0x0 0 a9 0x0 0 a10 0x0 0 a11 0x0 0 a12 0x0 0 a13 0x0 0 a14 0x0 0 a15 0x0 0 ==================== CURRENT THREAD STACK ===================== #0 machine_idle () at mods/modmachine.c:180 #1 0x400f1358 in mp_call_function_n_kw (fun_in=0x3f402adc <machine_idle_obj>, n_args=0, n_kw=1074729816, args=0x3ffd96b0) at ../py/runtime.c:574 Backtrace stopped: Cannot access memory at address 0x40000002 ======================== THREADS INFO ========================= Id Target Id Frame 15 process 14 0x4008b4d8 in xQueueGenericReceive (xQueue=0x3ffdb51c, pvBuffer=0x3ffe62c0, xTicksToWait=4294967295, xJustPeeking=0) at /Users/danicampora/Code/Espressif/IDF/esp-idf-20180112/components/freertos/./queue.c:1591 14 process 13 0x4008b4d8 in xQueueGenericReceive (xQueue=0x3ffbc1e8, pvBuffer=0x3ffbd7e0, xTicksToWait=4294967295, xJustPeeking=0) at /Users/danicampora/Code/Espressif/IDF/esp-idf-20180112/components/freertos/./queue.c:1591 13 process 12 0x4008b4d8 in xQueueGenericReceive (xQueue=0x3ffd289c, pvBuffer=0x0, xTicksToWait=4294967295, xJustPeeking=0) at /Users/danicampora/Code/Espressif/IDF/esp-idf-20180112/components/freertos/./queue.c:1591 12 process 11 0x4008b4d8 in xQueueGenericReceive (xQueue=0x3ffb46dc, pvBuffer=0x3ffb5150, xTicksToWait=4294967295, xJustPeeking=0) at /Users/danicampora/Code/Espressif/IDF/esp-idf-20180112/components/freertos/./queue.c:1591 11 process 10 0x4008b4d8 in xQueueGenericReceive (xQueue=0x3ffd9abc, pvBuffer=0x3ffdac60, xTicksToWait=4294967295, xJustPeeking=0) at /Users/danicampora/Code/Espressif/IDF/esp-idf-20180112/components/freertos/./queue.c:1591 10 process 9 0x40081522 in esp_crosscore_int_send_yield (core_id=0) at /Users/danicampora/Code/Espressif/IDF/esp-idf-20180112/components/esp32/./crosscore_int.c:112 9 process 8 0x4008b4d8 in xQueueGenericReceive (xQueue=0x3ffd3ddc, pvBuffer=0x0, xTicksToWait=4294967295, xJustPeeking=0) at /Users/danicampora/Code/Espressif/IDF/esp-idf-20180112/components/freertos/./queue.c:1591 8 process 7 0x40081522 in esp_crosscore_int_send_yield (core_id=1) at /Users/danicampora/Code/Espressif/IDF/esp-idf-20180112/components/esp32/./crosscore_int.c:112 7 process 6 0x4008b4d8 in xQueueGenericReceive (xQueue=0x3ffd45a0, pvBuffer=0x3ffd55e0, xTicksToWait=100, xJustPeeking=0) at /Users/danicampora/Code/Espressif/IDF/esp-idf-20180112/components/freertos/./queue.c:1591 6 process 5 0x4008c220 in vTaskDelay (xTicksToDelay=<optimized out>) at /Users/danicampora/Code/Espressif/IDF/esp-idf-20180112/components/freertos/./tasks.c:1491 5 process 4 /builds/idf/crosstool-NG/.build/src/gdb-7.10/gdb/inline-frame.c:171: internal-error: inline_frame_this_id: Assertion `!frame_id_eq (*this_id, outer_frame_id)' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. Quit this debugging session? (y or n) [answered Y; input not from terminal] /builds/idf/crosstool-NG/.build/src/gdb-7.10/gdb/inline-frame.c:171: internal-error: inline_frame_this_id: Assertion `!frame_id_eq (*this_id, outer_frame_id)' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. Create a core file of GDB? (y or n) [answered Y; input not from terminal] GDB exited (None / )! Problem occured! GDB exited, restart it. Reading symbols from LoPy-1.17.3.b1-application.elf...done. [New <main task>] [New process 1] [New process 2] [New process 3] [New process 4] [New process 5] [New process 6] [New process 7] [New process 8] [New process 9] [New process 10] [New process 11] [New process 12] [New process 13] [New process 14] [Current thread is 1 (<main task>)] ======================= ALL MEMORY REGIONS ======================== Name Address Size Attrs .rtc.text 0x400c0000 0x6c R XA .rtc.data 0x50000000 0x10 RW A .iram0.vectors 0x40080000 0x400 R XA .iram0.text 0x40080400 0x1b27c R XA .dram0.data 0x3ffc0000 0x4418 RW A .flash.rodata 0x3f400020 0x2bbc4 RW A .flash.text 0x400d0018 0xeb5f8 R XA .coredump.tasks 0x3ffc536c 0x16c RW .coredump.tasks 0x3ffd9670 0x444 RW .coredump.tasks 0x3ffdfaa0 0x16c RW .coredump.tasks 0x3ffdf510 0x588 RW .coredump.tasks 0x3ffd5fec 0x16c RW .coredump.tasks 0x3ffd5e70 0x174 RW .coredump.tasks 0x3ffd6560 0x16c RW .coredump.tasks 0x3ffd63e0 0x178 RW .coredump.tasks 0x3ffd71cc 0x16c RW .coredump.tasks 0x3ffd7070 0x154 RW .coredump.tasks 0x3ffd5958 0x16c RW .coredump.tasks 0x3ffdb3b0 0x164 RW .coredump.tasks 0x3ffd5678 0x16c RW .coredump.tasks 0x3ffd5490 0x1e0 RW .coredump.tasks 0x3ffb7458 0x16c RW .coredump.tasks 0x3ffb7240 0x210 RW .coredump.tasks 0x3ffd4238 0x16c RW .coredump.tasks 0x3ffd40b0 0x180 RW .coredump.tasks 0x3ffd3c6c 0x16c RW .coredump.tasks 0x3ffd3ac0 0x1a4 RW .coredump.tasks 0x3ffd57e8 0x16c RW .coredump.tasks 0x3ffdab60 0x1b0 RW .coredump.tasks 0x3ffb51f0 0x16c RW .coredump.tasks 0x3ffb5050 0x198 RW .coredump.tasks 0x3ffd34f8 0x16c RW .coredump.tasks 0x3ffd3370 0x180 RW .coredump.tasks 0x3ffbd884 0x16c RW .coredump.tasks 0x3ffbd6d0 0x1ac RW .coredump.tasks 0x3ffe4a10 0x16c RW .coredump.tasks 0x3ffe6160 0x21c RW ===================== ESP32 CORE DUMP END ===================== =============================================================== Done! -
I did one without the machine idle
espcoredump.py v0.1-dev =============================================================== ==================== ESP32 CORE DUMP START ==================== ================== CURRENT THREAD REGISTERS =================== pc 0x4018674d 0x4018674d <bignum_set_unsigned_bin+49> lbeg 0x40184821 1075333153 lend 0x40184827 1075333159 lcount 0x0 0 sar 0x18 24 ps 0x60720 395040 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 0x4018160e 1075320334 a1 0x3ffe1990 1073617296 a2 0x3ffdffd0 1073610704 a3 0x1 1 a4 0x3ffdf448 1073607752 a5 0x1 1 a6 0x3ffe1a64 1073617508 a7 0x1 1 a8 0x80186749 -2145884343 a9 0x3ffe3850 1073625168 a10 0x0 0 a11 0xff 255 a12 0x3ffdffd0 1073610704 a13 0x0 0 a14 0x2 2 a15 0x5 5 ==================== CURRENT THREAD STACK ===================== #0 0x4018674d in mp_read_unsigned_bin (c=1073607751, b=0x2 <error: Cannot access memory at address 0x2>, a=0x3ffdffd0) at /Users/danicampora/Code/Espressif/IDF/esp-idf-20180112/components/wpa_supplicant/src/crypto/libtommath.h:990 #1 bignum_set_unsigned_bin (n=0x3ffdffd0, buf=0x1 <error: Cannot access memory at address 0x1>, len=1073607752) at /Users/danicampora/Code/Espressif/IDF/esp-idf-20180112/components/wpa_supplicant/src/crypto/bignum.c:114 #2 0x4018160e in crypto_mod_exp (base=<optimized out>, base_len=<optimized out>, power=0x4018160e <crypto_mod_exp+74> \"\\226j\\376\\315\\005\\275\\004\\255\\003e\\020\\005\\226\\252\\375\\310\\021\\255\\a\\270\\001\\245\\017\\005\\226\\352\\374\\335\\006\\315\\a\\275\\003\\255\\002e\\036\\005\\226\ \\374\\310\321\255\\006\\270\\301\\345\\002\\005M\ \\255\\002\\345\\376\\004\\255\\003\\245\\376\\004\\255\\ae\\376\\004\\255\\006%\\376\\004-\\004\", <incomplete sequence \\360>, power_len=1073617296, modulus=0x3ffe1a64 \"3\", modulus_len=1061285312, result=0x2 <error: Cannot access memory at address 0x2>, result_len=0x10) at /Users/danicampora/Code/Espressif/IDF/esp-idf-20180112/components/wpa_supplicant/src/crypto/crypto_internal-modexp.c:40 #3 0x40144165 in x509_certificate_check_signature () #4 0x40144362 in x509_certificate_chain_validate () #5 0x40140f61 in ?? () #6 0x40141374 in tlsv1_client_process_handshake () #7 0x40140594 in tlsv1_client_handshake () #8 0x4013fff1 in tls_connection_handshake2 () #9 0x40140054 in tls_connection_handshake () #10 0x4013e5bc in eap_peer_tls_process_helper () #11 0x4013dcea in ?? () #12 0x4013c14c in eap_sm_process_request () #13 0x4013c4dc in wpa2Task () ======================== THREADS INFO ========================= Id Target Id Frame 15 process 14 0x4008b4d8 in xQueueGenericReceive (xQueue=0x3ffdb51c, pvBuffer=0x3ffe62c0, xTicksToWait=4294967295, xJustPeeking=0) at /Users/danicampora/Code/Espressif/IDF/esp-idf-20180112/components/freertos/./queue.c:1591 14 process 13 0x4008b4d8 in xQueueGenericReceive (xQueue=0x3ffbc1e8, pvBuffer=0x3ffbd7e0, xTicksToWait=4294967295, xJustPeeking=0) at /Users/danicampora/Code/Espressif/IDF/esp-idf-20180112/components/freertos/./queue.c:1591 13 process 12 0x4008b4d8 in xQueueGenericReceive (xQueue=0x3ffd289c, pvBuffer=0x0, xTicksToWait=4294967295, xJustPeeking=0) at /Users/danicampora/Code/Espressif/IDF/esp-idf-20180112/components/freertos/./queue.c:1591 12 process 11 0x4008b4d8 in xQueueGenericReceive (xQueue=0x3ffb46dc, pvBuffer=0x3ffb5150, xTicksToWait=4294967295, xJustPeeking=0) at /Users/danicampora/Code/Espressif/IDF/esp-idf-20180112/components/freertos/./queue.c:1591 11 process 10 0x4008b4d8 in xQueueGenericReceive (xQueue=0x3ffd3810, pvBuffer=0x0, xTicksToWait=4294967295, xJustPeeking=0) at /Users/danicampora/Code/Espressif/IDF/esp-idf-20180112/components/freertos/./queue.c:1591 10 process 9 0x4008b4d8 in xQueueGenericReceive (xQueue=0x3ffd9abc, pvBuffer=0x3ffdac60, xTicksToWait=4294967295, xJustPeeking=0) at /Users/danicampora/Code/Espressif/IDF/esp-idf-20180112/components/freertos/./queue.c:1591 9 process 8 0x4008b4d8 in xQueueGenericReceive (xQueue=0x3ffd3ddc, pvBuffer=0x0, xTicksToWait=4294967295, xJustPeeking=0) at /Users/danicampora/Code/Espressif/IDF/esp-idf-20180112/components/freertos/./queue.c:1591 8 process 7 0x40081522 in esp_crosscore_int_send_yield (core_id=1) at /Users/danicampora/Code/Espressif/IDF/esp-idf-20180112/components/esp32/./crosscore_int.c:112 7 process 6 0x4008b4d8 in xQueueGenericReceive (xQueue=0x3ffd45a0, pvBuffer=0x3ffd55e0, xTicksToWait=100, xJustPeeking=0) at /Users/danicampora/Code/Espressif/IDF/esp-idf-20180112/components/freertos/./queue.c:1591 6 process 5 0x4008c220 in vTaskDelay (xTicksToDelay=<optimized out>) at /Users/danicampora/Code/Espressif/IDF/esp-idf-20180112/components/freertos/./tasks.c:1491 5 process 4 0x4008c220 in vTaskDelay (xTicksToDelay=<optimized out>) at /Users/danicampora/Code/Espressif/IDF/esp-idf-20180112/components/freertos/./tasks.c:1491 4 process 3 /builds/idf/crosstool-NG/.build/src/gdb-7.10/gdb/inline-frame.c:171: internal-error: inline_frame_this_id: Assertion `!frame_id_eq (*this_id, outer_frame_id)' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. Quit this debugging session? (y or n) [answered Y; input not from terminal] /builds/idf/crosstool-NG/.build/src/gdb-7.10/gdb/inline-frame.c:171: internal-error: inline_frame_this_id: Assertion `!frame_id_eq (*this_id, outer_frame_id)' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. Create a core file of GDB? (y or n) [answered Y; input not from terminal] GDB exited (None / )! Problem occured! GDB exited, restart it. Reading symbols from LoPy-1.17.3.b1-application.elf...done. [New <main task>] [New process 1] [New process 2] [New process 3] [New process 4] [New process 5] [New process 6] [New process 7] [New process 8] [New process 9] [New process 10] [New process 11] [New process 12] [New process 13] [New process 14] [Current thread is 1 (<main task>)] ======================= ALL MEMORY REGIONS ======================== Name Address Size Attrs .rtc.text 0x400c0000 0x6c R XA .rtc.data 0x50000000 0x10 RW A .iram0.vectors 0x40080000 0x400 R XA .iram0.text 0x40080400 0x1b27c R XA .dram0.data 0x3ffc0000 0x4418 RW A .flash.rodata 0x3f400020 0x2bbc4 RW A .flash.text 0x400d0018 0xeb5f8 R XA .coredump.tasks 0x3ffde1d8 0x16c RW .coredump.tasks 0x3ffe18d0 0x588 RW .coredump.tasks 0x3ffd6560 0x16c RW .coredump.tasks 0x3ffd63e0 0x178 RW .coredump.tasks 0x3ffd5fec 0x16c RW .coredump.tasks 0x3ffd5e70 0x174 RW .coredump.tasks 0x3ffd71cc 0x16c RW .coredump.tasks 0x3ffd7070 0x154 RW .coredump.tasks 0x3ffc536c 0x16c RW .coredump.tasks 0x3ffd9760 0x354 RW .coredump.tasks 0x3ffd5958 0x16c RW .coredump.tasks 0x3ffdb3b0 0x164 RW .coredump.tasks 0x3ffd5678 0x16c RW .coredump.tasks 0x3ffd5490 0x1e0 RW .coredump.tasks 0x3ffb7458 0x16c RW .coredump.tasks 0x3ffb7240 0x210 RW .coredump.tasks 0x3ffd4238 0x16c RW .coredump.tasks 0x3ffd40b0 0x180 RW .coredump.tasks 0x3ffd57e8 0x16c RW .coredump.tasks 0x3ffdab60 0x1b0 RW .coredump.tasks 0x3ffd3c6c 0x16c RW .coredump.tasks 0x3ffd3ae0 0x184 RW .coredump.tasks 0x3ffb51f0 0x16c RW .coredump.tasks 0x3ffb5050 0x198 RW .coredump.tasks 0x3ffd34f8 0x16c RW .coredump.tasks 0x3ffd3370 0x180 RW .coredump.tasks 0x3ffbd884 0x16c RW .coredump.tasks 0x3ffbd6d0 0x1ac RW .coredump.tasks 0x3ffe4a10 0x16c RW .coredump.tasks 0x3ffe6160 0x21c RW ===================== ESP32 CORE DUMP END ===================== =============================================================== Done! -
Thanks for posting those decoded dumps, I have passed this onto the firmware team, they will try look into but they will need to setup a WPA2-ENT network to test it.
-
I just tested with a LoPy with an older firmware
>>> os.uname() (sysname='LoPy', nodename='LoPy', release='1.7.7.b1', version='v1.8.6-715-g5fa16c2c on 2017-07-20', machine='LoPy with ESP32', lorawan='1.0.0')and it worked...
>>> wlan.isconnected() TrueI guess this is really a firmware problem.
-
Looks like it, the firmware team have been made aware of this issue and will look into it
-
Hi,
I got the same issue both with LoPy4 and with FiPy... Any news? ThanksStefano
-
First lines of my dump.. after I removed the
========= CORE DUMP lineslooks like
EDkAABAAAABsAQAA
WNj7P5DW+z9Q2Ps/
sNb7P/DX+z/48WtoPFH8PzxR/D9Y2Ps/NFH8PwIAAADowfs/6MH7P1jY+z8AAAAAPython DIES with MemoryError as task_num is unpacked as a very huge number in espcoredump.py:579 as
tot_len,task_num,tcbsz = struct.unpack_from(self.ESP32_COREDUMP_HDR_FMT, data)
Which yields
(1097548869, 1094795841, 1933721921)
Probably a simple mistake with core dump file format
-
@seb latest release (18.1.2.r1) is a set of BIN files, no ELF. how can i use these with espcoredump.py ?
-
Dear @asergio, @Stefano-Tondini and @gman,
back in the time you have been recognizing this issue, it looks like connecting to WPA2-Enterprise was not supported by the ESP-IDF at all.
Since October 2018, appropriate support has been merged [1,2] and we can confirm we are seeing these bits within the current Pycom fork [3].
So, we would encourage you to try again with one of the more recent releases of the Pycom firmware.
With kind regards,
Andreas.[1] https://github.com/espressif/esp-idf/issues/2181
[2] https://github.com/espressif/esp-idf/pull/2354
[3] https://github.com/pycom/pycom-esp-idf
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login