Unaligned memory reference in fxp(4)...

From: Marcel Moolenaar <marcel_at_cup.hp.com>
Date: Tue, 20 Sep 2005 17:44:57 -0700
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
Received on Tue Sep 20 2005 - 22:45:02 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:43 UTC