[BBB] kernel panic during boot
Sylvain Garrigues
sylvain at sylvaingarrigues.com
Tue Aug 8 13:46:11 UTC 2017
Hi Manuel,
I may have reported the same problem in https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=221227
Can you try adding the following lines to GENERIC-NODEBUG:
nodevice ds1307 # Dallas DS1307 RTC and compatible
nodevice ds133x # Dallas DS1337, DS1338 and DS1339 RTC
nodevice ds1672 # Dallas DS1672 RTC
nodevice ds3231 # Dallas DS3231 RTC + temperature
nodevice nxprtc # NXP RTCs: PCA/PFC212x PCA/PCF85xx
nodevice s35390a # Seiko Instruments S-35390A RTC
I have a suspicion one of these devices is making the kernel panic. It
solved my bug.
Cheers,
Sylvain.
On Tue, Aug 08, 2017 at 01:19:34PM +0200, Manuel Stühn wrote:
> Hi,
> booting a FreeBSD CURRENT r322118 on a BBB (GENERIC-NODEBUG kernel) ends
> with a panic:
>
> [...]
> iichb0: <TI I2C Controller> mem 0x44e0b000-0x44e0bfff irq 17 on simplebus0
> iichb0: I2C revision 4.0 FIFO size: 32 bytes
> iicbus0: <OFW I2C bus> on iichb0
> panic: timed sleep before timers are working
> cpuid = 0
> time = 1
> KDB: stack backtrace:
> db_trace_self() at db_trace_self
> [...]
>
> The complete boot log incl. backtrace is attached.
>
> Any ideas?
>
>
> U-Boot SPL 2017.01-rc3 (Feb 11 2017 - 00:43:55)
> Trying to boot from MMC1MMC partition switch failed
> *** Warning - MMC partition switch failed, using default environment
>
> reading u-boot.img
> reading u-boot.img
>
>
> U-Boot 2017.01-rc3 (Feb 11 2017 - 00:43:55 +0000)
>
> CPU : AM335X-GP rev 2.1
> I2C: ready
> DRAM: 512 MiB
> MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
> Card did not respond to voltage select!
> *** Warning - MMC init failed, 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
> ** Unable to read file boot.scr **
> reading uEnv.txt
> ** Unable to read file uEnv.txt **
> switch to partitions #0, OK
> mmc0 is current device
> Scanning mmc 0:1...
> Found FreeBSD U-Boot Loader (bin)
> reading ubldr.bin
> 237704 bytes read in 20 ms (11.3 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
> (Sat Mar 11 12:11:52 CET 2017 manuel at freebsd-t420)
>
> DRAM: 512MB
> Card did not respond to voltage select!
> Card did not respond to voltage select!
> Card did not respond to voltage select!
> Number of U-Boot devices: 2
> 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:
> /boot/kernel/kernel data=0x813d80+0x180280 syms=[0x4+0x8c6a0+0x4+0xc9f3c]
>
> Hit [Enter] to boot immediately, or any other key for command prompt.
> Booting [/boot/kernel/kernel]...
> /boot/dtb/am335x-boneblack.dtb size=0x103f9
> 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-2017 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 3df4ae2137c(master): Mon Aug 7 16:03:23 CEST 2017
> manuel at freebsd-t420:/usr/home/manuel/devel/github/freebsd/obj/arm.armv6/usr/home/manuel/devel/github/freebsd/src/sys/GENERIC-NODEBUG arm
> FreeBSD clang version 5.0.0 (branches/release_50 309439) (based on LLVM 5.0.0svn)
> VT: init without driver.
> CPU: ARM Cortex-A8 r3p2 (ECO: 0x00000000)
> CPU Features:
> Thumb2, Security, VMSAv7
> Optional instructions:
> UMULL, SMULL, SIMD(ext)
> 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 = 511221760 (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 simplebus1
> ti_scm0: <TI Control Module> mem 0-0x7ff on simplebus2
> regfix0: <Fixed Regulator> on ofwbus0
> clk_fixed0: <Fixed clock> on ofwbus0
> ti_aintc0: <TI AINTC Interrupt Controller> mem 0x48200000-0x48200fff on simplebus0
> ti_aintc0: Revision 5.0
> cpulist0: <Open Firmware CPU Group> on ofwbus0
> cpu0: <Open Firmware CPU> on cpulist0
> pmu0: <Performance Monitoring Unit> irq 0 on ofwbus0
> am335x_prcm0: <AM335x Power and Clock Management> mem 0x200000-0x203fff on simplebus1
> am335x_prcm0: Clocks: System 24.0 MHz, CPU 1000 MHz
> 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 on simplebus0
> gpiobus0: <OFW GPIO bus> on gpio0
> gpioc0: <GPIO controller> on gpio0
> gpio1: <TI AM335x General Purpose I/O (GPIO)> mem 0x4804c000-0x4804cfff irq 8 on simplebus0
> gpiobus1: <OFW GPIO bus> on gpio1
> gpioc1: <GPIO controller> on gpio1
> gpio2: <TI AM335x General Purpose I/O (GPIO)> mem 0x481ac000-0x481acfff irq 9 on simplebus0
> gpiobus2: <OFW GPIO bus> on gpio2
> gpioc2: <GPIO controller> on gpio2
> gpio3: <TI AM335x General Purpose I/O (GPIO)> mem 0x481ae000-0x481aefff irq 10 on simplebus0
> gpiobus3: <OFW GPIO bus> on gpio3
> gpioc3: <GPIO controller> on gpio3
> uart0: console (115384,n,8,1)atible)> mem 0x44e09000-0x44e0afff irq 11 on simplebus0
> iichb0: <TI I2C Controller> mem 0x44e0b000-0x44e0bfff irq 17 on simplebus0
> iichb0: I2C revision 4.0 FIFO size: 32 bytes
> iicbus0: <OFW I2C bus> on iichb0
> panic: timed sleep before timers are working
> cpuid = 0
> time = 1
> KDB: stack backtrace:
> db_trace_self() at db_trace_self
> pc = 0xc05a1b7c lr = 0xc0061f5c (db_trace_self_wrapper+0x30)
> sp = 0xc0c138a8 fp = 0xc0c139c0
> db_trace_self_wrapper() at db_trace_self_wrapper+0x30
> pc = 0xc0061f5c lr = 0xc028cd18 (vpanic+0x158)
> sp = 0xc0c139c8 fp = 0xc0c139e8
> r4 = 0x00000100 r5 = 0x00000001
> r6 = 0xc06cd645 r7 = 0xc091b2c8
> vpanic() at vpanic+0x158
> pc = 0xc028cd18 lr = 0xc028cbc0 (vpanic)
> sp = 0xc0c139f0 fp = 0xc0c139f4
> r4 = 0xc093ddc0 r5 = 0x00000004
> r6 = 0xfffffa38 r7 = 0xc2997600
> r8 = 0xfffffa3c r9 = 0xfffffa38
> r10 = 0x00000001
> vpanic() at vpanic
> pc = 0xc028cbc0 lr = 0xc02e6a80 (sleepq_timeout)
> sp = 0xc0c139fc fp = 0xc0c13a48
> r4 = 0xc2997600 r5 = 0xfffffa3c
> r6 = 0xfffffa38 r7 = 0x00000001
> r8 = 0xc0c139f4 r9 = 0xc028cbc0
> r10 = 0xc0c139fc
> sleepq_timeout() at sleepq_timeout
> pc = 0xc02e6a80 lr = 0xc0298390 (_sleep+0x24c)
> sp = 0xc0c13a50 fp = 0xc0c13aa0
> r4 = 0xc2997618 r5 = 0x00000000
> r6 = 0xc2997600 r7 = 0xfffffa3c
> r8 = 0xfffffa38 r10 = 0x00000001
> _sleep() at _sleep+0x24c
> pc = 0xc0298390 lr = 0xc063b8cc (ti_i2c_transfer+0x260)
> sp = 0xc0c13aa8 fp = 0xc0c13ae8
> r4 = 0x00000000 r5 = 0x00000000
> r6 = 0xc299760c r7 = 0x00000000
> r8 = 0xc0c13afc r9 = 0xc2997600
> r10 = 0x00000000
> ti_i2c_transfer() at ti_i2c_transfer+0x260
> pc = 0xc063b8cc lr = 0xc00847b0 (ds133x_probe+0x64)
> sp = 0xc0c13af0 fp = 0xc0c13b38
> r4 = 0x00000002 r5 = 0x0000000f
> r6 = 0x000000d0 r7 = 0xc2a46800
> r8 = 0x000100d0 r9 = 0xc0c13b14
> r10 = 0xc2ae5b80
> ds133x_probe() at ds133x_probe+0x64
> pc = 0xc00847b0 lr = 0xc02c9018 (device_probe_child+0x1dc)
> sp = 0xc0c13b40 fp = 0xc0c13b68
> r4 = 0xc2ae5b80 r5 = 0x00000000
> r6 = 0xc29aa800 r7 = 0xc2a46800
> r8 = 0x00000000 r9 = 0x00000000
> r10 = 0xc285d280
> device_probe_child() at device_probe_child+0x1dc
> pc = 0xc02c9018 lr = 0xc02c9d24 (device_probe+0x90)
> sp = 0xc0c13b70 fp = 0xc0c13b80
> r4 = 0xffffffff r5 = 0xc2ae5b80
> r6 = 0x00000000 r7 = 0xc06a5d7b
> r8 = 0xc2aa34c0 r9 = 0xc0c13ca8
> r10 = 0xc07d9ed8
> device_probe() at device_probe+0x90
> pc = 0xc02c9d24 lr = 0xc02cb64c (bus_generic_attach+0x1c)
> sp = 0xc0c13b88 fp = 0xc0c13b90
> r4 = 0xc2ae5b80 r5 = 0xc06e1d53
> r6 = 0x00000000 r10 = 0xc07d9ed8
> bus_generic_attach() at bus_generic_attach+0x1c
> pc = 0xc02cb64c lr = 0xc0089ee8 (ofw_iicbus_attach+0x2e4)
> sp = 0xc0c13b98 fp = 0xc0c13cd0
> r4 = 0xc2ae5c00 r10 = 0xc07d9ed8
> ofw_iicbus_attach() at ofw_iicbus_attach+0x2e4
> pc = 0xc0089ee8 lr = 0xc02ca2ec (device_attach+0x4ec)
> sp = 0xc0c13cd8 fp = 0xc0c13d20
> r4 = 0xc2ae5c00 r5 = 0xc095a270
> r6 = 0xc29a3780 r7 = 0x00000000
> r8 = 0xc093aa4c r9 = 0xc02ce34c
> r10 = 0xc2ae5c50
> device_attach() at device_attach+0x4ec
> pc = 0xc02ca2ec lr = 0xc02cb658 (bus_generic_attach+0x28)
> sp = 0xc0c13d28 fp = 0xc0c13d30
> r4 = 0xc2ae5c00 r5 = 0x80040006
> r6 = 0x00000000 r7 = 0x00000000
> r8 = 0xc29a37d0 r9 = 0xc2997628
> r10 = 0xc2997600
> bus_generic_attach() at bus_generic_attach+0x28
> pc = 0xc02cb658 lr = 0xc063b494 (ti_i2c_attach+0x364)
> sp = 0xc0c13d38 fp = 0xc0c13d78
> r4 = 0xc29a3780 r10 = 0xc2997600
> ti_i2c_attach() at ti_i2c_attach+0x364
> pc = 0xc063b494 lr = 0xc02ca2ec (device_attach+0x4ec)
> sp = 0xc0c13d80 fp = 0xc0c13dc8
> r4 = 0xc29a3780 r5 = 0xc095a270
> r6 = 0xc29a4480 r7 = 0x00000000
> r8 = 0xc093aa4c r9 = 0xc02ce34c
> r10 = 0xc29a37d0
> device_attach() at device_attach+0x4ec
> pc = 0xc02ca2ec lr = 0xc02cbc98 (bus_generic_new_pass+0xf8)
> sp = 0xc0c13dd0 fp = 0xc0c13de8
> r4 = 0xc29a3780 r5 = 0xc07d0a94
> r6 = 0xc080d3f4 r7 = 0x00000000
> r8 = 0xc092b3b0 r9 = 0xc07074d4
> r10 = 0xc093e188
> bus_generic_new_pass() at bus_generic_new_pass+0xf8
> pc = 0xc02cbc98 lr = 0xc02cbc78 (bus_generic_new_pass+0xd8)
> sp = 0xc0c13df0 fp = 0xc0c13e08
> r4 = 0xc29a4480 r5 = 0xc07d0a94
> r6 = 0xc07be0a8 r7 = 0x00000000
> r8 = 0xc092b3b0 r10 = 0xc093e188
> bus_generic_new_pass() at bus_generic_new_pass+0xd8
> pc = 0xc02cbc78 lr = 0xc02cbc78 (bus_generic_new_pass+0xd8)
> sp = 0xc0c13e10 fp = 0xc0c13e28
> r4 = 0xc29a4800 r5 = 0xc07d0a94
> r6 = 0xc07f4a60 r7 = 0x00000000
> r8 = 0xc092b3b0 r10 = 0xc093e188
> bus_generic_new_pass() at bus_generic_new_pass+0xd8
> pc = 0xc02cbc78 lr = 0xc02cbc78 (bus_generic_new_pass+0xd8)
> sp = 0xc0c13e30 fp = 0xc0c13e48
> r4 = 0xc29a4a80 r5 = 0xc07d0a94
> r6 = 0xc092b3b0 r7 = 0x00000000
> r8 = 0xc092b3b0 r10 = 0xc093e188
> bus_generic_new_pass() at bus_generic_new_pass+0xd8
> pc = 0xc02cbc78 lr = 0xc02cd6ec (root_bus_configure+0x80)
> sp = 0xc0c13e50 fp = 0xc0c13e68
> r4 = 0xc07d0a94 r5 = 0xc29a4c80
> r6 = 0xc092b3b0 r7 = 0xc285e060
> r8 = 0xc093ebcc r10 = 0xc093e188
> root_bus_configure() at root_bus_configure+0x80
> pc = 0xc02cd6ec lr = 0xc0222114 (mi_startup+0xfc)
> sp = 0xc0c13e70 fp = 0xc0c13e90
> r4 = 0xc093e284 r5 = 0x00000001
> r6 = 0xc07065cc r7 = 0x00000000
> r8 = 0xc093e280 r10 = 0xc093e188
> mi_startup() at mi_startup+0xfc
> pc = 0xc0222114 lr = 0xc0000244 (btext+0x144)
> sp = 0xc0c13e98 fp = 0x00000000
> r4 = 0xc0000378 r5 = 0xc0990000
> r6 = 0x82056600 r7 = 0x00c52078
> r8 = 0xc0b0e000 r9 = 0x9ff9dee0
> r10 = 0x44e35000
> btext() at btext+0x144
> pc = 0xc0000244 lr = 0xc0000244 (btext+0x144)
> sp = 0xc0c13e98 fp = 0x00000000
> KDB: enter: panic
> [ thread pid 0 tid 100000 ]
> Stopped at $d.3: ldrb r15, [r15, r15, ror r15]!
> db>
>
More information about the freebsd-arm
mailing list