You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by GitBox <gi...@apache.org> on 2019/07/20 02:42:01 UTC

[GitHub] [mynewt-nimble] lance-proxy commented on issue #532: [controller] Hardfault exception in LL

lance-proxy commented on issue #532: [controller] Hardfault exception in LL
URL: https://github.com/apache/mynewt-nimble/issues/532#issuecomment-513428786
 
 
   Dumping some LL variables here to aid debug this crash:
   ```
   (gdb) p g_ble_ll_data
   $3 = {
     ll_supp_features = 4110, 
     ll_state = 4 '\004', 
     ll_num_acl_pkts = 4 '\004', 
     ll_acl_pkt_size = 255, 
     ll_pref_tx_phys = 0 '\000', 
     ll_pref_rx_phys = 0 '\000', 
     ll_rfclk_state = 2 '\002', 
     ll_xtal_ticks = 49, 
     ll_rfclk_start_time = 1362672, 
     ll_rfclk_timer = {
       bsp_timer = 0x2000d940 <nrf52_hal_timer5>, 
       cb_func = 0x30925 <ble_ll_xcvr_rfclk_timer_exp>, 
       cb_arg = 0x0, 
       expiry = 1412703, 
       link = {
         tqe_next = 0x2000f12c <g_ble_ll_sched_timer>, 
         tqe_prev = 0x0
       }
     }, 
     ll_evq = {
       evq = {
         evq_owner = 0x2000dc5c <g_ble_ll_task>, 
         evq_task = 0x2000dc5c <g_ble_ll_task>, 
         evq_list = {
           stqh_first = 0x0, 
           stqh_last = 0x2000dce0 <g_ble_ll_data+52>
         }
       }
     }, 
     ll_wfr_timer = {
       bsp_timer = 0x0, 
       cb_func = 0x0, 
       cb_arg = 0x0, 
       expiry = 0, 
       link = {
         tqe_next = 0x0, 
         tqe_prev = 0x0
       }
     }, 
     ll_rx_pkt_ev = {
       ev = {
         ev_queued = 0 '\000', 
         ev_cb = 0x28111 <ble_ll_event_rx_pkt>, 
         ev_arg = 0x0, 
         ev_next = {
           stqe_next = 0x0
         }
       }
     }, 
     ll_rx_pkt_q = {
       stqh_first = 0x0, 
       stqh_last = 0x2000dd10 <g_ble_ll_data+100>
     }, 
     ll_tx_pkt_ev = {
       ev = {
         ev_queued = 0 '\000', 
         ev_cb = 0x280a9 <ble_ll_event_tx_pkt>, 
         ev_arg = 0x0, 
         ev_next = {
           stqe_next = 0x0
         }
       }
     }, 
     ll_tx_pkt_q = {
       stqh_first = 0x0, 
       stqh_last = 0x2000dd28 <g_ble_ll_data+124>
     }, 
     ll_dbuf_overflow_ev = {
       ev = {
         ev_queued = 0 '\000', 
         ev_cb = 0x280a3 <ble_ll_event_dbuf_overflow>, 
         ev_arg = 0x0, 
         ev_next = {
           stqe_next = 0x0
         }
       }
     }, 
     ll_comp_pkt_ev = {
       ev = {
         ev_queued = 0 '\000', 
         ev_cb = 0x2809d <ble_ll_event_comp_pkts>, 
         ev_arg = 0x0, 
         ev_next = {
           stqe_next = 0x0
         }
       }
     }, 
     ll_hw_err_timer = {
       co = {
         c_ev = {
           ev_queued = 0 '\000', 
           ev_cb = 0x28185 <ble_ll_hw_err_timer_cb>, 
           ev_arg = 0x0, 
           ev_next = {
             stqe_next = 0x0
           }
         }, 
         c_evq = 0x2000dcd8 <g_ble_ll_data+44>, 
         c_ticks = 0, 
         c_next = {
           tqe_next = 0x0, 
           tqe_prev = 0x0
         }
       }
     }
   }
   
   (gdb) p g_ble_phy_data
   $4 = {
     phy_stats_initialized = 1 '\001', 
     phy_txpwr_dbm = 0 '\000', 
     phy_chan = 15 '\017', 
     phy_state = 1 '\001', 
     phy_transition = 2 '\002', 
     phy_transition_late = 0 '\000', 
     phy_rx_started = 1 '\001', 
     phy_encrypted = 0 '\000', 
     phy_privacy = 0 '\000', 
     phy_tx_pyld_len = 0 '\000', 
     phy_txtorx_phy_mode = 1 '\001', 
     phy_cur_phy_mode = 1 '\001', 
     phy_bcc_offset = 0 '\000', 
     rx_pwr_compensation = 0 '\000', 
     phy_aar_scratch = 0, 
     phy_access_address = 1317461809, 
     rxhdr = {
       {
         rxinfo = {
           flags = 132, 
           channel = 15 '\017', 
           handle = 12 '\f', 
           rssi = -66 '\276', 
           phy = 1 '\001', 
           phy_mode = 1 '\001', 
           user_data = 0x0
         }, 
         txinfo = {
           flags = 132 '\204', 
           offset = 0 '\000', 
           pyld_len = 15 '\017', 
           hdr_byte = 12 '\f'
         }
       }, 
       beg_cputime = 1412827, 
       rem_usecs = 11
     }, 
     txend_arg = 0x2000ef3c <g_ble_ll_conn_sm+4004>, 
     txend_cb = 0x0, 
     phy_start_cputime = 1412758
   }
   (gdb) p g_ble_ll_scan_sm
   $5 = {
     scan_enabled = 1 '\001', 
     own_addr_type = 1 '\001', 
     scan_filt_dups = 0 '\000', 
     scan_rsp_pending = 0 '\000', 
     scan_rsp_cons_fails = 1 '\001', 
     scan_rsp_cons_ok = 0 '\000', 
     scan_rpa_index = -1 '\377', 
     scan_peer_rpa = "\000\000\000\000\000", 
     pdu_data = {
       hdr_byte = 67 'C', 
       {
         scana = "E\017\255r", <incomplete sequence \363>, 
         inita = "E\017\255r", <incomplete sequence \363>
       }, 
       adva = "9\371\367\307R\004"
     }, 
     upper_limit = 8, 
     backoff_count = 8, 
     scan_win_start_time = 0, 
     scan_sched_ev = {
       ev = {
         ev_queued = 0 '\000', 
         ev_cb = 0x2e25d <ble_ll_scan_event_proc>, 
         ev_arg = 0x2000d05c <g_ble_ll_scan_sm>, 
         ev_next = {
           stqe_next = 0x0
         }
       }
     }, 
     scan_timer = {
       bsp_timer = 0x2000d940 <nrf52_hal_timer5>, 
       cb_func = 0x2df69 <ble_ll_scan_timer_cb>, 
       cb_arg = 0x2000d05c <g_ble_ll_scan_sm>, 
       expiry = 1413787, 
       link = {
         tqe_next = 0x2000d0b8 <g_ble_ll_scan_sm+92>, 
         tqe_prev = 0x2000f13c <g_ble_ll_sched_timer+16>
       }
     }, 
     scan_interrupted_ev = {
       ev = {
         ev_queued = 0 '\000', 
         ev_cb = 0x2eaf1 <ble_ll_scan_interrupted_event_cb>, 
         ev_arg = 0x0, 
         ev_next = {
           stqe_next = 0x0
         }
       }
     }, 
     duration_timer = {
       bsp_timer = 0x2000d940 <nrf52_hal_timer5>, 
       cb_func = 0x2e5f1 <ble_ll_scan_duration_timer_cb>, 
       cb_arg = 0x2000d05c <g_ble_ll_scan_sm>, 
       expiry = 1416410, 
       link = {
         tqe_next = 0x2000ca64 <rtt_timer>, 
         tqe_prev = 0x2000d0a0 <g_ble_ll_scan_sm+68>
       }
     }, 
     period_timer = {
       bsp_timer = 0x2000d940 <nrf52_hal_timer5>, 
       cb_func = 0x2e1b5 <ble_ll_scan_period_timer_cb>, 
       cb_arg = 0x2000d05c <g_ble_ll_scan_sm>, 
       expiry = 0, 
       link = {
         tqe_next = 0x0, 
         tqe_prev = 0x0
       }
     }, 
     duration_ticks = 53739, 
     period_ticks = 0, 
     ext_scanning = 1 '\001', 
     cur_phy = 0 '\000', 
     next_phy = 255 '\377', 
     restart_timer_needed = 0 '\000', 
     cur_aux_data = 0x0, 
     phy_data = {{
         phy = 1 '\001', 
         own_addr_type = 1 '\001', 
         scan_filt_policy = 0 '\000', 
         configured = 1 '\001', 
         scan_type = 1 '\001', 
         scan_chan = 37 '%', 
         scan_itvl = 48, 
         scan_window = 48, 
         scan_win_start_time = 1412804, 
         next_event_start = 0
       }, {
         phy = 3 '\003', 
         own_addr_type = 0 '\000', 
         scan_filt_policy = 0 '\000', 
         configured = 0 '\000', 
         scan_type = 0 '\000', 
         scan_chan = 0 '\000', 
         scan_itvl = 0, 
         scan_window = 0, 
         scan_win_start_time = 0, 
         next_event_start = 0
       }}
   }
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services