Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 15 Sep 2011 00:36:40 -0700
From:      Garrett Cooper <yanegomi@gmail.com>
To:        Kostik Belousov <kostikbel@gmail.com>
Cc:        FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: svn commit: r225474 - in head/sys: amd64/amd64 amd64/ia32 i386/i386 ia64/ia32 ia64/ia64 kern powerpc/aim powerpc/booke sparc64/sparc64 sys
Message-ID:  <CAGH67wQWeH3fk4OC-OkfGEQ4kQ=y3JGbEnXgdOipodZB54Psag@mail.gmail.com>
In-Reply-To: <7FF44B1D-DF0C-4BDE-90EA-52F4A77BB579@gmail.com>
References:  <201109111605.p8BG59cc084589@svn.freebsd.org> <CAGH67wTOFspfeALbJvNoWq4ysdw%2BETfRMpAWLJtRGBSKMCMupQ@mail.gmail.com> <20110914210920.GH17489@deviant.kiev.zoral.com.ua> <7FF44B1D-DF0C-4BDE-90EA-52F4A77BB579@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Sep 14, 2011 at 4:10 PM, Garrett Cooper <yanegomi@gmail.com> wrote:
> On Sep 14, 2011, at 2:09 PM, Kostik Belousov wrote:
>
>> [It seems that distribution list can be trimmed without any bad
>> consequences]
>> On Wed, Sep 14, 2011 at 01:50:51PM -0700, Garrett Cooper wrote:
>>> On Sun, Sep 11, 2011 at 9:05 AM, Konstantin Belousov <kib@freebsd.org> =
wrote:
>>>> Author: kib
>>>> Date: Sun Sep 11 16:05:09 2011
>>>> New Revision: 225474
>>>> URL: http://svn.freebsd.org/changeset/base/225474
>>>>
>>>> Log:
>>>> =A0Inline the syscallenter() and syscallret(). This reduces the time m=
easured
>>>> =A0by the syscall entry speed microbenchmarks by ~10% on amd64.
>>>>
>>>> =A0Submitted by: jhb
>>>> =A0Approved by: =A0re (bz)
>>>> =A0MFC after: =A0 =A02 weeks
>>>
>>> =A0 =A0This change completely breaks ZFS mounting (for some odd reason)
>>> with the following backtrace.
>>>
>>> #0 =A0doadump (textdump=3D0) at /usr/src/sys/kern/kern_shutdown.c:260
>>> 260 =A0 =A0 /usr/src/sys/kern/kern_shutdown.c: No such file or director=
y.
>>> =A0 =A0 =A0 =A0in /usr/src/sys/kern/kern_shutdown.c
>>> (kgdb) #0 =A0doadump (textdump=3D0) at /usr/src/sys/kern/kern_shutdown.=
c:260
>>> #1 =A00xffffffff802b1cd0 in db_dump (dummy=3DVariable "dummy" is not av=
ailable.
>>> )
>>> =A0 =A0at /usr/src/sys/ddb/db_command.c:537
>>> #2 =A00xffffffff802b12c1 in db_command (last_cmdp=3D0xffffffff809b96c0,
>>> cmd_table=3DVariable "cmd_table" is not available.
>>>
>>> ) at /usr/src/sys/ddb/db_command.c:448
>>> #3 =A00xffffffff802b1510 in db_command_loop ()
>>> =A0 =A0at /usr/src/sys/ddb/db_command.c:501
>>> #4 =A00xffffffff802b3664 in db_trap (type=3DVariable "type" is not avai=
lable.
>>> ) at /usr/src/sys/ddb/db_main.c:229
>>> #5 =A00xffffffff804b29d1 in kdb_trap (type=3D3, code=3D0, tf=3D0xffffff=
8231a5f3d0)
>>> =A0 =A0at /usr/src/sys/kern/subr_kdb.c:631
>>> #6 =A00xffffffff80646ac8 in trap (frame=3D0xffffff8231a5f3d0)
>>> =A0 =A0at /usr/src/sys/amd64/amd64/trap.c:590
>>> #7 =A00xffffffff8063113f in calltrap ()
>>> =A0 =A0at /usr/src/sys/amd64/amd64/exception.S:228
>>> #8 =A00xffffffff804b277b in kdb_enter (why=3D0xffffffff806e022b "panic"=
,
>>> =A0 =A0msg=3D0x80 <Address 0x80 out of bounds>) at cpufunc.h:63
>>> #9 =A00xffffffff8047db5c in panic (fmt=3DVariable "fmt" is not availabl=
e.
>>> )
>>> =A0 =A0at /usr/src/sys/kern/kern_shutdown.c:599
>>> #10 0xffffffff8046e5cc in _mtx_assert (m=3DVariable "m" is not availabl=
e.
>>> )
>>> =A0 =A0at /usr/src/sys/kern/kern_mutex.c:706
>>> #11 0xffffffff80620f31 in vm_page_free_toq (m=3D0xfffffe021bf3d1f0)
>>> =A0 =A0at /usr/src/sys/vm/vm_page.c:1756
>>> #12 0xffffffff80c77938 in zfs_freebsd_getpages () from /boot/kernel/zfs=
.ko
>>> #13 0xffffffff8046ebd6 in _mtx_unlock_flags (m=3D0xfffffe0006dc7000,
>>> =A0 =A0opts=3D421100272, file=3D0xfffffe0006dc70e8 "?P?\200????", line=
=3D1)
>>> =A0 =A0at /usr/src/sys/kern/kern_mutex.c:223
>>> Previous frame inner to this frame (corrupt stack?)
>>> (kgdb)
>>
>> The backtrace is impossible and truncated. You probably used unmatched
>> kernel for vmcore, or might be, the zfs.ko is installed without debuggin=
g
>> symbols.
>>
>> The change you pointed the finger to has very low probability of causing
>> the panic for vm_page_free_toq(), it is for unrelated part of the kernel=
.
>> Can you do full rebuild of the kernel without any possible local changes
>> and retest ?
>>
>> If still getting panic, make sure that both kernel and all modules are
>> installed with debug symbols.
>
> zfs.ko wasn't built with symbols because I did make -C /sys/modules/zfs a=
ll install; will rebuild my kernel and submit my results again :).

    Weird. The new kernel didn't exhibit the problem after I blew away
/usr/obj (and it contains all of the changes that the old kernel
had).. I guess I'll have to chock this up to improperly compiled
sources.. Sorry for the noise.
-Garrett



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGH67wQWeH3fk4OC-OkfGEQ4kQ=y3JGbEnXgdOipodZB54Psag>