Closed kuikka closed 2 years ago
Any advise on the root cause of said assert and what may trigger is would also be appreciated.
@kuikka Please use the thread analyzer to profile your application threads program stack runtime requirements, check if all threads are listed by the analyzer and have enough margins.
You can use something like this:
CONFIG_THREAD_NAME=y
CONFIG_THREAD_ANALYZER=y
CONFIG_THREAD_ANALYZER_AUTO=y
CONFIG_THREAD_ANALYZER_RUN_UNLOCKED=y
CONFIG_THREAD_ANALYZER_USE_PRINTK=y
CONFIG_THREAD_ANALYZER_AUTO_INTERVAL=5
Since the suspicion is of a stack overflow, downgrading to Low until we get more information from the reporter.
Closing this for inactivity, please reopen if it's still an issue
I don't seem to have the permission to reopen the case so I created another one: https://github.com/zephyrproject-rtos/zephyr/issues/46235.
Describe the bug BLE link layer asserts and causes a kernel Oops. (see console log below)
HW: nRF52840-DK SW: Zephyr v3.0.0 This unit is a BLE Central, connecting to a peripheral.
I have a strong suspicion that the ongoing SMP procedure (see smp_security_request and others) with concurrent link usage is triggering this.
In the log below GATT service discovery is started immediately upon connection establishment, if I remove this, the issues is bypassed.
Similarly, if the BLE peripheral starts for example connection interval update procedure upon connection, the same issue happens.
If I wait on either, the issue will likely not happen.
To Reproduce Connect to a peripheral that immediately upon connection initiates security procedure while central is using the BLE link for GATT discovery.
Expected behavior No assert is expected.
Impact Assert and oops are showstoppers.
Logs and console output
Environment (please complete the following information):
Additional context N/A