From owner-freebsd-hackers@FreeBSD.ORG Thu Aug 4 02:13:39 2011 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 543C51065670 for ; Thu, 4 Aug 2011 02:13:39 +0000 (UTC) (envelope-from ambrosehua@gmail.com) Received: from mail-qw0-f54.google.com (mail-qw0-f54.google.com [209.85.216.54]) by mx1.freebsd.org (Postfix) with ESMTP id F20E18FC14 for ; Thu, 4 Aug 2011 02:13:38 +0000 (UTC) Received: by qwc9 with SMTP id 9so1082191qwc.13 for ; Wed, 03 Aug 2011 19:13:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=fVnBs/QeTGknD9pFox4PivbeDTrKkLhY5szQkGcUGPo=; b=hIdKb22uRAN5KhrU3JQjdlBRdl3qFmu4MHsR5THzCRCWqiRMUoDqiIPRfQtS90YkZc 2DDdJ8s7ULYFbnRsZh3NOi/lh0QnBQzAjJv7P01L2urJkQooSv9h+t6vgTgbRLJYV9V3 MtLJtARbUZOnCxqT9f4uSBuCrN8U8MCscnd70= MIME-Version: 1.0 Received: by 10.229.66.219 with SMTP id o27mr156602qci.26.1312424016272; Wed, 03 Aug 2011 19:13:36 -0700 (PDT) Received: by 10.229.185.75 with HTTP; Wed, 3 Aug 2011 19:13:36 -0700 (PDT) In-Reply-To: <4E392458.1060606@FreeBSD.org> References: <20110722202811.17302hol2s3ar084@newwebmail.rawbw.com> <20110723135655.4479d190@fabiankeil.de> <4E392458.1060606@FreeBSD.org> Date: Thu, 4 Aug 2011 10:13:36 +0800 Message-ID: From: ambrosehuang ambrose To: Andriy Gapon Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: Yuri , Fabian Keil , freebsd-hackers@freebsd.org Subject: Re: DTrace script asserts and kills the other process X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Aug 2011 02:13:39 -0000 2011/8/3 Andriy Gapon > on 28/07/2011 07:10 ambrosehuang ambrose said the following: > >> Yuri wrote: > >> > >>> I am trying to run this dtrace script: > >>> > >>> #!/usr/sbin/dtrace -s > >>> pid123:libc::entry > >>> { > >>> self->timestmp[probefunc] = timestmp; > >>> } > >>> pid123:libc::return > >>> /self->timestmp[probefunc] != 0/ > >>> { > >>> @function_duration[probefunc] = sum(timestmp - > >>> self->timestmp[probefunc]); timestmp[probefunc] = 0; > >>> } > >>> > >>> which I got from here: > >>> http://www.princeton.edu/~unix/Solaris/troubleshoot/dtrace.html > >>> replacing 123 with the pid of some running process. > >>> > >>> Result: dtrace utility asserts: > >>> Assertion failed: (dpr != NULL), file > >>> > >> > /usr/src/cddl/lib/libdtrace/../../../cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.c, > >>> line 751. > >>> Abort trap: 6 > >>> > >>> Also the target process is killed too: > >>> Killed: 9 > >>> > >>> 8.2-STABLE amd64 > >> > >> This is a known issue. You may be able to work around it by > >> letting dtrace start the traced process. > >> > >> There's already a PR about it: > >> http://www.freebsd.org/cgi/query-pr.cgi?pr=bin/158431 > >> but the limitation isn't mentioned in the wiki: > >> http://wiki.freebsd.org/DTrace/userland > > FYI and benefit: I've committed what should be a fix for this issue, > r224632. > > >> It's not clear to me if this has worked in the past or if it > >> works for other architectures (the reporter and I are both using > >> amd64, too). > >> > >> Fabian > >> > > I came across the same problem in 8.2-stable , it seemed the problem had > > been there since 8.2-release with userland dtrace integrated. I followed > the > > PR185431 and found when dtrace started, it indeed attached to the > traced > > process( dpr != NULL), but the traced process died soon, and > > according to the PR, this is "error in error" since the dtrace came > accross > > error in dfatal > > > .................................................................................................................................................... > > #3 0x0000000808d8af2d in dt_proc_lookup (dtp=0x80b841000, P=0x80d7ffb40, > > remove=0) > > at > > > /usr/src/cddl/lib/libdtrace/../../../cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.c:751 > > #4 0x0000000808d8af92 in dt_proc_destroy (dtp=0x80b841000, P=0x80d7ffb40) > > at > > > /usr/src/cddl/lib/libdtrace/../../../cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.c:763 > > #5 0x0000000808d8bc6e in dt_proc_hash_destroy (dtp=0x80b841000) > > at > > > /usr/src/cddl/lib/libdtrace/../../../cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.c:1162 > > #6 0x0000000808daa4b5 in dtrace_close (dtp=0x80b841000) > > at > > > /usr/src/cddl/lib/libdtrace/../../../cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c:1554 > > #7 0x0000000000402775 in dfatal (fmt=0x408572 "no probes %s\n") > > at > > > /usr/src/cddl/usr.sbin/dtrace/../../../cddl/contrib/opensolaris/cmd/dtrace/dtrace.c:236 > > #8 0x0000000000406b2c in main (argc=3, argv=0x7ffffffed9c0) > > at > > > /usr/src/cddl/usr.sbin/dtrace/../../../cddl/contrib/opensolaris/cmd/dtrace/dtrace.c:1825 > > > ..................................................................................................................................................... > > _______________________________________________ > > freebsd-hackers@freebsd.org mailing list > > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > > To unsubscribe, send any mail to " > freebsd-hackers-unsubscribe@freebsd.org" > > > > I just saw your commit, I will verify it on 8-stable soon, thank you! > -- > Andriy Gapon >