Unaligned memory reference in fxp(4)...
Marcel Moolenaar
marcel at cup.hp.com
Tue Sep 20 17:45:02 PDT 2005
Gang,
I just got this on a 4-way ia64 box running 6.0-BETA5 at work:
\begin{console}
fatal kernel trap (cpu 3):
trap vector = 0x1e (Unaligned Reference)
cr.iip = 0xe0000000042ae5b0
cr.ipsr = 0x1210080a6018
(ac,mfl,ic,i,dt,dfh,rt,cpl=0,it,ri=1,bn)
cr.isr = 0x20400000000 (code=0,vector=0,r,ei=1)
cr.ifa = 0xc0000000fafe0019
curthread = 0xe00000007d79a7e0
pid = 41, comm = nfsiod 1
[thread pid 41 tid 100038 ]
Stopped at fxp_scb_wait+0x361: [M1] ld2.acq r49=[r49]
db> wh
Tracing pid 41 tid 100038 td 0xe00000007d79a7e0
fxp_scb_wait(0xe000000004ebe000, 0x0, 0xe000000004ebe078,
0xe000000004ebe070, 0xc000000000000000) at fxp_scb_wait+0x361
fxp_start_body(0xe000000004bc6800, 0xe00000001c8b6e00,
0xe000000004bc6a30, 0xe000000004bc6a18, 0xe000000004bc6a38) at
fxp_start_body+0x630
fxp_start(0xe000000004bc6800, 0xe000000004ebe000) at fxp_start+0x70
if_start(0xe000000004bc6800, 0xe0000000045b20d0, 0x38c,
0xe000000004baceb0) at if_start+0x140
ether_output_frame(0xe000000004bc6800, 0x0, 0x5ea, 0x802,
0xe0000000045b1af0) at ether_output_frame+0x5c0
ether_output(0xe000000004bc6800, 0xe00000001c8b6e52,
0xe00000000707e570, 0xe000000062b914a0, 0x0) at ether_output+0xb90
ip_output(0xe000000004bc6968, 0xe000000004bc6800, 0xa0000000308173d0,
0x0, 0x0, 0xe000000064260e40, 0xa0000000308173f8, 0xe0000000627daf00)
at ip_output+0x1e80
udp_output(0xe000000064260e40, 0xe000000060177700, 0x0, 0x0,
0xe00000007d79a7e0) at udp_output+0xd80
udp_send(0xe00000006421d0e8, 0x0, 0xe000000060177700, 0x0, 0x0,
0xe00000007d79a7e0) at udp_send+0x30
sosend(0xe00000006421d0d8, 0x0, 0x0, 0xe000000060177700, 0x0, 0x0,
0xe00000007d79a7e0) at sosend+0xd20
nfs_send(0xe00000006421d0d8, 0x0, 0xe000000060177700,
0xe00000000591fb00, 0x0, 0xe00000006421d0d8, 0xe00000000469a370,
0x797) at nfs_send+0x200
nfs_request(0xe00000005b571360, 0xe000000060244200, 0x7, 0x0,
0xe000000062805500, 0xa0000000308174d0, 0xa0000000308174d8,
0xa0000000308174e0) at nfs_request+0x900
nfs_writerpc(0xe0000000457ef834, 0xa000000030817500,
0xe000000062805500, 0xa000000030817540, 0xa000000030817544) at
nfs_writerpc+0x530
nfs_doio(0xe00000005b571360, 0xa00000001e865a60, 0xe000000062805500,
0x0, 0xa00000001e865aec) at nfs_doio+0xa20
nfssvc_iod(0xa00000001e865a60, 0xe0000000622d6000,
0xe0000000622d61b8, 0xe0000000622d61a8, 0xe0000000622d61ba) at
nfssvc_iod+0x430
fork_exit(0xe0000000048b9e20, 0xe000000004a00918, 0xa000000030817550)
at fork_exit+0x140
enter_userland() at enter_userland
\end{console}
The faulting address is in region 6, which is uncacheable memory
and used for device I/O. It's a word-sized read to an I/O address
that's at an odd address. Are there any fxp(4) gurus who can shed
a light on this?
I'll update to post BETA5 in the mean time...
--
Marcel Moolenaar marcel at cup.hp.com
More information about the freebsd-current
mailing list