lance-proxy edited a comment on issue #834:
URL: https://github.com/apache/mynewt-nimble/issues/834#issuecomment-651292716


   @andrzej-kaczmarek @rymanluk  I finally caught a test device in the 
debugger. See attached gdb backtrace:
   
   Some LL global variable inspections:
   
   ```
   (gdb) p g_ble_phy_data
   $4 = {
     phy_stats_initialized = 1 '\001', 
     phy_txpwr_dbm = 0 '\000', 
     phy_chan = 37 '%', 
     phy_state = 0 '\000', 
     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 = 12 '\f', 
     phy_cur_phy_mode = 1 '\001', 
     phy_tx_phy_mode = 1 '\001', 
     phy_rx_phy_mode = 1 '\001', 
     phy_bcc_offset = 0 '\000', 
     rx_pwr_compensation = 0 '\000', 
     phy_aar_scratch = 0, 
     phy_access_address = 2391391958, 
     rxhdr = {
       {
         rxinfo = {
           flags = 2050, 
           channel = 37 '%', 
           handle = 0 '\000', 
           rssi = -92 '\244', 
           phy = 1 '\001', 
           phy_mode = 1 '\001', 
           user_data = 0x0
         }, 
         txinfo = {
           flags = 2 '\002', 
           offset = 8 '\b', 
           pyld_len = 37 '%', 
           hdr_byte = 0 '\000'
         }
       }, 
       beg_cputime = 616833506, 
       rem_usecs = 18
     }, 
     txend_arg = 0x0, 
     txend_cb = 0x0, 
     phy_start_cputime = 616833416
   }
   ```
   ```
   (gdb) p g_ble_ll_data
   $5 = {
     ll_supp_features = 4110, 
     ll_state = 0 '\000', 
     ll_num_acl_pkts = 4 '\004', 
     ll_acl_pkt_size = 255, 
     ll_pref_tx_phys = 0 '\000', 
     ll_pref_rx_phys = 0 '\000', 
     ll_evq = {
       evq = {
         evq_owner = 0x200139d0 <g_ble_ll_task>, 
         evq_task = 0x0, 
         evq_list = {
           stqh_first = 0x20016b68 <g_ble_ll_rfmgmt_data+52>, 
           stqh_last = 0x20016b74 <g_ble_ll_rfmgmt_data+64>
         }
       }
     }, 
     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 = 0x29831 <ble_ll_event_rx_pkt>, 
         ev_arg = 0x0, 
         ev_next = {
           stqe_next = 0x20016b68 <g_ble_ll_rfmgmt_data+52>
         }
       }
     }, 
     ll_rx_pkt_q = {
       stqh_first = 0x0, 
       stqh_last = 0x20013790 <g_ble_ll_data+72>
     }, 
     ll_tx_pkt_ev = {
       ev = {
         ev_queued = 0 '\000', 
         ev_cb = 0x297c9 <ble_ll_event_tx_pkt>, 
         ev_arg = 0x0, 
         ev_next = {
           stqe_next = 0x0
         }
       }
     }, 
     ll_tx_pkt_q = {
       stqh_first = 0x0, 
       stqh_last = 0x200137a8 <g_ble_ll_data+96>
     }, 
     ll_dbuf_overflow_ev = {
       ev = {
         ev_queued = 0 '\000', 
         ev_cb = 0x297c3 <ble_ll_event_dbuf_overflow>, 
         ev_arg = 0x0, 
         ev_next = {
           stqe_next = 0x0
         }
       }
     }, 
     ll_comp_pkt_ev = {
       ev = {
         ev_queued = 0 '\000', 
         ev_cb = 0x297bd <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 = 0x298a5 <ble_ll_hw_err_timer_cb>, 
           ev_arg = 0x0, 
           ev_next = {
             stqe_next = 0x0
           }
         }, 
         c_evq = 0x20013758 <g_ble_ll_data+16>, 
         c_ticks = 0, 
         c_next = {
           tqe_next = 0x0, 
           tqe_prev = 0x0
         }
       }
     }
   }
   ```
   
   ```
   (gdb) p g_ble_ll_scan_sm
   $6 = {
     scan_enabled = 0 '\000', 
     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_peer_rpa = "\000\000\000\000\000", 
     pdu_data = {
       hdr_byte = 195 '\303', 
       {
         scana = "|\210\034\063", <incomplete sequence \303>, 
         inita = "|\210\034\063", <incomplete sequence \303>
       }, 
       adva = "9~H\276\317", <incomplete sequence \327>
     }, 
     upper_limit = 4, 
     backoff_count = 3, 
     scan_win_start_time = 0, 
     scan_sched_ev = {
       ev = {
         ev_queued = 0 '\000', 
         ev_cb = 0x2fabf <ble_ll_scan_event_proc>, 
         ev_arg = 0x20016db4 <g_ble_ll_scan_sm>, 
         ev_next = {
           stqe_next = 0x0
         }
       }
     }, 
     scan_timer = {
       bsp_timer = 0x2000c610 <nrf52_hal_timer5>, 
       cb_func = 0x2f925 <ble_ll_scan_timer_cb>, 
       cb_arg = 0x20016db4 <g_ble_ll_scan_sm>, 
       expiry = 616833867, 
       link = {
         tqe_next = 0x20016f50 <g_ble_ll_sched_timer>, 
         tqe_prev = 0x0
       }
     }, 
     scan_interrupted_ev = {
       ev = {
         ev_queued = 0 '\000', 
         ev_cb = 0x30441 <ble_ll_scan_interrupted_event_cb>, 
         ev_arg = 0x0, 
         ev_next = {
           stqe_next = 0x0
         }
       }
     }, 
     duration_timer = {
       bsp_timer = 0x2000c610 <nrf52_hal_timer5>, 
       cb_func = 0x30149 <ble_ll_scan_duration_timer_cb>, 
       cb_arg = 0x20016db4 <g_ble_ll_scan_sm>, 
       expiry = 616833516, 
       link = {
         tqe_next = 0x20016de8 <g_ble_ll_scan_sm+52>, 
         tqe_prev = 0x0
       }
     }, 
     period_timer = {
       bsp_timer = 0x2000c610 <nrf52_hal_timer5>, 
       cb_func = 0x2fcc5 <ble_ll_scan_period_timer_cb>, 
       cb_arg = 0x20016db4 <g_ble_ll_scan_sm>, 
       expiry = 0, 
       link = {
         tqe_next = 0x0, 
         tqe_prev = 0x0
       }
     }, 
     duration_ticks = 51773, 
     period_ticks = 0, 
     ext_scanning = 0 '\000', 
     restart_timer_needed = 0 '\000', 
     cur_aux_data = 0x0, 
     scanp = 0x20016e58 <g_ble_ll_scan_sm+164>, 
     scanp_next = 0x0, 
     scanp_phys = {{
         phy = 1 '\001', 
         own_addr_type = 1 '\001', 
         scan_filt_policy = 0 '\000', 
         configured = 1 '\001', 
         scan_type = 1 '\001', 
         scan_chan = 37 '%', 
         timing = {
           interval = 1310, 
           window = 983, 
           start_time = 616832884
         }
       }, {
         phy = 3 '\003', 
         own_addr_type = 0 '\000', 
         scan_filt_policy = 0 '\000', 
         configured = 0 '\000', 
         scan_type = 0 '\000', 
         scan_chan = 0 '\000', 
         timing = {
           interval = 0, 
           window = 0, 
           start_time = 0
         }
       }}
   }
   ```
   
   ```
   (gdb) p p ble_ll_stats
   No symbol "p" in current context.
   (gdb) 
   ```
   
   ```
   (gdb) p p g_ble_ll_conn_create_sm
   No symbol "p" in current context.
   (gdb) 
   ```
   
   I will keep the DUT trapped in the debugger in this state. Please let me 
know if there is any other globals you would like me instead while its in this 
state to help you root cause the issue here.
   


----------------------------------------------------------------
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:
us...@infra.apache.org


Reply via email to