Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 08 Apr 2017 13:40:59 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-geom@FreeBSD.org
Subject:   [Bug 218337] panic: Journal overflow with g_journal_switcher waiting on wswbuf0
Message-ID:  <bug-218337-14739-eknmG2IfM3@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-218337-14739@https.bugs.freebsd.org/bugzilla/>
References:  <bug-218337-14739@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D218337

--- Comment #3 from longwitz@incore.de ---
>From my kerneldump I see the backtrace for the g_journal_switcher:

#4  0xffffffff80910c58 in getpbuf (pfreecnt=3D<value optimized out>) at
/usr/src/sys/vm/vm_pager.c:336
#5  0xffffffff8073f453 in cluster_wbuild (vp=3D0xfffff80b7e1acb10, size=3D3=
2768,
start_lbn=3D<value optimized out>,
    len=3D<value optimized out>, gbflags=3D<value optimized out>) at
/usr/src/sys/kern/vfs_cluster.c:840
#6  0xffffffff808d8748 in ffs_syncvnode (vp=3D0xfffff80b7e1acb10, waitfor=
=3D1,
flags=3D<value optimized out>)
    at /usr/src/sys/ufs/ffs/ffs_vnops.c:298
#7  0xffffffff808d5f6d in ffs_sync (mp=3D0xfffff8002ba4b000, waitfor=3DCann=
ot
access memory at address 0x1
) at /usr/src/sys/ufs/ffs/ffs_vfsops.c:1591
#8  0xffffffff807618fc in vfs_write_suspend (mp=3D0xfffff8002ba4b000,
flags=3D<value optimized out>)
    at /usr/src/sys/kern/vfs_vnops.c:1877
#9  0xffffffff8112a3e4 in g_journal_switcher (arg=3D0xffffffff81132f28)

In the source /usr/src/sys/ufs/ffs/ffs_vfsops.c on line 1591 I see the call=
 of
ffs_syncvnode() as stated above (frame #7 --> frame #6). But in the source
/usr/src/sys/ufs/ffs/ffs_vnops.c on line 298 I see a call of vfs_bio_awrite=
()
and not a call of cluster_wbuild() as stated above (frame #6 --> frame #5).
Looking in the source /usr/src/sys/kern/vfs_bio.c line 1971 I see the funct=
ion
vfs_bio_awrite() which calls cluster_wbuild(). So I feel there is a missing
frame in the backtrace give by kgdb for g_journal_switcher.

In my ddb output - amd also in Peters ddb output - I see the same:
getpbuf() at getpbuf+0xb8/frame 0xfffffe0c4e49c8b0
cluster_wbuild() at cluster_wbuild+0x83/frame 0xfffffe0c4e49c950
ffs_syncvnode() at ffs_syncvnode+0x308/frame 0xfffffe0c4e49c9e0
ffs_sync() at ffs_sync+0x1fd/frame 0xfffffe0c4e49ca90
vfs_write_suspend() at vfs_write_suspend+0x19c/frame 0xfffffe0c4e49cad0
g_journal_switcher() at g_journal_switcher+0x9a4/frame 0xfffffe0c4e49cbb0

Please can somebody explain to me what is going on here ?

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-218337-14739-eknmG2IfM3>