You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the current implementation of a Matter node running over Thread a successful DNS-SD resolution can result in CASE session establishment code to be executed in the Thread task context (see attached stack trace). This is problematic as the Tread task is not generally expected to have sufficient stack to handle Matter processing. Another issue is that this may result in a semaphore block during an attempt to send a Thread message from the context of receiving a Thread message.
Problem
In the current implementation of a Matter node running over Thread a successful DNS-SD resolution can result in CASE session establishment code to be executed in the Thread task context (see attached stack trace). This is problematic as the Tread task is not generally expected to have sufficient stack to handle Matter processing. Another issue is that this may result in a semaphore block during an attempt to send a Thread message from the context of receiving a Thread message.
More info in this discussion thread: https://csamembers.slack.com/archives/G014G30SVV0/p1640643472300200
Proposed Solution
The Matter processing resulting from
OnDnsResolveResult
(and probably other DNS-SD events) must be handed off to the Matter processing context.
Stack:
![stack_top](https://user-images.githubusercontent.com/54454955/147609861-0bb28b2a-1e1b-47c2-92bd-67f01d7ed45f.png)
![stack_bottom](https://user-images.githubusercontent.com/54454955/147609869-fb26e92c-5216-4505-ad8f-d78c5094b9ff.png)
The text was updated successfully, but these errors were encountered: