Alignment Fault 1 - still/again
Mattia Rossi
mattia.rossi.mate at gmail.com
Sat Aug 31 09:40:39 UTC 2013
I've already posted my alignment issues once here, where I got stuck in
something like this:
mvsch1: <Marvell SATA channel> at channel 1 on mvs0
cryptosoft0: <software crypto>
Timecounters tick every 10.000 msec
IPsec: Initialized Security Association Processing.
ipfw2 (+ipv6) initialized, divert enabled, nat enabled, default to
accept, loggd
DUMMYNET 0 with IPv6 initialized (100409)
load_dn_sched dn_sched FIFO loaded
load_dn_sched dn_sched PRIO loaded
load_dn_sched dn_sched QFQ loaded
load_dn_sched dn_sched RR loaded
load_dn_sched dn_sched WF2Q+ loaded
Fatal kernel mode data abort: 'Alignment Fault 1'
trapframe: 0xc0f1acf0
FSR=00000001, FAR=c0f1aed4, spsr=a00000d3
r0 =c0f05160, r1 =c3b4cc40, r2 =c0f1aebc, r3 =00000001
r4 =c0f05160, r5 =c3b4cc40, r6 =c0ef9244, r7 =c0f0b180
r8 =00000000, r9 =c0edf5f0, r10=00000104, r11=c0f1ad68
r12=00000000, ssp=c0f1ad40, slr=c0ad1690, pc =c0d9d8c4
[ thread pid 0 tid 100036 ]
Stopped at cpu_switch+0x28: und 0xe1c281f8
db>
I've managed to get around this for a while by adding
options SCTP
to the kernel. But then usually got stuck at "entropy harvesting", like
Ian and Ronald. (See WITHOUT_ARM_EABI) thread.
Compiling without EABI doesn't help anymore, as that only changes things
for userspace, where I got a Signal 11 for init instead of getting stuck
at entropy harvesting.
Now I've updated to r255074M and options SCTP doesn't help anymore, and
I'm stuck at the alignment failure above.
So I activated witness and here's the output:
ipfw2 (+ipv6) initialized, divert enabled, nat enabled, default to
accept, loggd
DUMMYNET 0 with IPv6 initialized (100409)
load_dn_sched dn_sched FIFO loaded
load_dn_sched dn_sched PRIO loaded
load_dn_sched dn_sched QFQ loaded
load_dn_sched dn_sched RR loaded
load_dn_sched dn_sched WF2Q+ loaded
lock order reversal:
1st 0xc1094e2c entropy harvest mutex (entropy harvest mutex) @
/usr/devel/drea2
2nd 0xc3896420 uart_hwmtx (uart_hwmtx) @
/usr/devel/dreamplug/sys/dev/uart/uar2
KDB: stack backtrace:
db_trace_self() at db_trace_self
pc = 0xc0d98464 lr = 0xc0943cf4 (X_db_symbol_values+0x11c)
sp = 0xdcfb19c8 fp = 0xdcfb1ae0
r10 = 0xc1094e2c
X_db_symbol_values() at X_db_symbol_values+0x11c
pc = 0xc0943cf4 lr = 0xc0ae05c4 (kdb_backtrace+0x38)
sp = 0xdcfb1ae8 fp = 0xdcfb1af0
r4 = 0xc0f2f274 r5 = 0xc0df4456
r6 = 0xc0dff4d1 r7 = 0xc0def19a
kdb_backtrace() at kdb_backtrace+0x38
pc = 0xc0ae05c4 lr = 0xc0afaacc (witness_checkorder+0xddc)
sp = 0xdcfb1af8 fp = 0xdcfb1b48
r4 = 0xc0df4335
witness_checkorder() at witness_checkorder+0xddc
pc = 0xc0afaacc lr = 0xc0a9aa34 (__mtx_lock_spin_flags+0xc8)
sp = 0xdcfb1b50 fp = 0xdcfb1b70
r4 = 0x00000000 r5 = 0xc0f16140
r6 = 0xc3896430 r7 = 0xc3896420
r8 = 0x00000000 r9 = 0xc0df4453
r10 = 0x0000005c
__mtx_lock_spin_flags() at __mtx_lock_spin_flags+0xc8
pc = 0xc0a9aa34 lr = 0xc0994788 (uart_tty_detach+0x9c4)
sp = 0xdcfb1b78 fp = 0xdcfb1b88
r4 = 0x0000006c r5 = 0xc0f1e694
r6 = 0xc0f2f270 r7 = 0xc0f1fb60
r8 = 0xc0ef1f80 r9 = 0xc0f1fb40
r10 = 0xdcfb1cf0
uart_tty_detach() at uart_tty_detach+0x9c4
pc = 0xc0994788 lr = 0xc0a689dc (cnputc+0x80)
sp = 0xdcfb1b90 fp = 0xdcfb1ba8
r4 = 0x0000006c r5 = 0xc0ee26a0
r6 = 0xc0f2f270
cnputc() at cnputc+0x80
pc = 0xc0a689dc lr = 0xc0ae638c (kvprintf+0x128c)
sp = 0xdcfb1bb0 fp = 0xdcfb1c18
r4 = 0x00000005 r5 = 0xdcfb1cf0
r6 = 0x0000006c r7 = 0x00000000
r8 = 0x00000000 r9 = 0xc0ae61f8
kvprintf() at kvprintf+0x128c
pc = 0xc0ae638c lr = 0xc0ae51b4 (kvprintf+0xb4)
sp = 0xdcfb1c20 fp = 0xdcfb1cd8
r4 = 0xc0e10430 r5 = 0x00000000
r6 = 0x00000000 r7 = 0x00000000
r8 = 0x00000000 r9 = 0xc0ae61f8
r10 = 0xdcfb1cf0
kvprintf() at kvprintf+0xb4
pc = 0xc0ae51b4 lr = 0xc0ae68f4 (printf+0x50)
sp = 0xdcfb1ce0 fp = 0xdcfb1d10
r4 = 0xc36f2da8 r5 = 0xc36f2a68
r6 = 0x00000000 r7 = 0xc106230c
r8 = 0xc1096524 r9 = 0x00000001
r10 = 0xc106231b
printf() at printf+0x50
pc = 0xc0ae68f4 lr = 0xc0afa82c (witness_checkorder+0xb3c)
sp = 0xdcfb1d28 fp = 0xdcfb1d78
witness_checkorder() at witness_checkorder+0xb3c
pc = 0xc0afa82c lr = 0xc0a9aa34 (__mtx_lock_spin_flags+0xc8)
sp = 0xdcfb1d80 fp = 0xdcfb1da0
r4 = 0x00000000 r5 = 0xc0f16140
r6 = 0xc0f2f634 r7 = 0xc0f2f624
r8 = 0x00000000 r9 = 0xc0e0e641
r10 = 0x000000f0
__mtx_lock_spin_flags() at __mtx_lock_spin_flags+0xc8
pc = 0xc0a9aa34 lr = 0xc0aece10 (sleepq_lock+0x30)
sp = 0xdcfb1da8 fp = 0xdcfb1da8
r4 = 0xc383c320 r5 = 0xc0f1ded4
r6 = 0x00000000 r7 = 0x00000000
r8 = 0x00000000 r9 = 0xc0f16140
r10 = 0xc0f1ded0
sleepq_lock() at sleepq_lock+0x30
pc = 0xc0aece10 lr = 0xc0ab5dc0 (msleep_spin_sbt+0x84)
sp = 0xdcfb1db0 fp = 0xdcfb1df0
msleep_spin_sbt() at msleep_spin_sbt+0x84
pc = 0xc0ab5dc0 lr = 0xc095e39c (random_yarrow_write+0x458)
sp = 0xdcfb1df8 fp = 0xdcfb1e38
r4 = 0xc1094e3c r5 = 0x00000000
r6 = 0xc0def197 r7 = 0x00000000
r8 = 0x00000000 r9 = 0x00000000
r10 = 0xc0f1ded0
random_yarrow_write() at random_yarrow_write+0x458
pc = 0xc095e39c lr = 0xc0a802ac (fork_exit+0x84)
sp = 0xdcfb1e40 fp = 0xdcfb1e58
r4 = 0xc383c320 r5 = 0xc383a320
r6 = 0xc095e12c r7 = 0xc0f16140
r8 = 0xdcfb1e60 r9 = 0x00000000
r10 = 0x00000000
fork_exit() at fork_exit+0x84
pc = 0xc0a802ac lr = 0xc0da85d4 (fork_trampoline+0x14)
sp = 0xdcfb1e60 fp = 0x00000000
r4 = 0xc095e12c r5 = 0x00000000
r6 = 0x00000000 r7 = 0x00000000
r8 = 0x00000000 r9 = 0x00000000
fork_trampoline() at fork_trampoline+0x14
pc = 0xc0da85d4 lr = 0xc0da85d4 (fork_trampoline+0x14)
sp = 0xdcfb1e60 fp = 0x00000000
Unable to unwind further
KDB: enter: witness_checkorder
[ thread pid 13 tid 100012 ]
Stopped at kdb_enter+0x4c: ldrb r15, [r15, r15, ror r15]!
db>
Any hints?
Cheers,
Mat
More information about the freebsd-arm
mailing list