Skip to content

Instantly share code, notes, and snippets.

@madaari madaari/debug
Last active Apr 15, 2018

What would you like to do?
FreeBSD Kernel panic due to sleep lock
db> bt
Tracing pid 4 tid 100048 td 0xd2fa0ae0
lock order reversal: (sleepable after non-sleepable)
1st 0xc30e1464 CAM device lock (CAM device lock) @ /BBB/src/sys/cam/cam_xpt.c:832
2nd 0xc07f7718 kernel linker (kernel linker) @ /BBB/src/sys/kern/kern_linker.c:592
stack backtrace:
db_trace_self() at db_trace_self
pc = 0xc0527124 lr = 0xc00cf82c (db_stack_trace+0x108)
sp = 0xd0dc07d8 fp = 0xd0dc07f0
db_stack_trace() at db_stack_trace+0x108
pc = 0xc00cf82c lr = 0xc00cf480 (db_command+0x258)
sp = 0xd0dc07f8 fp = 0xd0dc0898
r4 = 0x00000001 r5 = 0x00000000
r6 = 0xc05c54b9 r10 = 0xc086f560
db_command() at db_command+0x258
pc = 0xc00cf480 lr = 0xc00cf218 (db_command_loop+0x74)
sp = 0xd0dc08a0 fp = 0xd0dc08b0
r4 = 0xc059c562 r5 = 0xc05bd4c0
r6 = 0xc086f54c r7 = 0xc06957f0
r8 = 0xc06e9849 r9 = 0xc0807908
r10 = 0x00000010
db_command_loop() at db_command_loop+0x74
pc = 0xc00cf218 lr = 0xc00d2c34 (db_trap+0x12c)
sp = 0xd0dc08b8 fp = 0xd0dc09d0
r4 = 0x00000000 r5 = 0xc086f558
U-Boot 2017.01-rc3 (Jul 21 2017 - 10:00:38 +0000)
CPU : AM335X-GP rev 2.1
I2C: ready
DRAM: 512 MiB
*** Warning - bad CRC, using default environment
<ethaddr> not set. Validating first E-fuse MAC
Net: cpsw, usb_ether
Press SPACE to abort autoboot in 2 seconds
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
reading boot.scr
199 bytes read in 4 ms (47.9 KiB/s)
Running bootscript from mmc0 ...
## Executing script at 82000000
** Bad device : 0x82000000 **
Cannot load ubldr.bin
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
reading /boot.scr
199 bytes read in 5 ms (38.1 KiB/s)
## Executing script at 80000000
reading ubldr.bin
239860 bytes read in 22 ms (10.4 MiB/s)
## Starting application at 0x82000000 ...
Consoles: U-Boot console
Compatible U-Boot API signature found @0x9df30c58
FreeBSD/armv6 U-Boot loader, Revision 1.2
(Sun Apr 15 12:02:37 UTC 2018 root@rtemsbuild1)
Number of U-Boot devices: 3
U-Boot env: loaderdev not set, will probe all devices.
Found U-Boot device: disk
Probing all disk devices...
Checking unit=0 slice=<auto> partition=<auto>... good.
Booting from disk0s2a:
EFI boot environment
Loading /boot/defaults/loader.conf
/boot/kernel/kernel data=0x6ef34c+0x1a0cb4 syms=[0x4+0x74df0+0x4+0xaa017]
Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [/boot/kernel/kernel]...
/boot/dtb/am335x-boneblack.dtb size=0xc8b3
Loaded DTB from file 'am335x-boneblack.dtb'.
Kernel entry at 0x82200100...
Kernel args: (null)
ARM Debug Architecture not supported
KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2018 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 12.0-CURRENT #0 5c64b878fab(master): Sun Apr 15 12:31:31 UTC 2018
root@rtemsbuild1:/BBB/obj/BBB/src/arm.armv6/sys/BEAGLEBONE-MMCCAM arm
FreeBSD clang version 6.0.0 (tags/RELEASE_600/final 326565) (based on LLVM 6.0.)
WARNING: WITNESS option enabled, expect reduced performance.
VT: init without driver.
CPU: ARM Cortex-A8 r3p2 (ECO: 0x00000000)
CPU Features:
Thumb2, Security, VMSAv7
Optional instructions:
LoUU:2 LoC:3 LoUIS:1
Cache level 1:
32KB/64B 4-way data cache WT WB Read-Alloc
32KB/64B 4-way instruction cache Read-Alloc
Cache level 2:
256KB/64B 8-way unified cache WT WB Read-Alloc Write-Alloc
real memory = 536870912 (512 MB)
avail memory = 510996480 (487 MB)
Texas Instruments AM335x Processor, Revision ES2.1
arc4random: no preloaded entropy cache
random: entropy device external interface
kbd0 at kbdmux0
ofwbus0: <Open Firmware Device Tree>
simplebus0: <Flattened device tree simple bus> on ofwbus0
simplebus1: <Flattened device tree simple bus> on simplebus0
simplebus2: <Flattened device tree simple bus> mem 0x210000-0x211fff on simpleb1
ti_scm0: <TI Control Module> mem 0-0x7ff on simplebus2
ti_aintc0: <TI AINTC Interrupt Controller> mem 0x48200000-0x48200fff on simpleb0
ti_aintc0: Revision 5.0
am335x_prcm0: <AM335x Power and Clock Management> mem 0x200000-0x203fff on simp1
am335x_prcm0: Clocks: System 24.0 MHz, CPU 1000 MHz
cpulist0: <Open Firmware CPU Group> on ofwbus0
cpu0: <Open Firmware CPU> on cpulist0
pmu0: <Performance Monitoring Unit> mem 0x4b000000-0x4bffffff irq 0 on ofwbus0
ti_pinmux0: <TI Pinmux Module> mem 0x800-0xa37 on simplebus2
am335x_scm0: <AM335x Control Module Extension> on ti_scm0
gpio0: <TI AM335x General Purpose I/O (GPIO)> mem 0x44e07000-0x44e07fff irq 7 o0
gpiobus0: <OFW GPIO bus> on gpio0
gpioc0: <GPIO controller> on gpio0
gpio1: <TI AM335x General Purpose I/O (GPIO)> mem 0x4804c000-0x4804cfff irq 8 o0
gpiobus1: <OFW GPIO bus> on gpio1
gpioc1: <GPIO controller> on gpio1
gpio2: <TI AM335x General Purpose I/O (GPIO)> mem 0x481ac000-0x481acfff irq 9 o0
gpiobus2: <OFW GPIO bus> on gpio2
gpioc2: <GPIO controller> on gpio2
gpio3: <TI AM335x General Purpose I/O (GPIO)> mem 0x481ae000-0x481aefff irq 10 0
gpiobus3: <OFW GPIO bus> on gpio3
gpioc3: <GPIO controller> on gpio3
��uart0: <TI UART (16550 compatible)> mem 0x44e09000-0x44e0afff irq 11 on simpl0
uart0: console (115384,n,8,1)
iichb0: <TI I2C Controller> mem 0x44e0b000-0x44e0bfff irq 17 on simplebus0
iichb0: I2C revision 4.0 FIFO size: 32 bytes
iichb1: <TI I2C Controller> mem 0x4819c000-0x4819cfff irq 19 on simplebus0
iichb1: I2C revision 4.0 FIFO size: 32 bytes
sdhci_ti0: <TI MMCHS (SDHCI 2.0)> mem 0x48060000-0x48060fff irq 20 on simplebus0
sdhci_ti0: Custom-disabling 8-bit bus
sdhci_ti1: <TI MMCHS (SDHCI 2.0)> mem 0x481d8000-0x481d8fff irq 21 on simplebus0
sdhci_ti1: Custom-disabling 8-bit bus
ti_wdt0: <TI Watchdog Timer> mem 0x44e35000-0x44e35fff irq 23 on simplebus0
ti_mbox0: <TI System Mailbox> mem 0x480c8000-0x480c81ff irq 26 on simplebus0
ti_mbox0: revision 4.0
am335x_dmtimer0: <AM335x DMTimer2> mem 0x48040000-0x480403ff irq 28 on simplebu0
Event timer "DMTimer2" frequency 24000000 Hz quality 500
am335x_dmtimer1: <AM335x DMTimer3> mem 0x48042000-0x480423ff irq 29 on simplebu0
Timecounter "DMTimer3" frequency 24000000 Hz quality 500
am335x_rtc0: <AM335x RTC (power management mode)> mem 0x44e3e000-0x44e3efff irq0
am335x_rtc0: AM335X RTC v1.0.6
usbss0: <TI AM33xx integrated USB OTG controller> mem 0x47400000-0x47400fff on 0
usbss0: TI AM335X USBSS v0.0.13
musbotg0: <TI AM33xx integrated USB OTG controller> mem 0x47401400-0x474017ff,00
usbus0: Dynamic FIFO sizing detected, assuming 16Kbytes of FIFO RAM
usbus0 on musbotg0
musbotg1: <TI AM33xx integrated USB OTG controller> mem 0x47401c00-0x47401fff,00
usbus1: Dynamic FIFO sizing detected, assuming 16Kbytes of FIFO RAM
usbus1 on musbotg1
cpswss0: <3-port Switch Ethernet Subsystem> mem 0x4a100000-0x4a1007ff,0x4a101200
cpswss0: CPSW SS Version 1.12 (0)
cpswss0: Initial queue size TX=128 RX=384
cpsw0: <Ethernet Switch Port> on cpswss0
miibus0: <MII bus> on cpsw0
smscphy0: <SMC LAN8710A 10/100 interface> PHY 0 on miibus0
smscphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
cpsw0: Ethernet address: 68:9e:19:6f:38:cd
fb0: <AM335x LCD controller> mem 0x4830e000-0x4830efff irq 43 on simplebus0
ti_adc0: <TI ADC controller> mem 0x44e0d000-0x44e0dfff irq 44 disabled on simpl0
ti_adc0: scheme: 0x1 func: 0x730 rtl: 0 rev: 0.1 custom rev: 0
gpioled0: <GPIO LEDs> on ofwbus0
cryptosoft0: <software crypto>
Timecounters tick every 1.000 msec
iicbus0: <OFW I2C bus> on iichb0
iic0: <I2C generic I/O> on iicbus0
am335x_pmic0: <TI TPS65217 Power Management IC> at addr 0x48 irq 58 on iicbus0
iicbus0: <unknown card> at addr 0xa0
tda0 at addr 0xe0 on iicbus0
iicbus1: <OFW I2C bus> on iichb1
iic1: <I2C generic I/O> on iicbus1
iicbus1: <unknown card> at addr 0xa8
iicbus1: <unknown card> at addr 0xaa
iicbus1: <unknown card> at addr 0xac
iicbus1: <unknown card> at addr 0xae
(noperiph:sdhci_slot0:0:-1:ffffffff): xpt_async(AC_PATH_REGISTERED)
mmc_dev_async(async_code=0x20, path_id=0, target_id=0, lun_id=0
Got AC_PATH_REGISTERED -- whatever...
mmc_dev_async(async_code=0x20, path_id=0, target_id=ffffffff, lun_id=ffffffff
(noperiph:sdhci_slot1:0:-1:ffffffff): xpt_async(AC_PATH_REGISTERED)
mmc_dev_async(async_code=0x20, path_id=1, target_id=0, lun_id=0
Got AC_PATH_REGISTERED -- whatever...
mmc_dev_async(async_code=0x20, path_id=1, target_id=ffffffff, lun_id=ffffffff
usbus0: 480Mbps High Speed USB v2.0
usbus1: 480Mbps High Speed USB v2.0
(noperiph:sdhci_slot0:0:-1:ffffffff): XPT_SCAN_{BUS,TGT,LUN}
Kernel page fault with the following non-sleepable locks held:
exclusive sleep mutex CAM device lock (CAM device lock) r = 0 (0xc30e1464) lock2
stack backtrace:
Fatal kernel mode data abort: 'Translation Fault (L1)' on read
trapframe: 0xd0dc0ac0
FSR=00000005, FAR=00000010, spsr=60000013
r0 =00000061, r1 =00000188, r2 =d0dc0a8c, r3 =60000013
r4 =c30e0000, r5 =c30dec40, r6 =00000000, r7 =d0dc0b68
r8 =c086f528, r9 =c068f050, r10=00000000, r11=d0dc0d10
r12=00000062, ssp=d0dc0b50, slr=c002b77c, pc =c002b5c0
[ thread pid 4 tid 100048 ]
Stopped at mmc_action+0x94: ldr r6, [r6, #0x010]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.