[ 
https://issues.apache.org/jira/browse/MYNEWT-869?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16259896#comment-16259896
 ] 

ASF subversion and git services commented on MYNEWT-869:
--------------------------------------------------------

Commit aa4e67fd8d4c00a7e30307d753d347fd44bf2c9b in mynewt-core's branch 
refs/heads/master from [~ccollins476]
[ https://gitbox.apache.org/repos/asf?p=mynewt-core.git;h=aa4e67f ]

MYNEWT-869 BLE Host - Fix CoC double free

On an attempt to transmit a packet that is too large over a
connection-oriented channel, the channel would retain the invalid packet
but return a failure code.

This was causing problems in a particular unit test, because the unit
test would free the mbuf when `ble_l2cap_coc_send()` returned a non-zero
error code.  The mbuf would later get freed a second time when the
channel was disconnected.

>From the btshell and bletiny code, it seems the intent was for the
caller to free the mbuf only when `ble_l2cap_coc_send()` reported the
`BLE_HS_BUSY` error.  I have changed `ble_l2cap_coc_send()` such that
the channel only retains the mbuf on success, so the caller must free
the mbuf on any non-zero error code.  I think this is an improvement for
the following reasons:

1. Simpler API.  Free the mbuf on any failure is simpler than having to
free only on certain error conditions.

2. I believe this change makes the code more correct.  It doesn't seem
correct for the channel to retain an mbuf that it cannot send, and I
don't believe the channel's outgoing MTU is expected to change during
the lifetime of the channel.


> net/nimble/host unittest failures
> ---------------------------------
>
>                 Key: MYNEWT-869
>                 URL: https://issues.apache.org/jira/browse/MYNEWT-869
>             Project: Mynewt
>          Issue Type: Bug
>      Security Level: Public(Viewable by anyone) 
>            Reporter: Marko Kiiskila
>            Assignee: Christopher Collins
>
> set the following syscfg variables:
>     OS_MEMPOOL_CHECK:
>         description: 'Whether to do stack sanity check of mempool operations'
>         value: 1
>     OS_MEMPOOL_POISON:
>         description: 'Whether to do write known pattern to freed memory'
>         value: 1
> (gdb) run
> Starting program: 
> /Users/marko/src2/incubator-mynewt-blinky/repos/apache-mynewt-core/bin/targets/unittest/net_nimble_host_test/app/net/nimble/host/test/net_nimble_host_test.elf
>  
> [New Thread 0x1303 of process 64395]
> warning: unhandled dyld version (15)
> [pass] ble_att_clt_suite/ble_att_clt_test_tx_find_info 
> [pass] ble_att_clt_suite/ble_att_clt_test_rx_find_info 
> [pass] ble_att_clt_suite/ble_att_clt_test_tx_read 
> [pass] ble_att_clt_suite/ble_att_clt_test_rx_read 
> [pass] ble_att_clt_suite/ble_att_clt_test_tx_read_blob 
> [pass] ble_att_clt_suite/ble_att_clt_test_rx_read_blob 
> [pass] ble_att_clt_suite/ble_att_clt_test_tx_read_mult 
> [pass] ble_att_clt_suite/ble_att_clt_test_rx_read_mult 
> [pass] ble_att_clt_suite/ble_att_clt_test_tx_write 
> [pass] ble_att_clt_suite/ble_att_clt_test_tx_prep_write 
> [pass] ble_att_clt_suite/ble_att_clt_test_rx_prep_write 
> [pass] ble_att_clt_suite/ble_att_clt_test_tx_exec_write 
> [pass] ble_att_clt_suite/ble_att_clt_test_tx_mtu 
> [pass] ble_att_svr_suite/ble_att_svr_test_mtu 
> [pass] ble_att_svr_suite/ble_att_svr_test_read 
> [pass] ble_att_svr_suite/ble_att_svr_test_read_blob 
> [pass] ble_att_svr_suite/ble_att_svr_test_read_mult 
> [pass] ble_att_svr_suite/ble_att_svr_test_write 
> [pass] ble_att_svr_suite/ble_att_svr_test_find_info 
> [pass] ble_att_svr_suite/ble_att_svr_test_find_type_value 
> [pass] ble_att_svr_suite/ble_att_svr_test_read_type 
> [pass] ble_att_svr_suite/ble_att_svr_test_read_group_type 
> [pass] ble_att_svr_suite/ble_att_svr_test_prep_write 
> [pass] ble_att_svr_suite/ble_att_svr_test_prep_write_tmo 
> [pass] ble_att_svr_suite/ble_att_svr_test_notify 
> [pass] ble_att_svr_suite/ble_att_svr_test_indicate 
> [pass] ble_att_svr_suite/ble_att_svr_test_oom 
> [pass] ble_gap_test_suite_wl/ble_gap_test_case_wl_good 
> [pass] ble_gap_test_suite_wl/ble_gap_test_case_wl_bad_args 
> [pass] ble_gap_test_suite_wl/ble_gap_test_case_wl_ctlr_fail 
> [pass] ble_gap_test_suite_disc/ble_gap_test_case_disc_bad_args 
> [pass] ble_gap_test_suite_disc/ble_gap_test_case_disc_good 
> [pass] ble_gap_test_suite_disc/ble_gap_test_case_disc_ltd_mismatch 
> [pass] ble_gap_test_suite_disc/ble_gap_test_case_disc_hci_fail 
> [pass] ble_gap_test_suite_disc/ble_gap_test_case_disc_dflts 
> [pass] ble_gap_test_suite_disc/ble_gap_test_case_disc_already 
> [pass] ble_gap_test_suite_disc/ble_gap_test_case_disc_busy 
> [pass] ble_gap_test_suite_conn_gen/ble_gap_test_case_conn_gen_good 
> [pass] ble_gap_test_suite_conn_gen/ble_gap_test_case_conn_gen_bad_args 
> [pass] ble_gap_test_suite_conn_gen/ble_gap_test_case_conn_gen_dflt_params 
> [pass] ble_gap_test_suite_conn_gen/ble_gap_test_case_conn_gen_already 
> [pass] ble_gap_test_suite_conn_gen/ble_gap_test_case_conn_gen_done 
> [pass] ble_gap_test_suite_conn_gen/ble_gap_test_case_conn_gen_busy 
> [pass] ble_gap_test_suite_conn_gen/ble_gap_test_case_conn_gen_fail_evt 
> [pass] ble_gap_test_suite_conn_cancel/ble_gap_test_case_conn_cancel_good 
> [pass] ble_gap_test_suite_conn_cancel/ble_gap_test_case_conn_cancel_bad_args 
> [pass] ble_gap_test_suite_conn_cancel/ble_gap_test_case_conn_cancel_ctlr_fail 
> [pass] 
> ble_gap_test_suite_conn_terminate/ble_gap_test_case_conn_terminate_bad_args 
> [pass] 
> ble_gap_test_suite_conn_terminate/ble_gap_test_case_conn_terminate_good 
> [pass] 
> ble_gap_test_suite_conn_terminate/ble_gap_test_case_conn_terminate_ctlr_fail 
> [pass] 
> ble_gap_test_suite_conn_terminate/ble_gap_test_case_conn_terminate_hci_fail 
> [pass] ble_gap_test_suite_conn_find/ble_gap_test_case_conn_find 
> [pass] ble_gap_test_suite_adv/ble_gap_test_case_adv_bad_args 
> [pass] ble_gap_test_suite_adv/ble_gap_test_case_adv_dflt_params 
> [pass] ble_gap_test_suite_adv/ble_gap_test_case_adv_good 
> [pass] ble_gap_test_suite_adv/ble_gap_test_case_adv_ctlr_fail 
> [pass] ble_gap_test_suite_adv/ble_gap_test_case_adv_hci_fail 
> [pass] ble_gap_test_suite_stop_adv/ble_gap_test_case_stop_adv_good 
> [pass] ble_gap_test_suite_stop_adv/ble_gap_test_case_stop_adv_hci_fail 
> [pass] ble_gap_test_suite_update_conn/ble_gap_test_case_update_conn_good 
> [pass] ble_gap_test_suite_update_conn/ble_gap_test_case_update_conn_bad 
> [pass] ble_gap_test_suite_update_conn/ble_gap_test_case_update_conn_hci_fail 
> [pass] ble_gap_test_suite_update_conn/ble_gap_test_case_update_conn_l2cap 
> [pass] ble_gap_test_suite_update_conn/ble_gap_test_case_update_peer_good 
> [pass] ble_gap_test_suite_update_conn/ble_gap_test_case_update_req_good 
> [pass] ble_gap_test_suite_update_conn/ble_gap_test_case_update_req_hci_fail 
> [pass] ble_gap_test_suite_update_conn/ble_gap_test_case_update_req_reject 
> [pass] 
> ble_gap_test_suite_update_conn/ble_gap_test_case_update_concurrent_good 
> [pass] 
> ble_gap_test_suite_update_conn/ble_gap_test_case_update_concurrent_hci_fail 
> [pass] 
> ble_gap_test_suite_update_conn/ble_gap_test_case_update_conn_verify_params 
> [pass] ble_gap_test_suite_timeout/ble_gap_test_case_conn_timeout_conn_forever 
> [pass] ble_gap_test_suite_timeout/ble_gap_test_case_conn_timeout_conn_timeout 
> [pass] ble_gap_test_suite_timeout/ble_gap_test_case_conn_forever_conn_timeout 
> [pass] ble_gap_test_suite_timeout/ble_gap_test_case_disc_timeout_disc_forever 
> [pass] ble_gap_test_suite_timeout/ble_gap_test_case_disc_timeout_disc_timeout 
> [pass] ble_gap_test_suite_timeout/ble_gap_test_case_disc_forever_disc_timeout 
> [pass] ble_gap_test_suite_timeout/ble_gap_test_case_conn_timeout_disc_timeout 
> [pass] ble_gap_test_suite_timeout/ble_gap_test_case_update_timeout 
> [pass] ble_gap_test_suite_mtu/ble_gap_test_case_mtu_us 
> [pass] ble_gap_test_suite_mtu/ble_gap_test_case_mtu_peer 
> [pass] ble_gap_test_suite_set_cb/ble_gap_test_case_set_cb_good 
> [pass] ble_gap_test_suite_set_cb/ble_gap_test_case_set_cb_bad 
> [pass] ble_gatt_conn_suite/ble_gatt_conn_test_disconnect 
> [pass] ble_gatt_conn_suite/ble_gatt_conn_test_timeout 
> [pass] ble_gatt_disc_c_test_suite/ble_gatt_disc_c_test_disc_all 
> [pass] ble_gatt_disc_c_test_suite/ble_gatt_disc_c_test_disc_uuid 
> [pass] ble_gatt_disc_c_test_suite/ble_gatt_disc_c_test_oom_all 
> [pass] ble_gatt_disc_c_test_suite/ble_gatt_disc_c_test_oom_uuid 
> [pass] ble_gatt_disc_c_test_suite/ble_gatt_disc_c_test_oom_all 
> [pass] ble_gatt_disc_d_test_suite/ble_gatt_disc_d_test_1 
> [pass] ble_gatt_disc_d_test_suite/ble_gatt_disc_d_test_oom_all 
> [pass] ble_gatt_disc_s_test_suite/ble_gatt_disc_s_test_disc_all 
> [pass] ble_gatt_disc_s_test_suite/ble_gatt_disc_s_test_disc_uuid 
> [pass] ble_gatt_disc_s_test_suite/ble_gatt_disc_s_test_oom_all 
> [pass] ble_gatt_disc_s_test_suite/ble_gatt_disc_s_test_oom_uuid 
> [pass] ble_gatt_disc_s_test_suite/ble_gatt_disc_s_test_oom_timeout 
> [pass] ble_gatt_find_s_test_suite/ble_gatt_find_s_test_1 
> [pass] ble_gatt_find_s_test_suite/ble_gatt_find_s_test_oom 
> [pass] ble_gatt_read_test_suite/ble_gatt_read_test_by_handle 
> [pass] ble_gatt_read_test_suite/ble_gatt_read_test_by_uuid 
> [pass] ble_gatt_read_test_suite/ble_gatt_read_test_long 
> [pass] ble_gatt_read_test_suite/ble_gatt_read_test_mult 
> [pass] ble_gatt_read_test_suite/ble_gatt_read_test_concurrent 
> [pass] ble_gatt_read_test_suite/ble_gatt_read_test_long_oom 
> [pass] ble_gatt_write_test_suite/ble_gatt_write_test_no_rsp 
> [pass] ble_gatt_write_test_suite/ble_gatt_write_test_rsp 
> [pass] ble_gatt_write_test_suite/ble_gatt_write_test_long_good 
> [pass] ble_gatt_write_test_suite/ble_gatt_write_test_long_bad_handle 
> [pass] ble_gatt_write_test_suite/ble_gatt_write_test_long_bad_offset 
> [pass] ble_gatt_write_test_suite/ble_gatt_write_test_long_bad_value 
> [pass] ble_gatt_write_test_suite/ble_gatt_write_test_long_bad_length 
> [pass] ble_gatt_write_test_suite/ble_gatt_write_test_long_queue_full 
> [pass] ble_gatt_write_test_suite/ble_gatt_write_test_reliable_good 
> [pass] ble_gatt_write_test_suite/ble_gatt_write_test_long_oom 
> [pass] ble_gatt_write_test_suite/ble_gatt_write_test_reliable_oom 
> [pass] ble_gatts_notify_suite/ble_gatts_notify_test_n 
> [pass] ble_gatts_notify_suite/ble_gatts_notify_test_i 
> [pass] ble_gatts_notify_suite/ble_gatts_notify_test_bonded_n 
> [pass] ble_gatts_notify_suite/ble_gatts_notify_test_bonded_i 
> [pass] ble_gatts_notify_suite/ble_gatts_notify_test_bonded_i_no_ack 
> [pass] ble_gatts_notify_suite/ble_gatts_notify_test_disallowed 
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_basic 
> |net/nimble/host/test/src/ble_gatts_read_test.c:183| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_basic 
> |net/nimble/host/test/src/ble_hs_test_util.c:1174| failed assertion: u8 == 
> att_op
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_basic 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_basic 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_basic 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_basic 
> |net/nimble/host/test/src/ble_hs_test_util.c:1183| failed assertion: rc != 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_basic 
> |net/nimble/host/test/src/ble_gatts_read_test.c:183| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_basic 
> |net/nimble/host/test/src/ble_hs_test_util.c:1174| failed assertion: u8 == 
> att_op
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_basic 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_basic 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_basic 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_basic 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_basic 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_basic 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_basic 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_basic 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_gatts_read_test.c:234| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1174| failed assertion: u8 == 
> att_op
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_gatts_read_test.c:245| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1174| failed assertion: u8 == 
> att_op
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1178| failed assertion: rc == 0
> [FAIL] ble_gatts_read_test_suite/ble_gatts_read_test_case_long 
> |net/nimble/host/test/src/ble_hs_test_util.c:1179| failed assertion: u8 == 
> attr_data[i]
> [pass] ble_gatts_reg_suite/ble_gatts_reg_test_svc_return 
> [pass] ble_gatts_reg_suite/ble_gatts_reg_test_chr_return 
> [pass] ble_gatts_reg_suite/ble_gatts_reg_test_dsc_return 
> [pass] ble_gatts_reg_suite/ble_gatts_reg_test_svc_cb 
> [pass] ble_hs_adv_test_suite/ble_hs_adv_test_case_user_rsp 
> [pass] ble_hs_adv_test_suite/ble_hs_adv_test_case_user_full_payload 
> [pass] conn_suite/ble_hs_conn_test_direct_connect_success 
> [pass] conn_suite/ble_hs_conn_test_direct_connectable_success 
> [pass] conn_suite/ble_hs_conn_test_undirect_connectable_success 
> [pass] ble_hs_hci_suite/ble_hs_hci_test_event_bad 
> [pass] ble_hs_hci_suite/ble_hs_hci_test_rssi 
> [pass] ble_hs_hci_suite/ble_hs_hci_acl_one_conn 
> [pass] ble_hs_hci_suite/ble_hs_hci_acl_two_conn 
> [pass] ble_hs_id_test_suite_auto/ble_hs_id_test_case_auto_none 
> [pass] ble_hs_id_test_suite_auto/ble_hs_id_test_case_auto_public 
> [pass] ble_hs_id_test_suite_auto/ble_hs_id_test_case_auto_random 
> [pass] ble_hs_id_test_suite_auto/ble_hs_id_test_case_auto_rpa_pub 
> [pass] ble_hs_id_test_suite_auto/ble_hs_id_test_case_auto_rpa_rnd 
> [pass] ble_hs_pvcy_test_suite_irk/ble_hs_pvcy_test_case_restore_irks 
> [pass] ble_hs_pvcy_test_suite_irk/ble_hs_pvcy_test_case_add_irk_idle 
> [pass] ble_hs_pvcy_test_suite_irk/ble_hs_pvcy_test_case_add_irk_adv 
> [pass] ble_hs_pvcy_test_suite_irk/ble_hs_pvcy_test_case_add_irk_disc 
> [pass] ble_hs_pvcy_test_suite_irk/ble_hs_pvcy_test_case_add_irk_conn 
> [pass] ble_hs_pvcy_test_suite_irk/ble_hs_pvcy_test_case_add_irk_adv_disc 
> [pass] ble_hs_pvcy_test_suite_irk/ble_hs_pvcy_test_case_add_irk_adv_conn 
> [pass] ble_l2cap_test_suite/ble_l2cap_test_case_bad_header 
> [pass] ble_l2cap_test_suite/ble_l2cap_test_case_bad_handle 
> [pass] ble_l2cap_test_suite/ble_l2cap_test_case_frag_single 
> [pass] ble_l2cap_test_suite/ble_l2cap_test_case_frag_multiple 
> [pass] ble_l2cap_test_suite/ble_l2cap_test_case_frag_channels 
> [pass] ble_l2cap_test_suite/ble_l2cap_test_case_frag_timeout 
> [pass] ble_l2cap_test_suite/ble_l2cap_test_case_sig_unsol_rsp 
> [pass] ble_l2cap_test_suite/ble_l2cap_test_case_sig_update_accept 
> [pass] ble_l2cap_test_suite/ble_l2cap_test_case_sig_update_reject 
> [pass] ble_l2cap_test_suite/ble_l2cap_test_case_sig_update_init_accept 
> [pass] ble_l2cap_test_suite/ble_l2cap_test_case_sig_update_init_reject 
> [pass] ble_l2cap_test_suite/ble_l2cap_test_case_sig_update_init_fail_master 
> [pass] ble_l2cap_test_suite/ble_l2cap_test_case_sig_update_init_fail_bad_id 
> [pass] ble_l2cap_test_suite/ble_l2cap_test_case_sig_coc_conn_invalid_psm 
> [pass] ble_l2cap_test_suite/ble_l2cap_test_case_sig_coc_conn_out_of_resource 
> [pass] ble_l2cap_test_suite/ble_l2cap_test_case_sig_coc_conn_invalid_cid 
> [pass] ble_l2cap_test_suite/ble_l2cap_test_case_sig_coc_conn_insuff_authen 
> [pass] ble_l2cap_test_suite/ble_l2cap_test_case_sig_coc_conn_insuff_author 
> [pass] 
> ble_l2cap_test_suite/ble_l2cap_test_case_sig_coc_incoming_conn_invalid_psm 
> [pass] 
> ble_l2cap_test_suite/ble_l2cap_test_case_sig_coc_incoming_conn_rejected_by_app
>  
> [pass] ble_l2cap_test_suite/ble_l2cap_test_case_sig_coc_incoming_conn_success 
> [pass] ble_l2cap_test_suite/ble_l2cap_test_case_sig_coc_disconnect_succeed 
> [pass] 
> ble_l2cap_test_suite/ble_l2cap_test_case_sig_coc_incoming_disconnect_succeed 
> [pass] 
> ble_l2cap_test_suite/ble_l2cap_test_case_sig_coc_incoming_disconnect_failed 
> [pass] ble_l2cap_test_suite/ble_l2cap_test_case_coc_send_data_succeed 
> Thread 2 received signal SIGSEGV, Segmentation fault.
> 0x0000a839 in os_mbuf_free (om=0x1af4b00) at kernel/os/src/os_mbuf.c:434
> 434           rc = os_memblock_put(om->om_omp->omp_pool, om);
> (gdb) c
> Continuing.
> Program terminated with signal SIGSEGV, Segmentation fault.
> The program no longer exists.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to