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>