Date: Thu, 5 Nov 2015 20:12:54 +0100 From: Hans Petter Selasky <hps@selasky.org> To: Lars Engels <lars.engels@0x20.net> Cc: arm@freebsd.org Subject: Re: [Banana Pi] Fatal kernel mode data abort: 'Alignment Fault' on read Message-ID: <563BAA36.60208@selasky.org> In-Reply-To: <20151105153423.GS66179@e-new.0x20.net> References: <20151105104859.GQ66179@e-new.0x20.net> <563B372E.20607@selasky.org> <20151105120950.GR66179@e-new.0x20.net> <563B4813.1060403@selasky.org> <20151105153423.GS66179@e-new.0x20.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 11/05/15 16:34, Lars Engels wrote: > On Thu, Nov 05, 2015 at 01:14:11PM +0100, Hans Petter Selasky wrote: >> On 11/05/15 13:09, Lars Engels wrote: >>> On Thu, Nov 05, 2015 at 12:02:06PM +0100, Hans Petter Selasky wrote: >>>> On 11/05/15 11:48, Lars Engels wrote: >>>>> Using FreeBSD-armv6-11.0-A20-290366.img I can reproducible crash the >>>>> kernel by USB-tethering the Banana Pi to a mobile phone and run " >>>>> pkg bootstrap". It looks like this: >>>>> >>>>> root@bananapi:/ # pkg bootstrap >>>>> The package management tool is not yet installed on your system. >>>>> Do you want to fetch and install it now? [y/N]: y >>>>> Bootstrapping pkg from pkg+http://pkg.FreeBSD.org/FreeBSD:11:armv6/latest, please wait... >>>>> Fatal kernel mode data abort: 'Alignment Fault' on read >>>>> trapframe: 0xea576a90 >>>>> FSR=00000001, FAR=c43a1d6e, spsr=60000113 >>>>> r0 =00000014, r1 =0000003c, r2 =0000003c, r3 =00000903 >>>>> r4 =00000000, r5 =c43a1d6a, r6 =00000028, r7 =c43a1d56 >>>>> r8 =00000000, r9 =00000014, r10=00000028, r11=ea576bf8 >>>>> r12=00000000, ssp=ea576b20, slr=c061aba4, pc =c04f68e8 >>>>> >>>>> [ thread pid 13 tid 100024 ] >>>>> Stopped at tcp_input+0x820: ldr r0, [r5, #0x004] >>>> >>>> Hi, >>>> >>>> Could you "objdump -Dx --source /boot/kernel/kernel" and figure out >>>> which code line "tcp_input+0x820" corresponds to? >>> >>> You mean like "objdump ... | grep -C10 tcp_input+0x820"? >>> >>> I started that half an hour ago and it's still not finished. >>> >> >> No, you need to find where tcp_input starts, by less-ing it, then add >> 0x820 to that address and then verify that the assembly instruction >> there matches. > > Ok, I have no idea what I am doing, but here's what I did: > # objdump -Dx --source /boot/kernel/kernel --start-address="0xc04f51c8" --stop-address="0xC04F59E8" > > The result is a 1,3MB text file at: > http://bsd-geek.de/FreeBSD/objdump.txt > > Can you see anything there? > Hi, I cannot find "ldr r0, [r5, #4]" at the given location, though if that is the faulting instruction, it might be related to an unaligned SACK option. Can you test a new kernel with a patch? --HPS
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?563BAA36.60208>