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/24 19:25:34 UTC

[GitHub] [mynewt-nimble] lance-proxy opened a new issue #532: [controller] Hardfault exception when allocating RX PDU mbuf

lance-proxy opened a new issue #532: [controller] Hardfault exception when allocating RX PDU mbuf
URL: https://github.com/apache/mynewt-nimble/issues/532
 
 
   Debug unit is running current top of NimBLE master: https://github.com/apache/mynewt-nimble/commit/8b9cde1df640b64e1f4aa1d5d376b781c152f8ae
   
   Crash log:
   ```
   001490 Unhandled interrupt (3), exception sp 0x2000ff78
   001490  r0:0x2000860f  r1:0x00000000  r2:0x00000050  r3:0x00000000
   001490  r4:0x0000001c  r5:0x0000001c  r6:0x2000d1e8  r7:0x00000001
   001490  r8:0x01ab3f00  r9:0x00000001 r10:0x000005d2 r11:0x00000000
   001490 r12:0x00000080  lr:0x00013223  pc:0x00012b18 psr:0x41000011
   001490 ICSR:0x00421003 HFSR:0x40000000 CFSR:0x01000000
   001490 BFAR:0xe000ed38 MMFAR:0xe000ed34
   ```
   
   See the GDB stack trace below at the time of attaching the debugger post crash (for details of our NimBLE configuration refer to #446)):
   ```
   (gdb) bt
   #0  hal_system_reset () at repos/apache-mynewt-core/hw/mcu/nordic/nrf52xxx/src/hal_system.c:56
   #1  0x000121bc in os_default_irq (tf=0x2000ff30) at repos/apache-mynewt-core/kernel/os/src/arch/cortex_m4/os_fault.c:275
   #2  0x00013f6e in os_default_irq_asm () at repos/apache-mynewt-core/kernel/os/src/arch/cortex_m4/m4/HAL_CM4.s:260
   #3  <signal handler called>
   #4  os_memblock_get (mp=0x2000a284 <os_msys_1_mempool>) at repos/apache-mynewt-core/kernel/os/src/os_mempool.c:346
   #5  0x00012adc in os_mbuf_get (omp=0x2000a278 <os_msys_1_mbuf_pool>, leadingspace=leadingspace@entry=0) at repos/apache-mynewt-core/kernel/os/src/os_mbuf.c:135
   #6  0x00012b0c in os_mbuf_get_pkthdr (omp=<optimized out>, user_pkthdr_len=<optimized out>) at repos/apache-mynewt-core/kernel/os/src/os_mbuf.c:169
   #7  0x00013380 in os_msys_get_pkthdr (dsize=dsize@entry=14, user_hdr_len=user_hdr_len@entry=20) at repos/apache-mynewt-core/kernel/os/src/os_msys.c:163
   #8  0x000281ac in ble_ll_rxpdu_alloc (len=len@entry=14) at repos/apache-mynewt-nimble/nimble/controller/src/ble_ll.c:335
   #9  0x00028490 in ble_ll_rx_end (rxbuf=rxbuf@entry=0x2000d1e8 <g_ble_phy_rx_buf+4> "\003\fS\327\346N@X\241\060\033\326sD\001\004\003\256*\003\001\004\003/", rxhdr=rxhdr@entry=0x2000f1a8 <g_ble_phy_data+24>) at repos/apache-mynewt-nimble/nimble/controller/src/ble_ll.c:1057
   #10 0x000310b2 in ble_phy_rx_end_isr () at repos/apache-mynewt-nimble/nimble/drivers/nrf52/src/ble_phy.c:1070
   #11 ble_phy_isr () at repos/apache-mynewt-nimble/nimble/drivers/nrf52/src/ble_phy.c:1251
   #12 <signal handler called>
   #13 0x00000000 in ?? ()
   Backtrace stopped: previous frame identical to this frame (corrupt stack?)
   (gdb) 
   ```
   Note: everything has been stable with the same app build/configuration pinned to this previous commit in NimBLE:
   https://github.com/apache/mynewt-nimble/tree/b6da0700d25a75124793d2ed9079610260befd51
   
   I suspect there is some race condition occurring in the LL.

----------------------------------------------------------------
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