xfs
[Top] [All Lists]

xfstest 179 ASSERT

To: Dave Chinner <david@xxxxxxxxxxxxx>, xfs-oss <xfs@xxxxxxxxxxx>
Subject: xfstest 179 ASSERT
From: Mark Tinguely <tinguely@xxxxxxx>
Date: Wed, 31 Oct 2012 13:23:54 -0500
User-agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:9.0) Gecko/20120122 Thunderbird/9.0
OSS sources with the xfs: fix buffer shudown reference count mismatch
patch and xfstest 179.

xfstest 179 started to have various asserts starting with the "move the
workers" series, but mostly the b_hold count is zero assert.

Now that the b_hold count is fixed, the asert is:

XFS: Assertion failed: atomic_read(&pag->pag_ref) == 0,
file: /root/xfs/fs/xfs/xfs_mount.c, line: 273

PID: 6741   TASK: ffff880268f46540  CPU: 0   COMMAND: "umount"
 #0 [ffff88034bba1a70] machine_kexec at ffffffff8102a71d
 #1 [ffff88034bba1ae0] crash_kexec at ffffffff810a4703
 #2 [ffff88034bba1bb0] oops_end at ffffffff81432098
 #3 [ffff88034bba1be0] die at ffffffff81005763
 #4 [ffff88034bba1c10] do_trap at ffffffff814319b3
 #5 [ffff88034bba1c70] do_invalid_op at ffffffff81002f50
 #6 [ffff88034bba1d10] invalid_op at ffffffff8143a09e
    [exception RIP: assfail+29]
    RIP: ffffffffa038e7dd  RSP: ffff88034bba1dc8  RFLAGS: 00010292
    RAX: 0000000000000065  RBX: 0000000000000000  RCX: 0000000000000de5
    RDX: 0000000000002013  RSI: 0000000000000092  RDI: 0000000000000246
    RBP: ffff88034bba1dc8   R8: 0000000000000000   R9: 0000000000000000
    R10: 0000000000000352  R11: 0000000000000351  R12: ffff88034d8af1f8
    R13: ffff88034d8af000  R14: ffff88034d8af1e8  R15: ffff88034fbf28c0
    ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018
 #7 [ffff88034bba1dd0] xfs_free_perag at ffffffffa03de5d8 [xfs]
 #8 [ffff88034bba1e10] xfs_unmountfs at ffffffffa03e08bc [xfs]
 #9 [ffff88034bba1e60] xfs_fs_put_super at ffffffffa0390e80 [xfs]
#10 [ffff88034bba1e80] generic_shutdown_super at ffffffff8114f37d
#11 [ffff88034bba1eb0] kill_block_super at ffffffff8114f42b
#12 [ffff88034bba1ed0] deactivate_locked_super at ffffffff8114f9e7
#13 [ffff88034bba1ef0] deactivate_super at ffffffff811502d9
#14 [ffff88034bba1f10] mntput_no_expire at ffffffff8116a821
#15 [ffff88034bba1f40] sys_umount at ffffffff8116bd21
#16 [ffff88034bba1f80] system_call_fastpath at ffffffff814390a9
    RIP: 00007f64a30cf5d7  RSP: 00007ffffe2f3798  RFLAGS: 00010202
    RAX: 00000000000000a6  RBX: ffffffff814390a9  RCX: 000000000000c0c8
    RDX: 0000000000000000  RSI: 0000000000000000  RDI: 00007f64a3c0e0f0
    RBP: 00007f64a3c0dff0   R8: 0000000000000000   R9: 00007f64a3a05435
    R10: 00007ffffe2f35c0  R11: 0000000000000246  R12: 00007f64a3c0e0f0
    R13: 00007f64a3c0e0d0  R14: 00007f64a3c0e0f0  R15: 0000000000000000
    ORIG_RAX: 00000000000000a6  CS: 0033  SS: 002b


mount perag information:
  m_perag_tree = {
    height = 0x1,
    gfp_mask = 0x20,
    rnode = 0xffff8803124bb4b1
  },
crash> radix_tree_node ffff8803124bb4b0
struct radix_tree_node {
  height = 0x1,
  count = 0x3,
  {
    parent = 0x0,
    callback_head = {
      next = 0x0,
      func = 0xffffffff812384b0 <radix_tree_node_rcu_free>
    }
  },
slots = {0x0, 0xffff88034fd6f540, 0xffff88034fd6f840, 0xffff88034fd6f240, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
  tags = {{0x0}, {0x0}, {0x0}}
}

The inodes at 0xffff88034fd6f540, 0xffff88034fd6f840, 0xffff88034fd6f240
don't look valid.

I haven't spent much time on this.

--Mark.

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