XFS regression: Oops in xfs_buf_do_callbacks on xfstest 137

Raghavendra D Prabhu raghu.prabhu13 at gmail.com
Sun Sep 2 19:45:21 CDT 2012


Hi,


* On Fri, Aug 17, 2012 at 01:15:43PM -0500, Eric Sandeen <sandeen at sandeen.net> wrote:
>On 8/17/12 1:02 PM, Christoph Hellwig wrote:
>>I'd be this is my new code added to xfs_buf_item_unpin, but I don't
>>quite understand why.  It's been a long time since I wrote that code,
>>but I had to add that code to make sure we clear all buffers during
>>a forced shutdown.  Can you test if things go away if you just remove it
>>(even if causes other hangs?)
>
>It does go away AFAIK, since the bisect found it.
>
>Sadly it's been on the back burner for me, under other deadline pressure.
>
>-Eric
>
>_______________________________________________
>xfs mailing list
>xfs at oss.sgi.com
>http://oss.sgi.com/mailman/listinfo/xfs

I hit the same bug on xfstest 137 while testing and it is indeed 
POISON_FREE.

Here are the intermediate backtraces:  http://sprunge.us/HZeD 

I am also attaching the full backtrace.


git head:

commit b686d1f79acb65c6a34473c15fcfa2ee54aed8e2
  Author: Jeff Liu <jeff.liu at oracle.com>
  Date:   Tue Aug 21 17:12:18 2012 +0800


Regards,
-- 
Raghavendra Prabhu
GPG Id : 0xD72BE977
Fingerprint: B93F EBCB 8E05 7039 CD3C A4B8 A616 DCA1 D72B E977
www: wnohang.net
-------------- next part --------------
#0  xfs_buf_iodone_callbacks (bp=0xffff88007a9d2d00) at fs/xfs/xfs_buf_item.c:1057
        lip = <optimized out>
        mp = <optimized out>
        lasttime = 0
        lasttarg = 0x0 <irq_stack_union>
        __func__ = "xfs_buf_iodone_callbacks"
#1  0xffffffff815824ee in xfs_buf_iodone_work (work=work at entry=0xffff88007a9d2e28) at fs/xfs/xfs_buf.c:1006
        bp = 0xffff88007a9d2d00
        __func__ = "xfs_buf_iodone_work"
#2  0xffffffff81582dec in xfs_buf_ioend (bp=bp at entry=0xffff88007a9d2d00, schedule=schedule at entry=0) at fs/xfs/xfs_buf.c:1027
        __func__ = "xfs_buf_ioend"
#3  0xffffffff8166e161 in xfs_buf_item_unpin (lip=0xffff88007a9c0d20, remove=1) at fs/xfs/xfs_buf_item.c:533
        bp = 0xffff88007a9d2d00
        ailp = 0xffff88007aad5240
        stale = 0
        __func__ = "xfs_buf_item_unpin"
#4  0xffffffff8165d104 in xfs_trans_committed_bulk (ailp=0xffff88007aad5240, log_vector=<optimized out>, commit_lsn=0, aborted=aborted at entry=2) at fs/xfs/xfs_trans.c:1305
        lip = 0xffff88007a9c0d20
        item_lsn = 0
        log_items = {0xffff88007f9d37c0, 0xffff880079fbbe80, 0xffff8800724d5ac8, 0xffffffff81dba277 <__schedule+3791>, 0xffff8800724d5b28, 0xffff88007ad99560, 0xffff88007ad99560, 0xffff88007aebef60, 0x2 <irq_stack_union+2>, 0xffff8800790df578, 0xffff8800724d5b98, 
          0xffffffff8189d08e <trace_hardirqs_on_thunk+58>, 0xffff88007f800000, 0x3 <irq_stack_union+3>, 0x1 <irq_stack_union+1>, 0xffff88007aaf2b28, 0xffff8800724d5fd8, 0xffff8800724d4000, 0x2 <irq_stack_union+2>, 0xffff8800724d5ad8, 0xffffffff810cd59a <irq_exit+410>, 
          0xffffffff81dbeb74 <restore_args>, 0xffff8800724d59d0, 0xffffffff81e03e40 <save_stack_ops>, 0xffff880079151cb8, 0x2 <irq_stack_union+2>, 0xffff8800724adfb0, 0x2 <irq_stack_union+2>, 0x0 <irq_stack_union>, 0xffff88007affd520, 0xffff88007aad5240, 
          0xffffffffffffff10}
        lv = 0xffff88007affd520
        cur = <incomplete type>
        i = <optimized out>
        __func__ = "xfs_trans_committed_bulk"
#5  0xffffffff81669107 in xlog_cil_committed (args=args at entry=0xffff88007ad99560, abort=abort at entry=2) at fs/xfs/xfs_log_cil.c:337
        ctx = 0xffff88007ad99560
        mp = 0xffff88007aebef60
        __func__ = "xlog_cil_committed"
#6  0xffffffff8166a301 in xlog_cil_push (log=log at entry=0xffff8800724adfb0) at fs/xfs/xfs_log_cil.c:582
        cil = 0xffff8800790df480
        lv = <optimized out>
        ctx = 0xffff88007ad99560
        new_ctx = <optimized out>
        commit_iclog = 0xffffffff81170cb4 <__lock_release+100>
        tic = 0xffff880079151c00
        num_iovecs = <optimized out>
        error = <optimized out>
        thdr = {
          th_magic = 1414676814, 
          th_type = 42, 
          th_tid = -576842867, 
          th_num_items = 3777
        }
        lhdr = {
          i_addr = 0xffff8800724d5be8, 
          i_len = 16, 
          i_type = 19
        }
        lvhdr = {
          lv_next = 0xffff88007affd520, 
          lv_niovecs = 1, 
          lv_iovecp = 0xffff8800724d5bd8, 
          lv_item = 0x0 <irq_stack_union>, 
          lv_buf = 0x0 <irq_stack_union>, 
          lv_buf_len = 0
        }
        commit_lsn = <optimized out>
        push_seq = 1
        __func__ = "xlog_cil_push"
#7  0xffffffff8166a4a9 in xlog_cil_push_foreground (log=log at entry=0xffff8800724adfb0, push_seq=push_seq at entry=1) at fs/xfs/xfs_log_cil.c:659
        cil = 0xffff8800790df480
        __func__ = "xlog_cil_push_foreground"
#8  0xffffffff8166a8f1 in xlog_cil_force_lsn (log=log at entry=0xffff8800724adfb0, sequence=1) at fs/xfs/xfs_log_cil.c:771
        cil = 0xffff8800790df480
        ctx = <optimized out>
        commit_lsn = -1
        __func__ = "xlog_cil_force_lsn"
#9  0xffffffff81665d5c in xlog_cil_force (log=0xffff8800724adfb0) at fs/xfs/xfs_log_priv.h:668
No locals.
#10 _xfs_log_force (mp=mp at entry=0xffff88007aebef60, flags=flags at entry=1, log_flushed=log_flushed at entry=0x0 <irq_stack_union>) at fs/xfs/xfs_log.c:2889
        log = 0xffff8800724adfb0
        iclog = <optimized out>
        lsn = <optimized out>
        __func__ = "_xfs_log_force"
#11 0xffffffff81666479 in xfs_log_force (mp=mp at entry=0xffff88007aebef60, flags=flags at entry=1) at fs/xfs/xfs_log.c:3004
        error = <optimized out>
        __func__ = "xfs_log_force"
#12 0xffffffff815ad9ec in xfs_quiesce_data (mp=mp at entry=0xffff88007aebef60) at fs/xfs/xfs_sync.c:310
        error = <optimized out>
        error2 = 0
        __func__ = "xfs_quiesce_data"
#13 0xffffffff815a78a0 in xfs_fs_sync_fs (sb=<optimized out>, wait=<optimized out>) at fs/xfs/xfs_super.c:946
        mp = 0xffff88007aebef60
        error = <optimized out>
        __func__ = "xfs_fs_sync_fs"
#14 0xffffffff813b0389 in __sync_filesystem (sb=sb at entry=0xffff88007a1ad668, wait=wait at entry=1) at fs/sync.c:38
        __func__ = "__sync_filesystem"
#15 0xffffffff813b0477 in sync_filesystem (sb=sb at entry=0xffff88007a1ad668) at fs/sync.c:66
        ret = <optimized out>
        __func__ = "sync_filesystem"
#16 0xffffffff8134da7f in generic_shutdown_super (sb=0xffff88007a1ad668) at fs/super.c:439
        sop = 0xffffffff81e86360 <xfs_super_operations>
        __func__ = "generic_shutdown_super"
#17 0xffffffff8134dc62 in kill_block_super (sb=<optimized out>) at fs/super.c:1104
        bdev = 0xffff88007d0115c0
        mode = 131
        __func__ = "kill_block_super"
#18 0xffffffff8134ed14 in deactivate_locked_super (s=s at entry=0xffff88007a1ad668) at fs/super.c:306
        fs = 0xffffffff828057c0 <xfs_fs_type>
        __func__ = "deactivate_locked_super"
#19 0xffffffff813501c7 in deactivate_super (s=s at entry=0xffff88007a1ad668) at fs/super.c:337
        __func__ = "deactivate_super"
#20 0xffffffff813902f4 in mntfree (mnt=0xffff88007ababd40) at fs/namespace.c:855
        m = 0xffff88007ababd60
        sb = 0xffff88007a1ad668
#21 mntput_no_expire (mnt=mnt at entry=0xffff88007ababd40) at fs/namespace.c:893
        __func__ = "mntput_no_expire"
#22 0xffffffff81392ce5 in sys_umount (name=<optimized out>, flags=0) at fs/namespace.c:1276
        path = <incomplete type>
        mnt = 0xffff88007ababd40
        retval = 0
        lookup_flags = <optimized out>
        __func__ = "sys_umount"
#23 <signal handler called>
No locals.
#24 0x00007f66053c34f7 in ?? ()
No symbol table info available.
#25 0x000000050003123b in ?? ()
No symbol table info available.
#26 0x0000000000100000 in cpu_lock_stats ()
No symbol table info available.
Continuing.

Program received signal SIGINT, Interrupt.
0xffffffff810607bb in native_safe_halt () at /media/Vone/kernel/xfs-next/arch/x86/include/asm/irqflags.h:49
49		asm volatile("sti; hlt": : :"memory");
A debugging session is active.

	Inferior 1 [Remote target] will be killed.

Quit anyway? (y or n) 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
URL: <http://oss.sgi.com/pipermail/xfs/attachments/20120903/12a74dc5/attachment.sig>


More information about the xfs mailing list