You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@mynewt.apache.org by "Christopher Collins (JIRA)" <ji...@apache.org> on 2017/03/30 19:11:42 UTC

[jira] [Resolved] (MYNEWT-700) BLE Host - Race condition: disconnect + att-tx

     [ https://issues.apache.org/jira/browse/MYNEWT-700?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christopher Collins resolved MYNEWT-700.
----------------------------------------
    Resolution: Fixed

> BLE Host - Race condition: disconnect + att-tx
> ----------------------------------------------
>
>                 Key: MYNEWT-700
>                 URL: https://issues.apache.org/jira/browse/MYNEWT-700
>             Project: Mynewt
>          Issue Type: Bug
>            Reporter: Christopher Collins
>            Assignee: Christopher Collins
>             Fix For: v1_1_0_rel
>
>
> Some parts of the ATT code assume a peer is still connected after an initial check.  This assumption leads to a race condition when a task other than the host task is doing the transmitting (e.g., tx of unsolicited notification).  It is possible that the peer gets disconnected after the tx function is called, but before it completes.  When this occurs, an assertion fails (ble_att_conn_chan_find()).
> The fix is to remove this assumption.  Always check that the connection / channel lookup succeeds before accessing the returned pointers.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)