xfs
[Top] [All Lists]

panic occurs on IA64

To: linux-xfs@xxxxxxxxxxx
Subject: panic occurs on IA64
From: Hiroshi Aono <h-aono@xxxxxxxxxxxxx>
Date: Tue, 05 Dec 2000 16:56:27 +0900
Sender: owner-linux-xfs@xxxxxxxxxxx
User-agent: Wanderlust/1.1.1 (Purple Rain) WEMI/1.13.7 (Shimada) CLIME/1.13.6 (中ノ庄) MULE XEmacs/21.1 (patch 9) (Canyonlands) (i386-pc-linux)
Hi,

I tried to run XFS on IA64, but kernel panic occurs.
I got 11202000XFSdevel.patch.gz and compiled.
Then I run the kernel on IA64 machine which is provided by Intel. (2cpu, 1Gmem, 
xfs on SCSI disk)

Mkfs works fine.

[root@luna aono]# mkfs -t xfs -b size=16384 -f /dev/sdc1
meta-data=/dev/sdc1              isize=256    agcount=8, agsize=8033 blks
data     =                       bsize=16384  blocks=64258, imaxpct=25
         =                       sunit=0      swidth=0 blks, unwritten=0
naming   =version 2              bsize=16384 
log      =internal log           bsize=16384  blocks=1000
realtime =none                   extsz=65536  blocks=0, rtextents=0

However the kernel crashed at xlog_bread when I mounted the filesystem.
First, I trapped at xlog_bread and xfsbdstrat.

[root@luna aono]# mount -t xfs /dev/sdc1 /mnt/xfs

Instruction breakpoint #1 at 0xe0000000007db470
e0000000007db470 <xfsbdstrat>: [MII]       alloc r37=ar.pfs,9,6,0
e0000000007db471 <xfsbdstrat+0x1>:             addl r14=1055048,r1
e0000000007db472 <xfsbdstrat+0x2>:             mov r36=b0
Entering kdb (0x31e88000) on processor 0 [0]kdb> go

Start mounting filesystem: sd(8,33)
Instruction breakpoint #0 at 0xe0000000007804a0
e0000000007804a0 <xlog_bread>: [MII]       alloc r43=ar.pfs,16,12,0
e0000000007804a1 <xlog_bread+0x1>:             addl r14=1055048,r1
e0000000007804a2 <xlog_bread+0x2>:             mov r42=b0
Entering kdb (0x31e88000) on processor 0 [0]kdb> go

Instruction breakpoint #1 at 0xe0000000007db470
e0000000007db470 <xfsbdstrat>: [MII]       alloc r37=ar.pfs,9,6,0
e0000000007db471 <xfsbdstrat+0x1>:             addl r14=1055048,r1
e0000000007db472 <xfsbdstrat+0x2>:             mov r36=b0
Entering kdb (0x31e88000) on processor 0 [0]kdb> go

Instruction breakpoint #0 at 0xe0000000007804a0
e0000000007804a0 <xlog_bread>: [MII]       alloc r43=ar.pfs,16,12,0
e0000000007804a1 <xlog_bread+0x1>:             addl r14=1055048,r1
e0000000007804a2 <xlog_bread+0x2>:             mov r42=b0
Entering kdb (0x31e88000) on processor 0 [0]kdb> go

Unable to handle kernel paging request at virtual address 00000000000001d0
mount[300]: Oops 8813272891392
Entering kdb (0x31e88000) on processor 0 Panic: <NULL>
due to panic @ 0x7806d0
 psr: 0x0000101008026030   ifs: 0x8000000000000610    ip: 0xe0000000007806d0  
unat: 0x0000000000000000   pfs: 0x0000000000000590   rsc: 0x0000000000000003  
rnat: 0x0000000000000590  bsps: 0x0000000000000003    pr: 0x000000000002e553  
ldrs: 0x0000000000000000   ccv: 0x0000000000000000  fpsr: 0x0009804c8a70033f  
  b0: 0xe000000000782c30    b6: 0xe000000000502f70    b7: 0xe000000000521270  
  r1: 0xe000000000ce1e40    r2: 0xe000000031e8f970    r3: 0x000000000002e513  
  r8: 0x0000000000000000    r9: 0x0000000000000000   r10: 0x0000000000000000  
 r11: 0x600000000000c140   r12: 0xe000000031e8f9b0   r13: 0xe000000031e88000  
 r14: 0x00000000000001d0   r15: 0xe000000031d13840   r16: 0xe000000031d13810  
 r17: 0x0000000008000001   r18: 0xe000000031d13818   r19: 0x0000000000000200  
 r20: 0xe000000031e897b8   r21: 0x000000000002e593   r22: 0x000000003fe36dc0  
 r23: 0x80000000ffdf5f30   r24: 0x80000000ffdf5ee0   r25: 0x80000000ffdf5f40  
 r26: 0x000000003ff48010   r27: 0xe000000000de22d8   r28: 0xe000000000521270  
 r29: 0x0000000000000001   r30: 0xe000000000c94080   r31: 0x600000000000c110  
&regs = 0xe000000031e8f820
[0]kdb> bt
Ret Address (ip)    Mem Stack (sp) Reg Stack (bsp) Name

0xe0000000007806d0:  v+0x2000000000000000   v+0x3be60eb0   xlog_bread

bt command on IA64 seems not to work.
I disassembled the crashed point.
It seems the kernel crashed at before calling xfsbdstrat.

                        292: PCREL21B   assfail
     296:       d0 02 3c 30 20 00                   ld8 r45=[r15]
     29c:       08 00 00 50                         br.call.sptk.many b0=290 
<xlog_bread+0x180>;;
     2a0:       10 00 00 00 01 00       [MIB]       nop.m 0x0
     2a6:       00 00 00 02 00 00                   nop.i 0x0
     2ac:       20 00 00 40                         br 2c0 <xlog_bread+0x1b0>
     2b0:       00 00 00 00 01 00       [MII]       nop.m 0x0
     2b6:       40 22 d9 ac 29 00                   dep.z r36=r36,9,23
     2bc:       00 00 04 00                         nop.i 0x0
     2c0:       01 78 00 50 01 21       [MII]       adds r15=128,r40
     2c6:       70 42 95 00 42 00                   adds r39=40,r37
     2cc:       02 29 01 84                         adds r16=16,r37;;
     2d0:       04 70 00 1e 18 10       [MLX]       ld8 r14=[r15]
     2d6:       08 00 00 00 00 20                   movl r17=0x8000001
     2dc:       12 00 00 60 
     2e0:       02 00 00 00 01 00       [MII]       nop.m 0x0
     2e6:       30 01 90 2c 00 c0                   sxt4 r19=r36;;
     2ec:       e1 48 01 80                         add r14=r14,r41
     2f0:       02 78 00 4b 00 21       [MII]       adds r15=64,r37
     2f6:       40 42 a3 00 42 00                   adds r36=104,r40;;
     2fc:       00 00 04 00                         nop.i 0x0
     300:       00 00 38 4e 98 11       [MII]       st8 [r39]=r14
     306:       20 c1 94 00 42 a0                   adds r18=24,r37
     30c:       05 28 01 84                         mov r45=r37
     310:       0b 70 00 20 10 10       [MMI]       ld4 r14=[r16];;
     316:       e0 88 38 1c 40 00                   or r14=r17,r14
     31c:       00 00 04 00                         nop.i 0x0;;
     320:       08 00 38 20 90 11       [MMI]       st4 [r16]=r14
     326:       00 98 3c 30 23 00                   st8 [r15]=r19
     32c:       00 00 04 00                         nop.i 0x0
     330:       0b 70 00 48 18 10       [MMI]       ld8 r14=[r36];;
     336:       e0 80 3a 06 42 00                   adds r14=464,r14
     33c:       00 00 04 00                         nop.i 0x0;;
     340:       0a 78 00 1c 18 10       [MMI]       ld8 r15=[r14];; <- crashed
     346:       00 78 48 30 23 00                   st8 [r18]=r15
     34c:       00 00 04 00                         nop.i 0x0
     350:       11 60 01 48 18 10       [MIB]       ld8 r44=[r36]
                        352: PCREL21B   xfsbdstrat
     356:       00 00 00 02 00 00                   nop.i 0x0
     35c:       08 00 00 50                         br.call.sptk.many b0=350 
<xlog_bread+0x240>;;
     360:       11 60 01 4a 00 21       [MIB]       mov r44=r37


/*
 * nbblks should be uint, but oh well.  Just want to catch that 32-bit length.
 */
int
xlog_bread(xlog_t       *log,
           xfs_daddr_t  blk_no,
           int          nbblks,
           xfs_buf_t    *bp)
{
        int error;

        ASSERT(log);
        ASSERT(nbblks > 0);
        ASSERT(BBTOB(nbblks) <= XFS_BUF_SIZE(bp));
        ASSERT(bp);

        XFS_BUF_SET_ADDR(bp, log->l_logBBstart + blk_no);
        XFS_BUF_READ(bp);
        XFS_BUF_BUSY(bp);
        XFS_BUF_SET_COUNT(bp, BBTOB(nbblks));
        XFS_BUF_SET_TARGET(bp, &log->l_mp->m_logdev_targ);

        xfsbdstrat(log->l_mp, bp);
        if (error = xfs_iowait(bp)) {
                xfs_ioerror_alert("xlog_bread", log->l_mp,
                                  XFS_BUF_TARGET(bp), XFS_BUF_ADDR(bp));
                return (error);
        }
        return error;
}       /* xlog_bread */

What is wrong? can you help me?

Hiroshi Aono, NEC Solutions
(h-aono@xxxxxxxxxxxxx)

<Prev in Thread] Current Thread [Next in Thread>