Closed AnthonyGrondin closed 1 year ago
When setting set_debug(3) with 3 or higher, there's a crash during the handshake for the server examples.
set_debug(3)
This has only been tested on esp32c3 because Xtensa uses a no debug build.
esp32c3
This happens for both async_server and sync_server, here's the output log for async_server with level 3:
async_server
sync_server
Waiting for connection... Connected... Start tls connect INFO - 2 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls.c:3939 => handshake INFO - 2 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_msg.c:2124 => flush output INFO - 2 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_msg.c:2133 <= flush output INFO - 2 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:4228 server state: 0 INFO - 2 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_msg.c:2124 => flush output INFO - 2 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_msg.c:2133 <= flush output INFO - 2 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:4228 server state: 1 INFO - 2 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:914 => parse client hello INFO - 2 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_msg.c:1926 => fetch input INFO - 2 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_msg.c:2066 in_left: 0, nb_want: 5 INFO - 2 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_msg.c:2086 in_left: 0, nb_want: 5 INFO - 2 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls.c:3950 <= handshake INFO - 2 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls.c:3939 => handshake INFO - 2 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_msg.c:2124 => flush output INFO - 2 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_msg.c:2133 <= flush output INFO - 2 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:4228 server state: 1 INFO - 2 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:914 => parse client hello INFO - 2 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_msg.c:1926 => fetch input INFO - 2 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_msg.c:2066 in_left: 0, nb_want: 5 INFO - 2 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_msg.c:2086 in_left: 0, nb_want: 5 INFO - 2 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_msg.c:2089 ssl->f_recv(_timeout)() returned 5 (-0xfffffffb) 0xfffffffb - _rtc_fast_bss_end at ??:?? INFO - 2 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_msg.c:2111 <= fetch input INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:951 client hello, message type: 22 INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:959 client hello, message len.: 512 INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:962 client hello, protocol version: [3:1] INFO - 2 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_msg.c:1926 => fetch input INFO - 2 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_msg.c:2066 in_left: 5, nb_want: 517 INFO - 2 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_msg.c:2086 in_left: 5, nb_want: 517 INFO - 2 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_msg.c:2089 ssl->f_recv(_timeout)() returned 512 (-0xfffffe00) 0xfffffe00 - _rtc_fast_bss_end at ??:?? INFO - 2 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_msg.c:2111 <= fetch input INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1048 client hello v3, handshake type: 1 INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1056 client hello v3, handshake len.: 508 INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1158 dumping 'client hello, version' (2 bytes) INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1158 00: 03 03 .. INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1173 dumping 'client hello, random bytes' (32 bytes) INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1173 00: ec 8d 64 08 bb 38 2c 20 79 b9 db 56 38 1a 8d fb ..d..8, y..V8... INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1173 10: 62 09 18 8e 33 63 ea 55 8e c7 5f 9f de 8d cd cb b...3c.U.._..... INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1190 dumping 'client hello, session id' (32 bytes) INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1190 00: 46 d3 37 3f fa 32 5e 7e f7 b0 8b e1 19 33 c0 bb F.7?.2^~.....3.. INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1190 10: 1d 26 3e cc ff 62 4c a1 2f f6 55 f4 d2 5f 2c f7 .&>..bL./.U.._,. INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1264 dumping 'client hello, ciphersuitelist' (36 bytes) INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1264 00: 13 01 13 03 13 02 c0 2b c0 2f cc a9 cc a8 c0 2c .......+./....., INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1264 10: c0 30 c0 0a c0 09 c0 13 c0 14 00 9c 00 9d 00 2f .0............./ INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1264 20: 00 35 00 0a .5.. INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1286 dumping 'client hello, compression' (1 bytes) INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1286 00: 00 . INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1315 dumping 'client hello extensions' (399 bytes) INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1315 00: 00 17 00 00 ff 01 00 01 00 00 0a 00 0e 00 0c 00 ................ INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1315 10: 1d 00 17 00 18 00 19 01 00 01 01 00 0b 00 02 01 ................ INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1315 20: 00 00 23 00 00 00 10 00 0e 00 0c 02 68 32 08 68 ..#.........h2.h INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1315 30: 74 74 70 2f 31 2e 31 00 05 00 05 01 00 00 00 00 ttp/1.1......... INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1315 40: 00 22 00 0a 00 08 04 03 05 03 06 03 02 03 00 33 .".............3 INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1315 50: 00 6b 00 69 00 1d 00 20 da b6 7b 44 6c 93 c9 9f .k.i... ..{Dl... INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1315 60: 02 4f 58 27 cf ce c0 8e d4 5b 86 a4 35 5d f7 7e .OX'.....[..5].~ INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1315 70: 83 32 48 71 26 61 aa 6d 00 17 00 41 04 bb ee d9 .2Hq&a.m...A.... INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1315 80: 67 7b 73 78 01 b7 d9 a2 f0 a0 3e 67 36 ba 61 9f g{sx......>g6.a. INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1315 90: 87 70 23 66 89 01 13 11 98 0c 8f 0a eb a0 83 27 .p#f...........' INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1315 a0: c4 58 89 69 c8 7e 82 ff 0d ec 55 33 dd b7 33 5e .X.i.~....U3..3^ INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1315 b0: f1 cc d7 ce cb e7 05 05 c5 57 ac 47 9e 00 2b 00 .........W.G..+. INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1315 c0: 09 08 03 04 03 03 03 02 03 01 00 0d 00 18 00 16 ................ INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1315 d0: 04 03 05 03 06 03 08 04 08 05 08 06 04 01 05 01 ................ INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1315 e0: 06 01 02 03 02 01 00 2d 00 02 01 01 00 1c 00 02 .......-........ INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1315 f0: 40 01 00 15 00 99 00 00 00 00 00 00 00 00 00 00 @............... INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1315 100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1315 110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1315 120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1315 130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1315 140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1315 150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1315 160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1315 170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1315 180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ............... INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1441 found extended master secret extension INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1348 found renegotiation extension INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1375 found supported elliptic curves extension INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1384 found supported point formats extension INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1452 found session ticket extension INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1463 found alpn extension INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1485 unknown extension found: 5 (ignoring) INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1485 unknown extension found: 34 (ignoring) INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1485 unknown extension found: 51 (ignoring) INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1485 unknown extension found: 43 (ignoring) INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1361 found signature_algorithms extension INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1485 unknown extension found: 45 (ignoring) INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1485 unknown extension found: 28 (ignoring) INFO - 3 /mnt/c/projects/esp/esp-mbedtls/build_mbedtls/tmpsrc/mbedtls/library/ssl_tls12_server.c:1485 unknown extension found: 21 (ignoring) Exception 'Load access fault' mepc=0x40058e94, mtval=0x00001303 0x40058e94 - r_lld_init_evt_end_type_check_state_get at ??:?? 0x00001303 - at ??:?? TrapFrame PC=0x40058e94 RA/x1=0x4201562a SP/x2=0x3fc84be0 GP/x3=0x3fcca130 TP/x4=0x00000000 0x40058e94 - r_lld_init_evt_end_type_check_state_get at ??:?? 0x4201562a - core::ffi::c_str::CStr::from_ptr at /home/anthony/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ffi/c_str.rs:296 0x3fc84be0 - __global_pointer$ at ??:?? 0x3fcca130 - _heap_start at ??:?? 0x00000000 - hmac_md5_vector at /home/bjoern/esp/esp-idf/components/wpa_supplicant/src/crypto/md5.c:107 T0/x5=0x000000df T1/x6=0x3fcca160 T2/x7=0x3c0b8044 S0/FP/x8=0x3fcca7d0 S1/x9=0x00001303 0x000000df - hmac_md5_vector at /home/anthony/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/num/mod.rs:1167 0x3fcca160 - _heap_start at ??:?? 0x3c0b8044 - .Lanon.a637d6179f1be8d572ea13cf18a8161c.17 at ??:?? 0x3fcca7d0 - _heap_start at ??:?? 0x00001303 - at ??:?? A0/x10=0x00001303 A1/x11=0x3fccaa08 A2/x12=0x3fcca182 A3/x13=0x00000200 A4/x14=0x00000003 0x00001303 - at ??:?? 0x3fccaa08 - _heap_start at ??:?? 0x3fcca182 - _heap_start at ??:?? 0x00000200 - _ZN17compiler_builtins5float3div8__divdf317h5e229b8a6a8eb12dE at ??:?? 0x00000003 - hmac_md5_vector at /home/bjoern/esp/esp-idf/components/wpa_supplicant/src/crypto/md5.c:107 A5/x15=0x00001303 A6/x16=0x000000f0 A7/x17=0x00110000 S2/x18=0x00000002 S3/x19=0x3c0b7fc4 0x00001303 - at ??:?? 0x000000f0 - hmac_md5_vector at /home/anthony/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/bit.rs:790 0x00110000 - at ??:?? 0x00000002 - hmac_md5_vector at /home/bjoern/esp/esp-idf/components/wpa_supplicant/src/crypto/md5.c:107 0x3c0b7fc4 - .Lanon.a637d6179f1be8d572ea13cf18a8161c.0 at ??:?? S4/x20=0x00000020 S5/x21=0x3fcca382 S6/x22=0x3fcca381 S7/x23=0x00000000 S8/x24=0x00000001 0x00000020 - hmac_md5_vector at /home/bjoern/esp/esp-idf/components/wpa_supplicant/src/crypto/md5-internal.c:103 0x3fcca382 - _heap_start at ??:?? 0x3fcca381 - _heap_start at ??:?? 0x00000000 - hmac_md5_vector at /home/bjoern/esp/esp-idf/components/wpa_supplicant/src/crypto/md5.c:107 0x00000001 - hmac_md5_vector at /home/bjoern/esp/esp-idf/components/wpa_supplicant/src/crypto/md5.c:107 S9/x25=0x3c0b8028 S10/x26=0x3c0b7f28 S11/x27=0x3fcca160 T3/x28=0x00000000 T4/x29=0x00000000 0x3c0b8028 - .Lanon.a637d6179f1be8d572ea13cf18a8161c.11 at ??:?? 0x3c0b7f28 - .LJTI16_0 at ??:?? 0x3fcca160 - _heap_start at ??:?? 0x00000000 - hmac_md5_vector at /home/bjoern/esp/esp-idf/components/wpa_supplicant/src/crypto/md5.c:107 0x00000000 - hmac_md5_vector at /home/bjoern/esp/esp-idf/components/wpa_supplicant/src/crypto/md5.c:107 T5/x30=0x00000000 T6/x31=0x00000000 0x00000000 - hmac_md5_vector at /home/bjoern/esp/esp-idf/components/wpa_supplicant/src/crypto/md5.c:107 0x00000000 - hmac_md5_vector at /home/bjoern/esp/esp-idf/components/wpa_supplicant/src/crypto/md5.c:107 MSTATUS=0x00001881 0x00001881 - at ??:?? MCAUSE=0x00000005 0x00000005 - hmac_md5_vector at /home/bjoern/esp/esp-idf/components/wpa_supplicant/src/crypto/md5.c:107 MTVAL=0x00001303 0x00001303 - at ??:?? No backtrace available - make sure to force frame-pointers. (see https://crates.io/crates/esp-backtrace)
Ok this one is caused by an unexpected formatting symbol. Fixable by changing
esp-mbedtls\src\compat.rs:41
to if c.is_numeric() || c == '-' || c == 'l' || c == 'z' || c == '#' {
if c.is_numeric() || c == '-' || c == 'l' || c == 'z' || c == '#' {
We didn't expect # here
#
When setting
set_debug(3)
with 3 or higher, there's a crash during the handshake for the server examples.This has only been tested on
esp32c3
because Xtensa uses a no debug build.This happens for both
async_server
andsync_server
, here's the output log forasync_server
with level 3: