On Fri, 17 Jun 2016, Ian Lepore wrote:

On Fri, 2016-06-17 at 07:52 -0700, Adrian Chadd wrote:
Just disable 11n for now. ifconfig wlan0 -ht (and reassociate.)

See if it's that.



-adrian


You can see from the crash info that it's an alignment fault:

 r6 =c21a4876
 ldmib   r6,{r1-r2}

An ldm instruction requires 4-byte alignment.  Now the question is why
undefining __NO_STRICT_ALIGNMENT didn't fix the problem.  Maybe the
wifi code doesn't use __NO_STRICT_ALIGNMENT the same way other network
drivers do?

Unfortunately the pasted info lists the nearby symbol as $a.17+0x38,
which doesn't help find the actual code.  A stack backtrace might help.

-- Ian
...

What do I need to type at the "db> " prompt that would be useful?
I should be able to access the RPI-B in 5 hours.

Here's the result of a "where" taken from an earlier logged session
(different r6 value):

Fatal kernel mode data abort: 'Alignment Fault' on read
trapframe: 0xd3c8c8c0
FSR=00000001, FAR=c218607a, spsr=60000013
r0 =c07a6548, r1 =00000004, r2 =c06059f6, r3 =000007b6
r4 =d3c8ca28, r5 =d3c8cb40, r6 =c2186076, r7 =c1dd4ce0
r8 =c1dd4ce0, r9 =c2186076, r10=d3c8cb40, r11=d3c8c988
r12=00000000, ssp=d3c8c950, slr=c1b50370, pc =c0449ff8

[ thread pid 13 tid 100036 ]
Stopped at      $a.17+0x38:     ldmib   r6, {r1-r2}
db> where
Tracing pid 13 tid 100036 td 0xc1b50370
db_trace_self() at db_trace_self
         pc = 0xc055c774  lr = 0xc0145be4 ($a.19+0xf4)
         sp = 0xd3c8c5b8  fp = 0xd3c8c5d0
$a.19() at $a.19+0xf4
         pc = 0xc0145be4  lr = 0xc0145838 ($a.11+0x250)
         sp = 0xd3c8c5d8  fp = 0xd3c8c678
         r4 = 0x00000001  r5 = 0x00000000
         r6 = 0xc05fb0e7 r10 = 0xc07ab1a8
$a.11() at $a.11+0x250
         pc = 0xc0145838  lr = 0xc01455c0 (db_command_loop+0x5c)
         sp = 0xd3c8c680  fp = 0xd3c8c690
         r4 = 0xc05c8ec6  r5 = 0xc05ead58
         r6 = 0xc07ab194  r7 = 0xc06b7ea0
         r8 = 0xc079ed28  r9 = 0xc079ed2c
        r10 = 0x00000000
db_command_loop() at db_command_loop+0x5c
         pc = 0xc01455c0  lr = 0xc014872c (db_trap+0xec)
         sp = 0xd3c8c698  fp = 0xd3c8c7b0
         r4 = 0x00000001  r5 = 0x00000000
         r6 = 0xc07ab1a0 r10 = 0x00000000
db_trap() at db_trap+0xec
         pc = 0xc014872c  lr = 0xc02f83b0 (kdb_trap+0xb8)
         sp = 0xd3c8c7b8  fp = 0xd3c8c7d8
         r4 = 0x00000000  r5 = 0x00000001
         r6 = 0xc079ed48 r10 = 0x00000000
kdb_trap() at kdb_trap+0xb8
         pc = 0xc02f83b0  lr = 0xc05770b4 ($a.4+0x1c0)
         sp = 0xd3c8c7e0  fp = 0xd3c8c800
         r4 = 0xd3c8c8c0  r5 = 0x00000013
         r6 = 0xc218607a  r7 = 0x00000001
         r8 = 0x00000001  r9 = 0xc1b50370
        r10 = 0x00000000
$a.4() at $a.4+0x1c0
         pc = 0xc05770b4  lr = 0xc0577190 ($a.7+0x78)
         sp = 0xd3c8c808  fp = 0xd3c8c820
         r4 = 0xc218607a  r5 = 0xd3c8c840
         r6 = 0x00000001  r7 = 0x00000001
         r8 = 0x00000013 r10 = 0x00000000
$a.7() at $a.7+0x78
         pc = 0xc0577190  lr = 0xc0576eac (abort_handler+0x438)
         sp = 0xd3c8c828  fp = 0xd3c8c8b8
         r4 = 0xd3c8c8c0  r5 = 0xc0577118
abort_handler() at abort_handler+0x438
         pc = 0xc0576eac  lr = 0xc055eed0 (exception_exit)
         sp = 0xd3c8c8c0  fp = 0xd3c8c988
         r4 = 0xd3c8ca28  r5 = 0xd3c8cb40
         r6 = 0xc2186076  r7 = 0xc1dd4ce0
         r8 = 0xc1dd4ce0  r9 = 0xc2186076
        r10 = 0xd3c8cb40
exception_exit() at exception_exit
         pc = 0xc055eed0  lr = 0xc1b50370 (0xc1b50370)
         sp = 0xd3c8c950  fp = 0xd3c8c988
         r0 = 0xc07a6548  r1 = 0x00000004
         r2 = 0xc06059f6  r3 = 0x000007b6
         r4 = 0xd3c8ca28  r5 = 0xd3c8cb40
         r6 = 0xc2186076  r7 = 0xc1dd4ce0
         r8 = 0xc1dd4ce0  r9 = 0xc2186076
        r10 = 0xd3c8cb40 r12 = 0x00000000
$a.17() at $a.17+0x3c
         pc = 0xc0449ffc  lr = 0xc0449068 (syncache_expand+0x10c)
         sp = 0xd3c8c990  fp = 0xd3c8cad8
         r4 = 0xc1dd4cf0  r5 = 0xc23c9000
         r6 = 0xc1f65208  r7 = 0xd3c8ca28
         r8 = 0xc1dd4ce0  r9 = 0xc2186076
        r10 = 0xd3c8cb40
syncache_expand() at syncache_expand+0x10c
         pc = 0xc0449068  lr = 0xc0438df8 ($a.21+0x100)
         sp = 0xd3c8cae0  fp = 0xd3c8cbb0
         r4 = 0xc0604081  r5 = 0xc23b53a8
         r6 = 0xd3c8cb6c  r7 = 0xc2186076
         r8 = 0xc23b54a4  r9 = 0x00000000
        r10 = 0xc07ae0d8
$a.21() at $a.21+0x100
         pc = 0xc0438df8  lr = 0xc03bf95c (ip_input+0x230)
         sp = 0xd3c8cbb8  fp = 0xd3c8cbf0
         r4 = 0xc2186062  r5 = 0xc1e068e0
         r6 = 0x00000003  r7 = 0x00000000
         r8 = 0x00000000  r9 = 0xc06ff570
        r10 = 0xc07ad790
ip_input() at ip_input+0x230
         pc = 0xc03bf95c  lr = 0xc039e7dc (netisr_dispatch_src+0xa8)
         sp = 0xd3c8cbf8  fp = 0xd3c8cc20
         r4 = 0x00000001  r5 = 0xc07a59b4
         r6 = 0x00000000  r7 = 0xc07a59b0
         r8 = 0xc2102a00  r9 = 0xc05fd75c
        r10 = 0xc2102a00
netisr_dispatch_src() at netisr_dispatch_src+0xa8
         pc = 0xc039e7dc  lr = 0xc03996cc (ether_demux+0x198)
         sp = 0xd3c8cc28  fp = 0xd3c8cc40
         r4 = 0xc1b2a800  r5 = 0x00000800
         r6 = 0xc2102a10  r7 = 0x00000800
         r8 = 0xc2186054  r9 = 0xc05fd75c
        r10 = 0xc2102a00
ether_demux() at ether_demux+0x198
         pc = 0xc03996cc  lr = 0xc039a610 ($a.29+0x39c)
         sp = 0xd3c8cc48  fp = 0xd3c8cc68
         r4 = 0xc1b2a800  r5 = 0xc2102a00
         r6 = 0xc2102a10 r10 = 0xc2102a00
$a.29() at $a.29+0x39c
         pc = 0xc039a610  lr = 0xc039e7dc (netisr_dispatch_src+0xa8)
         sp = 0xd3c8cc70  fp = 0xd3c8cc98
         r4 = 0x00000005  r5 = 0xc07a5a34
         r6 = 0x00000000  r7 = 0xc07a5a30
         r8 = 0xc2102a00 r10 = 0xc2102a00
netisr_dispatch_src() at netisr_dispatch_src+0xa8
         pc = 0xc039e7dc  lr = 0xc0399a6c ($a.13+0x64)
         sp = 0xd3c8cca0  fp = 0xd3c8ccc0
         r4 = 0xc1b2a800  r5 = 0xc2102a00
         r6 = 0x00000000  r7 = 0x00000000
         r8 = 0xc05fd734  r9 = 0xc05fd75c
        r10 = 0xc2102a00
$a.13() at $a.13+0x64
         pc = 0xc0399a6c  lr = 0xc1ff1170 (sta_input+0x498)
         sp = 0xd3c8ccc8  fp = 0xd3c8cd08
         r4 = 0xc202a000  r5 = 0xc1b2a800
         r6 = 0x0000001a  r7 = 0xc23720d0
         r8 = 0xc2372000  r9 = 0x00000080
sta_input() at sta_input+0x498
         pc = 0xc1ff1170  lr = 0xc1f9d4a8 ($a.45+0x3a8)
         sp = 0xd3c8cd10  fp = 0xd3c8cd88
         r4 = 0x00000000  r5 = 0xc1ff0cd8
         r6 = 0xc1f2f4e0  r7 = 0xffffffb4
         r8 = 0xc1f37030  r9 = 0xc2102a00
        r10 = 0xc2372000
$a.45() at $a.45+0x3a8
         pc = 0xc1f9d4a8  lr = 0xc01ca260 ($a.10+0x744)
         sp = 0xd3c8cd90  fp = 0xd3c8cdd0
         r4 = 0xc1f37173  r5 = 0xc0710948
         r6 = 0xc05d677d  r7 = 0xc1f37000
         r8 = 0xc1f37030  r9 = 0xc1f37030
        r10 = 0xc1f370c0
$a.10() at $a.10+0x744
         pc = 0xc01ca260  lr = 0xc01cb48c (usb_command_wrapper+0x150)
         sp = 0xd3c8cdd8  fp = 0xd3c8cdf0
         r4 = 0xc1f37030  r5 = 0xc0710948
         r6 = 0xc05d6a58  r7 = 0xc05d6a7f
         r8 = 0x00000000  r9 = 0xc05d6a6c
        r10 = 0xc1b5d094
usb_command_wrapper() at usb_command_wrapper+0x150
         pc = 0xc01cb48c  lr = 0xc01ca3f8 ($a.12+0x70)
         sp = 0xd3c8cdf8  fp = 0xd3c8ce00
         r4 = 0xc05d677d  r5 = 0xc1f37000
         r6 = 0xc1f37044  r7 = 0xc05d6094
         r8 = 0xc0710994  r9 = 0xc05d60a0
$a.12() at $a.12+0x70
         pc = 0xc01ca3f8  lr = 0xc01c51f4 ($a.4+0xc8)
         sp = 0xd3c8ce08  fp = 0xd3c8ce28
         r4 = 0xc1b5d084  r5 = 0xc1b5d08c
$a.4() at $a.4+0xc8
         pc = 0xc01c51f4  lr = 0xc0284a44 (fork_exit+0x80)
         sp = 0xd3c8ce30  fp = 0xd3c8ce48
         r4 = 0xc1b50370  r5 = 0xc1ac8720
         r6 = 0xc01c512c  r7 = 0xc1b5d084
         r8 = 0xd3c8ce50  r9 = 0x00000000
        r10 = 0x00000000
fork_exit() at fork_exit+0x80
         pc = 0xc0284a44  lr = 0xc055ee5c (swi_exit)
         sp = 0xd3c8ce50  fp = 0x00000000
         r4 = 0xc01c512c  r5 = 0xc1b5d084
         r6 = 0x00000000  r7 = 0x00000000
         r8 = 0x00000000 r10 = 0x00000000
swi_exit() at swi_exit
         pc = 0xc055ee5c  lr = 0xc055ee5c (swi_exit)
         sp = 0xd3c8ce50  fp = 0x00000000
db>


...keith
_______________________________________________
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to