ARMmbed / wifi-ism43362

ISM43362 WiFi driver
17 stars 22 forks source link

Hard fault in mbed-os greentea tests-netsocket-tls after buffer size is changed #51

Closed michalpasztamobica closed 5 years ago

michalpasztamobica commented 5 years ago

We have observed mbed-os greentea tls socket tests with a hardfault exception:

[1554347576.09][CONN][INF] found KV pair in stream: {{__testcase_start;TLSSOCKET_SEND_CLOSED}}, queued...
[1554347576.19][CONN][RXD] ++ MbedOS Fault Handler ++
[1554347576.19][CONN][RXD] 
[1554347576.19][CONN][RXD] FaultType: HardFault
[1554347576.19][CONN][RXD] 
[1554347576.19][CONN][RXD] Context:
[1554347576.19][CONN][RXD] R0   : 04FF0101
[1554347576.19][CONN][RXD] R1   : 08008170
[1554347576.19][CONN][RXD] R2   : 0000853E
[1554347576.29][CONN][RXD] R3   : 08008171
[1554347576.29][CONN][RXD] R4   : 20003308
[1554347576.29][CONN][RXD] R5   : 00000001
[1554347576.29][CONN][RXD] R6   : 00000000
[1554347576.29][CONN][RXD] R7   : 00008F53
[1554347576.29][CONN][RXD] R8   : 100008C4
[1554347576.39][CONN][RXD] R9   : 00000000
[1554347576.39][CONN][RXD] R10  : 08008170
[1554347576.39][CONN][RXD] R11  : 00000000
[1554347576.39][CONN][RXD] R12  : 01010101
[1554347576.39][CONN][RXD] SP   : 100020B8
[1554347576.39][CONN][RXD] LR   : 0800A319
[1554347576.52][CONN][RXD] PC   : 080016F6
[1554347576.52][CONN][RXD] xPSR : 61000000
[1554347576.52][CONN][RXD] PSP  : 10002050
[1554347576.52][CONN][RXD] MSP  : 20017FD8
[1554347576.52][CONN][RXD] CPUID: 410FC241
[1554347576.52][CONN][RXD] HFSR : 40000000
[1554347576.59][CONN][RXD] MMFSR: 00000000
[1554347576.59][CONN][RXD] BFSR : 00000082
[1554347576.59][CONN][RXD] UFSR : 00000000
[1554347576.59][CONN][RXD] DFSR : 00000008
[1554347576.59][CONN][RXD] AFSR : 00000000
[1554347576.59][CONN][RXD] BFAR : 04FF0101
[1554347576.69][CONN][RXD] Mode : Thread
[1554347576.69][CONN][RXD] Priv : Privileged
[1554347576.69][CONN][RXD] Stack: PSP
[1554347576.69][CONN][RXD] 
[1554347576.69][CONN][RXD] -- MbedOS Fault Handler --
[1554347576.69][CONN][RXD] 
[1554347576.69][CONN][RXD] 
[1554347576.69][CONN][RXD] 
[1554347576.69][CONN][RXD] ++ MbedOS Error Info ++
[1554347576.79][CONN][RXD] Error Status: 0x80FF013D Code: 317 Module: 255
[1554347576.79][CONN][RXD] Error Message: Fault exception
[1554347576.79][CONN][RXD] Location: 0x8018297
[1554347576.89][CONN][RXD] Error Value: 0x80016F6
[1554347576.99][CONN][RXD] Current Thread: tls_gt_thread  Id: 0x200003B8 Entry: 0x800F1C5 StackSize: 0x2000 StackMem: 0x10000900 SP: 0x20017F60 
[1554347577.10][CONN][RXD] For more info, visit: https://mbed.com/s/error?error=0x80FF013D&osver=999999&core=0x410FC241&comp=1&ver=6110004&tgt=DISCO_L475...
[1554347577.10][CONN][RXD] 
[1554347577.19][CONN][RXD] -- MbedOS Error Info --
[1554347577.19][CONN][RXD] 
[1554347577.19][CONN][RXD] = System will be rebooted due to a fatal error =

Quick bisection revealed that this commit introduced the issue:

666d61e062314ae1b5ecc04f7a86c881a1bbeb3e is the first bad commit
commit 666d61e062314ae1b5ecc04f7a86c881a1bbeb3e
Author: Laurent Meunier <laurent.meunier@st.com>
Date:   Mon Apr 1 13:38:53 2019 +0200

    Align Socket read buffer to WIFI module max read packet size

:100644 100644 61bc8f5aa380a5aea54e04aa05867abc182a1fa9 47395c1f40c2b221e692cb29f153b01b04bc7c42 M    ISM43362Interface.cpp

Other tests are passing fine. I assume TLS is causing the issue as it is probably sending some larger packets (the key itself weighs more than 1600B).

FYI, @SeppoTakalo , @TuomoHautamaki