Date: Mon, 18 May 2009 18:18:38 +0200 From: Thomas Backman <serenity@exscape.org> To: Wesley Shields <wxs@FreeBSD.org> Cc: freebsd-current@freebsd.org Subject: Re: DTrace panic while probing syscall::open (and possibly many others) Message-ID: <C994D84B-C67E-4BA3-9A7C-D5A3175BD29C@exscape.org> In-Reply-To: <20090518161148.GA56646@atarininja.org> References: <949B5884-5303-4EFF-AC7D-293640FFA012@exscape.org> <20090518161148.GA56646@atarininja.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On May 18, 2009, at 06:11 PM, Wesley Shields wrote: > On Wed, May 13, 2009 at 03:19:05PM +0200, Thomas Backman wrote: >> OK, so I first posted a thread on the forums about this in 7.2- >> RELEASE: >> http://forums.freebsd.org/showthread.php?t=3834 >> Then filed a PR, kern/134408: >> http://www.freebsd.org/cgi/query-pr.cgi?pr=134408 >> >> The very same bug remains in 8-CURRENT/amd64 as of May 13, ~10(am) >> GMT+2. >> >> Steps to reproduce: >> 1) Build DTrace capable kernel (I followed the wiki DTrace >> instructions) >> 2) Reboot; kldload dtraceall >> 3) dtrace -n 'syscall::open:entry { self->path = arg0; } >> syscall::open:return { printf("%s\n", copyinstr(self->path)); }' >> 4) Crash. >> >> Backtrace: >> [...] > > It's not the probe that is the problem. I suspect it's the copyinstr. > >> Same panic on two computers (a "real" one, A64 3200+, nForce4, 2GB >> RAM; >> and a Macbook Pro C2D running VMware Fusion). Same panic in 7.2 and >> 8.0. > > I can easily reproduce this also. > > -- WXS Yup, it's copyinstr() crashing. It works if you simply replace printf(...) with printf("file opened\n") which doesn't copy anything in, and the backtrace seems (even to me ;) to point towards it. Regards, Thomas
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C994D84B-C67E-4BA3-9A7C-D5A3175BD29C>