Issue with multiple HTTPS(TLS) sockets to the same server

Board: nrf7002

nrfConnect SDK 2.4.0 or 2.4.99

IDE: VS code

I’m working on implementing SignalR communication protocol, It uses SSE(Server-Sent Events) communication, so once connected, one socket needs to remain open to receive new data, and we also need to send other messages over an additional socket.

I’m getting a fault when using a second socket, I set it up in the same way as I made the first one. I am modifying the solution found https://devzone.nordicsemi.com/f/nordic-q-a/100826/nrf7002dk-and-tls-sockets--7100-error/433368 to do this. It always faults weather the first socket gets used or not.

Here is the code to create the sockets (changes nslookup to google from my domain):

int sock;
int sock2;
int err;
struct sockaddr_in *sa;
struct addrinfo *rp;

struct sockaddr_in *sa2;
struct addrinfo *rp2;

nslookup("google.com", &rp);
print_addrinfo_results(&rp);

nslookup("google.com", &rp2);
print_addrinfo_results(&rp2);

printk("Connecting to HTTP Server:\n");

// Load in the TLS cert for HTTPS
tls_credential_add(CA_CERTIFICATE_TAG, TLS_CREDENTIAL_CA_CERTIFICATE,
ca_certificate, sizeof(ca_certificate));


// Create Socket
sock = socket(rp->ai_family, rp->ai_socktype, IPPROTO_TLS_1_2); // IPPROTO_TCP //IPPROTO_TLS_1_2
if (sock < 0)
{
printk("Error creating socket\n");
return (-1);
}
// TLS settings
sec_tag_t sec_tag_opt[] = {
CA_CERTIFICATE_TAG,
};
err = setsockopt(sock, SOL_TLS, TLS_SEC_TAG_LIST,
sec_tag_opt, sizeof(sec_tag_opt));
if (err < 0)
{
LOG_ERR("Failed to set TLS security TAG list. Err: %d", errno);
(void)close(sock);
return -errno;
}

err = setsockopt(sock, SOL_TLS, TLS_HOSTNAME,
HTTP_HOST, sizeof(HTTP_HOST));
if (err < 0)
{
LOG_ERR("Failed to set TLS_HOSTNAME option. Err: %d", errno);
(void)close(sock);
return -errno;
}

// Iterate through until we get a successful connection
for (; rp != NULL; rp = rp->ai_next)
{
if (rp->ai_addr->sa_family == AF_INET)
{
// IPv4 Address
sa = (struct sockaddr_in *)rp->ai_addr;
sa->sin_port = htons(443);// this should be 443 (HTTPS port number)
connect(sock, (struct sockaddr *)sa, sizeof(struct sockaddr_in));
if (sock > 0)
break;
}
}

// Create Socket 2
sock2 = socket(rp2->ai_family, rp2->ai_socktype, IPPROTO_TLS_1_2); // IPPROTO_TCP //IPPROTO_TLS_1_2
if (sock2 < 0)
{
printk("Error creating socket\n");
return (-1);
}
sec_tag_t sec_tag_opt2[] = {
CA_CERTIFICATE_TAG,
};
err = setsockopt(sock2, SOL_TLS, TLS_SEC_TAG_LIST,
sec_tag_opt2, sizeof(sec_tag_opt2));
if (err < 0)
{
LOG_ERR("Failed to set TLS security TAG list. Err: %d", errno);
(void)close(sock2);
return -errno;
}

err = setsockopt(sock2, SOL_TLS, TLS_HOSTNAME,
HTTP_HOST, sizeof(HTTP_HOST));
if (err < 0)
{
LOG_ERR("Failed to set TLS_HOSTNAME option. Err: %d", errno);
(void)close(sock2);
return -errno;
}

// Iterate through until we get a successful connection
for (; rp2 != NULL; rp2 = rp2->ai_next)
{
if (rp2->ai_addr->sa_family == AF_INET)
{
// IPv4 Address
sa2 = (struct sockaddr_in *)rp2->ai_addr;
sa2->sin_port = htons(443);// this should be 443 (HTTPS port number)
connect(sock2, (struct sockaddr *)sa2, sizeof(struct sockaddr_in));
if (sock2 > 0)
break;
}
}

Here is the error log:

<err> os: ***** MPU FAULT *****

[00:00:35.620,819] <err> os: Data Access Violation

[00:00:35.620,819] <err> os: MMFAR Address: 0x0

[00:00:35.620,819] <err> os: r0/a1: 0x00000000 r1/a2: 0x00000000 r2/a3: 0x00000000

[00:00:35.620,849] <err> os: r3/a4: 0x00000000 r12/ip: 0x00000413 r14/lr: 0x00004140

[00:00:35.620,849] <err> os: xpsr: 0x29000000

[00:00:35.620,880] <err> os: Faulting instruction address (r15/pc): 0x0004e620

[00:00:35.620,910] <err> os: >>> ZEPHYR FATAL ERROR 19: Unknown error on CPU 0

[00:00:35.620,941] <err> os: Current thread: 0x200049c8 (main)

......

[00:00:37.542,816] <err> fatal_error: Resetting system

Thanks for your help

Parents
  • From what you have shared I'm not able to see a difference in the calls referring to sock and sock2, are there anything else in your application with calls to sock and sock2 that might be different, because I don't see why one of two identical sock calls should crash. Just to make sure, you have changed the crypto backend as Torbjørn suggested in this ticket, as that was one of the steps needed for us to be able to connect to the Google domain.  RE: nRF7002DK and TLS Sockets -7100 error  

    Best regards,

    Simon

  • Simon, Yes I have changed the crypto backend, but that was only the log for when it failed on sock2, here is the log from the success on sock

    Connecting to HTTP Server:
    [00:01:18.133,239] <dbg> net_sock_tls: tls_alloc: (main): Allocated TLS context, 0x20001c08
    [00:01:18.133,483] <dbg> net_sock: zsock_socket_internal: (main): socket: ctx=0x200062a0, fd=8
    [00:01:18.181,304] <dbg> mbedtls: zephyr_mbedtls_debug: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2886: 0x20001ca8: 0040: c0 28 00 6b c0 0a c0 14 00 39 c0 af c0 a3 c0 2b .(.k.....9.....+
    --- 3 messages dropped ---
    [00:01:18.183,074] <dbg> mbedtls: zephyr_mbedtls_debug: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2886: 0x20001ca8: 00b0: 72 65 77 65 62 73 69 74 65 73 2e 6e 65 74 00 0a rewebsites.net..
    [00:01:18.323,760] <dbg> mbedtls: zephyr_mbedtls_debug: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:3843: 0x20001ca8: 0ff0: 47 54 53 20 43 41 20 31 43 33 30 82 01 22 30 0d GTS CA 1C30.."0.
    [00:01:18.323,883] <inf> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:3088: 0x20001ca8: handshake message: msglen = 6684, type = 11, hslen = 6684
    [00:01:18.346,343] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:5031: 0x20001ca8: => send alert message
    [00:01:18.346,435] <inf> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:5032: 0x20001ca8: send alert level=2 message=42
    [00:01:18.346,527] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2793: 0x20001ca8: => write record
    [00:01:18.346,618] <inf> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2881: 0x20001ca8: output record: msgtype = 21, version = [3:3], msglen = 2
    [00:01:18.346,710] <dbg> mbedtls: zephyr_mbedtls_debug: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2886: 0x20001ca8: dumping 'output record sent to network' (7 bytes)
    [00:01:18.346,923] <dbg> mbedtls: zephyr_mbedtls_debug: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2886: 0x20001ca8: 0000: 15 03 03 00 02 02 2a ......*
    [00:01:18.347,015] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2177: 0x20001ca8: => flush output
    [00:01:18.347,106] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2194: 0x20001ca8: message length: 7, out_left: 7
    [00:01:18.347,839] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2201: 0x20001ca8: ssl->f_send() returned 7 (-0xfffffff9)
    [00:01:18.347,900] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2229: 0x20001ca8: <= flush output
    [00:01:18.347,991] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2937: 0x20001ca8: <= write record
    [00:01:18.348,052] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:5044: 0x20001ca8: <= send alert message
    [00:01:18.348,144] <inf> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_tls.c:7245: 0x20001ca8: ! Certificate verification flags 00000004
    [00:01:18.350,128] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_tls.c:3801: 0x20001ca8: <= handshake
    [00:01:18.350,158] <err> net_sock_tls: TLS handshake error: -2700
    [00:01:18.350,830] <dbg> net_sock_tls: tls_alloc: (main): Allocated TLS context, 0x20002110
    [00:01:18.351,074] <dbg> net_sock: zsock_socket_internal: (main): socket: ctx=0x20006340, fd=10
    [00:01:18.357,482] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x2005787c, st=0, user_data=(nil)
    [00:01:18.358,123] <dbg> net_sock: zsock_received_cb: (rx_q[0]): ctx=0x200062a0, pkt=0x200578bc, st=0, user_data=(nil)
    [00:01:18.391,479] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x2005783c, st=0, user_data=(nil)
    [00:01:18.417,205] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x2005787c, st=0, user_data=(nil)
    [00:01:18.417,572] <dbg> net_sock: zsock_received_cb: (rx_q[0]): ctx=0x200062a0, pkt=(nil), st=0, user_data=(nil)
    [00:01:18.417,602] <dbg> net_sock: zsock_received_cb: (rx_q[0]): Set EOF flag on pkt 0x200578bc
    [00:01:18.596,252] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x2005783c, st=0, user_data=(nil)
    [00:01:18.596,466] <dbg> net_sock: zsock_received_cb: (rx_q[0]): ctx=0x200062a0, pkt=(nil), st=0, user_data=(nil)
    [00:01:18.596,496] <dbg> net_sock: zsock_received_cb: (rx_q[0]): Set EOF flag on pkt 0x200578bc
    [00:01:18.646,545] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x2005787c, st=0, user_data=(nil)

Reply
  • Simon, Yes I have changed the crypto backend, but that was only the log for when it failed on sock2, here is the log from the success on sock

    Connecting to HTTP Server:
    [00:01:18.133,239] <dbg> net_sock_tls: tls_alloc: (main): Allocated TLS context, 0x20001c08
    [00:01:18.133,483] <dbg> net_sock: zsock_socket_internal: (main): socket: ctx=0x200062a0, fd=8
    [00:01:18.181,304] <dbg> mbedtls: zephyr_mbedtls_debug: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2886: 0x20001ca8: 0040: c0 28 00 6b c0 0a c0 14 00 39 c0 af c0 a3 c0 2b .(.k.....9.....+
    --- 3 messages dropped ---
    [00:01:18.183,074] <dbg> mbedtls: zephyr_mbedtls_debug: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2886: 0x20001ca8: 00b0: 72 65 77 65 62 73 69 74 65 73 2e 6e 65 74 00 0a rewebsites.net..
    [00:01:18.323,760] <dbg> mbedtls: zephyr_mbedtls_debug: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:3843: 0x20001ca8: 0ff0: 47 54 53 20 43 41 20 31 43 33 30 82 01 22 30 0d GTS CA 1C30.."0.
    [00:01:18.323,883] <inf> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:3088: 0x20001ca8: handshake message: msglen = 6684, type = 11, hslen = 6684
    [00:01:18.346,343] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:5031: 0x20001ca8: => send alert message
    [00:01:18.346,435] <inf> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:5032: 0x20001ca8: send alert level=2 message=42
    [00:01:18.346,527] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2793: 0x20001ca8: => write record
    [00:01:18.346,618] <inf> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2881: 0x20001ca8: output record: msgtype = 21, version = [3:3], msglen = 2
    [00:01:18.346,710] <dbg> mbedtls: zephyr_mbedtls_debug: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2886: 0x20001ca8: dumping 'output record sent to network' (7 bytes)
    [00:01:18.346,923] <dbg> mbedtls: zephyr_mbedtls_debug: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2886: 0x20001ca8: 0000: 15 03 03 00 02 02 2a ......*
    [00:01:18.347,015] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2177: 0x20001ca8: => flush output
    [00:01:18.347,106] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2194: 0x20001ca8: message length: 7, out_left: 7
    [00:01:18.347,839] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2201: 0x20001ca8: ssl->f_send() returned 7 (-0xfffffff9)
    [00:01:18.347,900] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2229: 0x20001ca8: <= flush output
    [00:01:18.347,991] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2937: 0x20001ca8: <= write record
    [00:01:18.348,052] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:5044: 0x20001ca8: <= send alert message
    [00:01:18.348,144] <inf> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_tls.c:7245: 0x20001ca8: ! Certificate verification flags 00000004
    [00:01:18.350,128] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_tls.c:3801: 0x20001ca8: <= handshake
    [00:01:18.350,158] <err> net_sock_tls: TLS handshake error: -2700
    [00:01:18.350,830] <dbg> net_sock_tls: tls_alloc: (main): Allocated TLS context, 0x20002110
    [00:01:18.351,074] <dbg> net_sock: zsock_socket_internal: (main): socket: ctx=0x20006340, fd=10
    [00:01:18.357,482] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x2005787c, st=0, user_data=(nil)
    [00:01:18.358,123] <dbg> net_sock: zsock_received_cb: (rx_q[0]): ctx=0x200062a0, pkt=0x200578bc, st=0, user_data=(nil)
    [00:01:18.391,479] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x2005783c, st=0, user_data=(nil)
    [00:01:18.417,205] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x2005787c, st=0, user_data=(nil)
    [00:01:18.417,572] <dbg> net_sock: zsock_received_cb: (rx_q[0]): ctx=0x200062a0, pkt=(nil), st=0, user_data=(nil)
    [00:01:18.417,602] <dbg> net_sock: zsock_received_cb: (rx_q[0]): Set EOF flag on pkt 0x200578bc
    [00:01:18.596,252] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x2005783c, st=0, user_data=(nil)
    [00:01:18.596,466] <dbg> net_sock: zsock_received_cb: (rx_q[0]): ctx=0x200062a0, pkt=(nil), st=0, user_data=(nil)
    [00:01:18.596,496] <dbg> net_sock: zsock_received_cb: (rx_q[0]): Set EOF flag on pkt 0x200578bc
    [00:01:18.646,545] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x2005787c, st=0, user_data=(nil)

Children
  • Hi,

     

    Kyle1 said:
    [00:01:18.350,158] <err> net_sock_tls: TLS handshake error: -2700

    This line indicates that you're unable to verify the domain:

    https://github.com/nrfconnect/sdk-mbedtls/blob/v3.1.0-ncs3/include/mbedtls/x509.h#L83

    Do you get this regardless of which domain you're connecting to, or is it only *.azurewebsites.net?

    Do you have SNI enabled? CONFIG_MBEDTLS_SSL_SERVER_NAME_INDICATION=y

     

    Kind regards,

    Håkon

  • SNI is enabled, Sorry I forgot to point a few things to www.google.com from azure

    Here is a log of using sock2, crashing trying to go to www.google.com
    When using just sock, It does not crash


    --- 124 messages dropped ---
    [00:03:21.319,244] <dbg> mbedtls: zephyr_mbedtls_debug: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2886: 0x20001ca8: 0030: cc a9 cc aa c0 2c c0 30 00 9f c0 ad c0 9f c0 24 .....,.0.......$
    --- 4 messages dropped ---
    [00:03:21.319,488] <dbg> mbedtls: zephyr_mbedtls_debug: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2886: 0x20001ca8: 0040: c0 28 00 6b c0 0a c0 14 00 39 c0 af c0 a3 c0 2b .(.k.....9.....+
    [00:03:21.319,732] <dbg> mbedtls: zephyr_mbedtls_debug: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2886: 0x20001ca8: 0050: c0 2f 00 9e c0 ac c0 9e c0 23 c0 27 00 67 c0 09 ./.......#.'.g..
    [00:03:21.319,976] <dbg> mbedtls: zephyr_mbedtls_debug: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2886: 0x20001ca8: 0060: c0 13 00 33 c0 ae c0 a2 00 9d c0 9d 00 3d 00 35 ...3.........=.5
    --- 64 messages dropped ---
    [00:03:21.321,258] <dbg> mbedtls: zephyr_mbedtls_debug: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2886: 0x20001ca8: 00b0: 6d 00 0a 00 0c 00 0a 00 1d 00 17 00 18 00 19 00 m...............
    [00:03:21.321,533] <dbg> mbedtls: zephyr_mbedtls_debug: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2886: 0x20001ca8: 00c0: 1a 00 0d 00 0e 00 0c 06 03 06 01 05 03 05 01 04 ................
    [00:03:21.321,777] <dbg> mbedtls: zephyr_mbedtls_debug: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2886: 0x20001ca8: 00d0: 03 04 01 00 0b 00 02 01 00 00 17 00 00 00 23 00 ..............#.
    --- 518 messages dropped ---
    [00:03:21.417,633] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_tls12_client.c:1739: 0x20001ca8: <= parse server hello
    [00:03:21.417,724] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2177: 0x20001ca8: => flush output
    [00:03:21.417,785] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2188: 0x20001ca8: <= flush output
    [00:03:21.653,350] <dbg> mbedtls: zephyr_mbedtls_debug: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2886: 0x20001ca8: dumping 'output record sent to network' (37 bytes)
    [00:03:21.653,594] <dbg> mbedtls: zephyr_mbedtls_debug: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2886: 0x20001ca8: 0000: 16 03 03 00 20 da e5 e2 c1 eb 4b 98 79 66 83 19 .... .....K.yf..
    --- 116 messages dropped ---
    [00:03:21.653,839] <dbg> mbedtls: zephyr_mbedtls_debug: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2886: 0x20001ca8: 0010: 7f b8 51 a6 98 14 28 fc 04 b6 59 4d 39 b5 ad 5e ..Q...(...YM9..^
    [00:03:21.654,052] <dbg> mbedtls: zephyr_mbedtls_debug: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2886: 0x20001ca8: 0020: 23 12 db a5 f1 #....
    [00:03:21.654,113] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2177: 0x20001ca8: => flush output
    [00:03:21.654,205] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2194: 0x20001ca8: message length: 37, out_left: 37
    [00:03:21.769,409] <dbg> mbedtls: zephyr_mbedtls_debug: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:1800: 0x20001ca8: dumping 'raw buffer after decryption' (16 bytes)
    [00:03:21.769,653] <dbg> mbedtls: zephyr_mbedtls_debug: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:1800: 0x20001ca8: 0000: 14 00 00 0c 42 ad cf f6 37 b1 57 89 c5 87 8d c3 ....B...7.W.....
    [00:03:21.769,744] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:1928: 0x20001ca8: <= decrypt buf
    [00:03:21.769,836] <dbg> mbedtls: zephyr_mbedtls_debug: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:3888: 0x20001ca8: dumping 'input payload after decrypt' (16 bytes)
    [00:03:21.770,080] <dbg> mbedtls: zephyr_mbedtls_debug: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:3888: 0x20001ca8: 0000: 14 00 00 0c 42 ad cf f6 37 b1 57 89 c5 87 8d c3 ....B...7.W.....
    [00:03:21.770,202] <inf> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:3088: 0x20001ca8: handshake message: msglen = 16, type = 20, hslen = 16
    [00:03:21.770,263] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:4076: 0x20001ca8: <= read record
    [00:03:21.770,355] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_tls.c:7890: 0x20001ca8: <= parse finished
    [00:03:21.770,416] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2177: 0x20001ca8: => flush output
    [00:03:21.770,507] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2188: 0x20001ca8: <= flush output
    [00:03:21.770,599] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_tls.c:3709: 0x20001ca8: client state: MBEDTLS_SSL_FLUSH_BUFFERS
    [00:03:21.770,660] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_tls12_client.c:3756: 0x20001ca8: handshake: done
    [00:03:21.770,751] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2177: 0x20001ca8: => flush output
    [00:03:21.770,812] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_msg.c:2188: 0x20001ca8: <= flush output
    [00:03:21.770,904] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_tls.c:3709: 0x20001ca8: client state: MBEDTLS_SSL_HANDSHAKE_WRAPUP
    [00:03:21.770,996] <inf> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_tls.c:7642: 0x20001ca8: => handshake wrapup
    [00:03:21.771,057] <inf> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_tls.c:7615: 0x20001ca8: => handshake wrapup: final free
    [00:03:21.771,484] <inf> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_tls.c:7635: 0x20001ca8: <= handshake wrapup: final free
    [00:03:21.771,575] <inf> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_tls.c:7700: 0x20001ca8: <= handshake wrapup
    [00:03:21.771,636] <wrn> mbedtls: WEST_TOPDIR/modules/crypto/mbedtls/library/ssl_tls.c:3801: 0x20001ca8: <= handshake
    [00:03:21.771,697] <dbg> net_sock_tls: tls_alloc: (main): Allocated TLS context, 0x20002110
    [00:03:21.771,942] <dbg> net_sock: zsock_socket_internal: (main): socket: ctx=0x20006340, fd=10
    [00:03:25.327,117] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x200578bc, st=0, user_data=(nil)
    [00:03:25.941,528] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x200578fc, st=0, user_data=(nil)
    [00:03:30.550,201] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x200578bc, st=0, user_data=(nil)
    [00:03:30.857,391] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x200578fc, st=0, user_data=(nil)
    [00:03:31.370,574] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x200578bc, st=0, user_data=(nil)
    [00:03:31.373,840] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x200578fc, st=0, user_data=(nil)
    [00:03:31.386,199] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x200578bc, st=0, user_data=(nil)
    [00:03:31.416,717] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x200578bc, st=0, user_data=(nil)
    [00:03:31.417,083] <dbg> net_sock: zsock_received_cb: (rx_q[0]): ctx=0x200062a0, pkt=(nil), st=0, user_data=(nil)
    [00:03:31.417,114] <dbg> net_sock: zsock_received_cb: (rx_q[0]): Marked socket 0x200062a0 as peer-closed
    [00:03:31.475,067] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x200578fc, st=0, user_data=(nil)
    [00:03:31.676,147] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x200578bc, st=0, user_data=(nil)
    [00:03:32.290,405] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x200578fc, st=0, user_data=(nil)
    [00:03:33.417,022] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x200578bc, st=0, user_data=(nil)
    [00:03:37.205,749] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x200578fc, st=0, user_data=(nil)
    [00:03:37.410,675] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x200578bc, st=0, user_data=(nil)
    [00:03:39.049,011] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x200578fc, st=0, user_data=(nil)
    [00:03:39.969,848] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x200578bc, st=0, user_data=(nil)
    [00:03:40.075,653] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x200578fc, st=0, user_data=(nil)
    [00:03:40.080,627] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x200578bc, st=0, user_data=(nil)
    [00:03:40.380,706] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x200578fc, st=0, user_data=(nil)
    Trying sock2: 9
    [00:03:44.066,284] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x200578bc, st=0, user_data=(nil)
    [00:03:46.114,654] <dbg> net_sock_packet: zpacket_received_cb: (rx_q[0]): ctx=0x20006160, pkt=0x200578fc, st=0, user_data=(nil)
    [00:03:46.772,796] <err> os: ***** MPU FAULT *****
    [00:03:46.772,827] <err> os: Data Access Violation
    [00:03:46.772,827] <err> os: MMFAR Address: 0x0
    [00:03:46.772,857] <err> os: r0/a1: 0x00000000 r1/a2: 0x00000000 r2/a3: 0x00000000
    [00:03:46.772,857] <err> os: r3/a4: 0x00000000 r12/ip: 0x00000413 r14/lr: 0x00004140
    [00:03:46.772,857] <err> os: xpsr: 0x29000000
    [00:03:46.772,888] <err> os: Faulting instruction address (r15/pc): 0x0004ddf8
    [00:03:46.772,918] <err> os: >>> ZEPHYR FATAL ERROR 19: Unknown error on CPU 0
    [00:03:46.772,949] <err> os: Current thread: 0x20004900 (main)
    [00:03:46.847,869] <err> coredump: #CD:BEGIN#
    [00:03:46.855,804] <err> coredump: #CD:5a4501000300050013000000
    [00:03:46.865,264] <err> coredump: #CD:4102004400
    [00:03:46.873,535] <err> coredump: #CD:000000000000000000000000000000001304000040410000f8dd040000000029
    [00:03:46.886,535] <err> coredump: #CD:9836022000000000000000000000000000000000000000000000000000000000
    [00:03:46.899,475] <err> coredump: #CD:00000000
    [00:03:46.907,562] <err> coredump: #CD:4d010000490020c8490020
    [00:03:46.916,870] <err> coredump: #CD:383a002088810120000000000180000000000000000000000000000000000000
    [00:03:46.929,870] <err> coredump: #CD:03040a0000000000000000000000000000800200e76271000000000068810120
    [00:03:46.942,840] <err> coredump: #CD:0000000000000000ffffffffffffffff50370220000000005849002058490020
    [00:03:46.955,841] <err> coredump: #CD:00010000bdb00400000000000000000000000000000000006d61696e00000000
    [00:03:46.968,811] <err> coredump: #CD:00000000000000000000000000000000000000000000000002000000e0270220
    [00:03:46.981,781] <err> coredump: #CD:0010000000000000fc0d00200000000000000000000000000000000000000000
    [00:03:46.994,750] <err> coredump: #CD:00000000f5ffffff
    [00:03:47.003,540] <err> coredump: #CD:4d0100e0270220e0370220
    [00:03:47.012,847] <err> coredump: #CD:f0f0f0f0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.025,817] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.038,787] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.051,788] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.064,758] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.077,728] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.090,698] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.103,668] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.116,668] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.129,638] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.142,608] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.155,609] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.168,579] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.181,549] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.194,549] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.207,519] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.220,520] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.233,489] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.246,490] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.259,460] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.272,430] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.285,430] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.298,400] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.311,401] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.324,371] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.337,371] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.350,341] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.363,342] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.376,312] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.389,312] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.402,282] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.415,252] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.428,253] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.441,223] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.454,193] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.467,193] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.480,163] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.493,133] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.506,134] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.519,104] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.532,104] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.545,074] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [00:03:47.558,044] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa102f022024000000
    [00:03:47.571,014] <err> coredump: #CD:240000009df90400aaaaaaaaaaaaaaaaaaaaaaaa06000000c831022002000000
    [00:03:47.583,984] <err> coredump: #CD:fcffffff942f02200200000000000000040000006f070500aaaaaaaaaaaaaaaa
    [00:03:47.596,984] <err> coredump: #CD:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa000000003c2e022004000000aaaaaaaa
    [00:03:47.609,954] <err> coredump: #CD:30000020102f0220866d0c00000000001000000000000000902f022049000000
    [00:03:47.622,924] <err> coredump: #CD:490000009df90400230000009df90400000000004b0000006832022002000000
    [00:03:47.635,894] <err> coredump: #CD:b82f022049000000490000009df90400490000006f070500040000004b000000
    [00:03:47.648,895] <err> coredump: #CD:9032022002000000e02f02202d0000002d0000009df90400490000006f070500
    [00:03:47.661,865] <err> coredump: #CD:300000202f0000009c32022002000000d3ffffff643002200200000000000000
    [00:03:47.674,835] <err> coredump: #CD:2d0000006f07050030000020b82f0220866d0c00000000005500000000000000
    [00:03:47.687,805] <err> coredump: #CD:000000000c2f02202d0000000000000030000020e02f0220866d0c0000000000
    [00:03:47.700,775] <err> coredump: #CD:39000000000000005c3002207300000068300220450000007030022049000000
    [00:03:47.713,745] <err> coredump: #CD:490000009df904004500000047000000403302204b0000004833022002000000
    [00:03:47.726,715] <err> coredump: #CD:b7fffffff43002200200000000000000490000006f0705004c33022011000000
    [00:03:47.739,685] <err> coredump: #CD:5433022002000000f1ffffff1c31022002000000000000000f0000006f070500
    [00:03:47.752,685] <err> coredump: #CD:3000002070300220866d0c0000000000550000000000000000000000c42f0220
    [00:03:47.765,655] <err> coredump: #CD:0f000000000000003000002098300220866d0c00000000001b00000000000000
    [00:03:47.778,625] <err> coredump: #CD:1431022073000000000000000000000000000000000000000000000000000000
    [00:03:47.791,595] <err> coredump: #CD:0100000058fc0a004031022049000000490000009df904000000000040000000
    [00:03:47.804,565] <err> coredump: #CD:f43002204b0000001834022002000000b7ffffffc43102200200000000000000
    [00:03:47.817,565] <err> coredump: #CD:490000006f0705001c3102205c3002207d1008006df507009031022036000000
    [00:03:47.830,535] <err> coredump: #CD:360000009df90400490000000000000030000020380000004c34022002000000
    [00:03:47.843,505] <err> coredump: #CD:caffffff143202200200000000000000360000006f0705000000000000000000
    [00:03:47.856,475] <err> coredump: #CD:0000000000000000e031022020000000200000009df90400f031022014000000
    [00:03:47.869,476] <err> coredump: #CD:140000009df904009c34022002000000e0ffffff16000000ac34022002000000
    [00:03:47.882,446] <err> coredump: #CD:ecffffff743202200200000000000000140000006f070500f0ffffff2d000000
    [00:03:47.895,416] <err> coredump: #CD:000000000c310220200000000f000000e434022002000000f3ffffffac320220
    [00:03:47.908,416] <err> coredump: #CD:02000000000000000d0000006f07050020000000000000006c32022073000000
    [00:03:47.921,386] <err> coredump: #CD:000000000000000000000000543102200d000000000000003000002028320220
    [00:03:47.934,356] <err> coredump: #CD:866d0c00000000001900000000000000a4320220730000000000000000000000
    [00:03:47.947,357] <err> coredump: #CD:000000000000000000000000000000000100000058fc0a00b4690c0000000000
    [00:03:47.960,327] <err> coredump: #CD:0000000000000000000000006df50700743202203a0000007d100800735d0000
    [00:03:47.973,297] <err> coredump: #CD:02000000000000001800000030780000b43102206ca30a00ac320220ec310220
    [00:03:47.986,267] <err> coredump: #CD:7d1008006df50700ac320220330000007d100800735d00000200000000000000
    [00:03:47.999,237] <err> coredump: #CD:180000001c000000ec3102206ca30a007d100800000000006032022001000000
    [00:03:48.012,207] <err> coredump: #CD:840c00200500000006000002840c002000000000000000000100000005000000
    [00:03:48.025,177] <err> coredump: #CD:0000000000000000840c002006010000000000001e000000840c00208f080800
    [00:03:48.038,146] <err> coredump: #CD:ff010000840c0020b8190020770c0800b8190020b8190020b8190020650f0800
    [00:03:48.051,116] <err> coredump: #CD:db0e08002172000080660000cf1008001c000000f00c00200000000071750000
    [00:03:48.064,086] <err> coredump: #CD:0a0000001432022004000000ac320220ffffffff1a00ffffffffffff00000000
    [00:03:48.077,056] <err> coredump: #CD:0000000000000000c532022080320220ac320220d90e00008032022084910c00
    [00:03:48.090,026] <err> coredump: #CD:ffffffffffffffffffffffff0dec000071e900000300000084910c00141e0000
    [00:03:48.102,996] <err> coredump: #CD:060000026ca30a0084910c00d90e000018000000ac3202200002030561383a20
    [00:03:48.115,966] <err> coredump: #CD:000203050600000271e900000200000084910c00d90e0000ac32022015a10500
    [00:03:48.128,936] <err> coredump: #CD:ac32022061383a20636c6965307832303030316361383a203c3d2068616e6473
    [00:03:48.141,906] <err> coredump: #CD:68616b650a00ffffffffffffffffffff9c330220771805001300000000000000
    [00:03:48.154,876] <err> coredump: #CD:cc3602208c330220000000000000000001000000a43302200000000000000000
    [00:03:48.167,846] <err> coredump: #CD:3000002068340220f4950c00000000000c000000000000000437022000000000
    [00:03:48.180,847] <err> coredump: #CD:00000000000000000100000058fc0a0000000000000000000100000058fc0a00
    [00:03:48.193,817] <err> coredump: #CD:0000000000000000000000000000000000000000dc9a0c006433022000000000
    [00:03:48.206,787] <err> coredump: #CD:000000002c9b0c001300000035ea04007c330220000000000000000064ac0c00
    [00:03:48.219,757] <err> coredump: #CD:8c3302200000000000000000d0950c009c3302200000000000000000f4950c00
    [00:03:48.232,727] <err> coredump: #CD:0c000000000031360000000030000020100c000088820c0003000000ffffffff
    [00:03:48.245,697] <err> coredump: #CD:ffffffffffffffffffffffff896405008134022000000000ca0100000802ffff
    [00:03:48.258,697] <err> coredump: #CD:4c34022030000020ec0f000088820c0002000000ffffffffffffffff30000020
    [00:03:48.271,667] <err> coredump: #CD:d31d000084910c000300000030000020141e000084910c0003000000ffffffff
    [00:03:48.284,667] <err> coredump: #CD:ffffffffffffffffffffffff89640500bf340220ff010000ec0100000802ffff
    [00:03:48.297,637] <err> coredump: #CD:ac34022030000020d90e000084910c0002000000ffffffffffffffffffffffff
    [00:03:48.310,638] <err> coredump: #CD:ffffffff89640500f0340220ff010000f30100000802ffffe4340220ff010000
    [00:03:48.323,608] <err> coredump: #CD:84910c0003000000a81c0020141e000084910c0003000000ffffffff85a10500
    [00:03:48.336,578] <err> coredump: #CD:ac34022068616b65207772613c3d2068616e647368616b65207772617075700a
    [00:03:48.349,548] <err> coredump: #CD:d80e0020000000003c0c0020cbb80400000f00200000000040350220cbb80400
    [00:03:48.362,518] <err> coredump: #CD:d80e0020000000003c0c0020cbb80400000f00200000000060350220cbb80400
    [00:03:48.375,488] <err> coredump: #CD:cc84012000000000603502209be700007de7000085aa07000050845075ba0700
    [00:03:48.388,488] <err> coredump: #CD:8035022000000000d80e0020000000003c0c0020cc8401201000000068350220
    [00:03:48.401,458] <err> coredump: #CD:a03502200000000048850120100c002004000000d7ef07001000000068350220
    [00:03:48.414,428] <err> coredump: #CD:ac84012000ba0700ac8401206bb460d3956e385583ef07006bb460d305e10700
    [00:03:48.427,398] <err> coredump: #CD:0000000000000000000000000000000000000000000000000000000000000000
    [00:03:48.440,368] <err> coredump: #CD:705e00200000000070360220cbb80400ac84012000000000600e002000000000
    [00:03:48.453,369] <err> coredump: #CD:06000000cbb804000000000000000000060000005f760100600e002000000000
    [00:03:48.466,339] <err> coredump: #CD:40970520cbb8040000000000dc36022040970520a376010040630020a5780100
    [00:03:48.479,309] <err> coredump: #CD:bb010000688f000000800100040000004c360220000000006c360220dc360220
    [00:03:48.492,309] <err> coredump: #CD:8f6800000000000000800100c1ac070000000000736808000000000004000000
    [00:03:48.505,279] <err> coredump: #CD:0400000005a2080044970520040000003460002040630020bc82052040630020
    [00:03:48.518,249] <err> coredump: #CD:bc82052001bb000040970520dc3602208f6800000000000000800100a5c00100
    [00:03:48.531,219] <err> coredump: #CD:bb010000688f00004063002075c1010040630020846300200000000000000000
    [00:03:48.544,189] <err> coredump: #CD:00000000000000001304000040410000f8dd040000000029b021002000000000
    [00:03:48.557,189] <err> coredump: #CD:4d410000fb150a00b021002000000000cc6f0a0069190a000000000010210020
    [00:03:48.570,159] <err> coredump: #CD:10210020b1190a0000000000fb2d080000000000008fffff1021002095340800
    [00:03:48.583,129] <err> coredump: #CD:ffffffffffffffff0000000028000000cc6f0a00102100205536080000000000
    [00:03:48.596,130] <err> coredump: #CD:ffffffff45360800000000006d360800000000000000000000800200a31e0800
    [00:03:48.609,100] <err> coredump: #CD:0000000000000000448e0a003854002000000000cc6f0a001900000098370220
    [00:03:48.622,070] <err> coredump: #CD:0080020023f407000000000000000000090000005f3800001900000098370220
    [00:03:48.635,040] <err> coredump: #CD:0080020007000000090000006f5000000f000000ff020a0001000000c8930520
    [00:03:48.648,010] <err> coredump: #CD:2097052001000000010000000400000100000000bdb004000000000000000000
    [00:03:48.660,980] <err> coredump: #CD:00000000ffffffffffffffffddb0040000000000b9f707000000000033f20000
    [00:03:48.673,919] <err> coredump: #CD:END#
    [00:03:48.681,640] <err> os: Halting system

  • Hi,

     

    Kyle1 said:
    [00:03:46.772,796] <err> os: ***** MPU FAULT *****
    [00:03:46.772,827] <err> os: Data Access Violation
    [00:03:46.772,827] <err> os: MMFAR Address: 0x0
    [00:03:46.772,857] <err> os: r0/a1: 0x00000000 r1/a2: 0x00000000 r2/a3: 0x00000000
    [00:03:46.772,857] <err> os: r3/a4: 0x00000000 r12/ip: 0x00000413 r14/lr: 0x00004140
    [00:03:46.772,857] <err> os: xpsr: 0x29000000
    [00:03:46.772,888] <err> os: Faulting instruction address (r15/pc): 0x0004ddf8

    Possibly a null pointer being executed.

    addr2line can help here, to find where the faulting instruction was called from:

    arm-zephyr-eabi-addr2line -e build-folder/zephyr/zephyr.elf 0x4ddf8

    Possibly the LR can be resolved as well, ie. 0x4140.

     

    Also, since you're using coredump, you can load this into gdb:

    https://docs.zephyrproject.org/latest/services/debugging/coredump.html

     

    Kyle1 said:
    Here is a log of using sock2, crashing trying to go to www.google.com
    When using just sock, It does not crash

    It is hard to see what has happened here, as there's missing logs etc. Can you elaborate on when the fault occurs in the context of when the second socket is used?

    Ie. where were you in the second connection procedure when this fault happens?

    // Load in the TLS cert for HTTPS
    tls_credential_add(CA_CERTIFICATE_TAG, TLS_CREDENTIAL_CA_CERTIFICATE,
    ca_certificate, sizeof(ca_certificate));

    Are you running this line twice? If yes, you must check if it is already present before adding it.

    Kyle1 said:
    [00:03:46.772,949] <err> os: Current thread: 0x20004900 (main)

    What is your main stack size set to? I would recommend setting it high (15-20k area) in case you're overflowing it.

     

    Kind regards,

    Håkon

  • It is hard to see what has happened here, as there's missing logs etc. Can you elaborate on when the fault occurs in the context of when the second socket is used?

    It looks like it crashes when it goes to make the request, here is the function I call to make the request. I think it is in the Send call

    void https_get_goog(int sock)
    {
    	const char *request = "GET / HTTP/1.1\r\n"
    						   "Host: www.google.com\r\n\r\n";
    	send(sock, request, strlen(request), 0);
    	while (1) {
    		int len = recv(sock, response, sizeof(response) - 1, 0);
    
    		if (len < 0) {
    			printk("Error reading response\n");
    			return 0;
    		}
    
    		if (len == 0) {
    			printf("GOOGLE Response: none\n");
    			break;
    		}
    		response[len] = 0;
    		printk("Response: %s\n", response);
    		return 0;
    	}
    }

    addr2line can help here, to find where the faulting instruction was called from:

    arm-zephyr-eabi-addr2line -e build-folder/zephyr/zephyr.elf 0x4ddf8

    Possibly the LR can be resolved as well, ie. 0x4140.

    For some reason I was not able to get any useful information from GDB, there was no backtrace, Also when looking at the lines, it did not give me one 0x4ddf8.

    0x4140, Was a print statement for the WiFi status in the cmd_wifi_status callback

    LOG_INF("SSID: %-32s", status.ssid);
    // Load in the TLS cert for HTTPS
    tls_credential_add(CA_CERTIFICATE_TAG, TLS_CREDENTIAL_CA_CERTIFICATE,
    ca_certificate, sizeof(ca_certificate));

    Are you running this line twice? If yes, you must check if it is already present before adding it.

    That line is only being called once

  • I highly suspect that there's a thread/buffer that overflows.

    There's several buffers that is setup as well as contexts in the NET_* space.

    Kyle1 said:
    For some reason I was not able to get any useful information from GDB, there was no backtrace, Also when looking at the lines, it did not give me one 0x4ddf8.

    Did the zephyr.map file show which object/function is located at this address?

    Kyle1 said:
    That line is only being called once

    Thank you for confirming.

     

    I have seen some stack related issues when trying to reproduce your scenario. Here's a sample based on the https_client sample, which, quite crudely, opens two TLS sockets towards google.com:

    0385.https_client_two_TLS_connections.zip 

    What was the crucial config at my end was "CONFIG_NET_MAX_CONN=6". Without this, the connect() would return with an err on the second socket.

    Output:

    Looking up google.com
    Resolved 142.250.74.78 (AF_INET)
    FD: 0
    Connecting to google.com:443
    Sent 60 bytes
    Received 809 bytes
    
    >        HTTP/1.1 301 Moved Permanently
    
    Finished with socket fd=7
    FD: 1
    Connecting to google.com:443
    Sent 60 bytes
    Received 809 bytes
    
    >        HTTP/1.1 301 Moved Permanently
    
    Finished with socket fd=9
    Clean up
    

     

    My apologies for the prj.conf being a bit all over the place (I wanted to update you before my workday ends), I upped most stacks to a relatively high value to ensure no MPU faults.

     

    Kind regards,

    Håkon

Related