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