Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Jun 2009 13:55:35 +0300
From:      Andriy Gapon <avg@icyb.net.ua>
To:        Thomas Backman <serenity@exscape.org>
Cc:        Wesley Shields <wxs@FreeBSD.org>, freebsd-current@FreeBSD.org
Subject:   Re: DTrace panic while probing syscall::open (and possibly many  others)
Message-ID:  <4A3A1D27.4010802@icyb.net.ua>
In-Reply-To: <B2F32C8F-810B-4EA5-9E34-39ADD5E5CED4@exscape.org>
References:  <949B5884-5303-4EFF-AC7D-293640FFA012@exscape.org>	<0C235698-3ED2-4AE9-A7D1-5DC56D8324A4@exscape.org>	<200905212129.47892.mel.flynn%2Bfbsd.current@mailing.thruhere.net>	<44F486FA-E798-448D-BE31-F7A51EF1F612@exscape.org>	<60173AF0-7E54-4BDD-8927-0DADA9DAD1B4@exscape.org>	<20090522200306.GE2630@atarininja.org>	<20090617225849.GB28509@atarininja.org> <B2F32C8F-810B-4EA5-9E34-39ADD5E5CED4@exscape.org>

next in thread | previous in thread | raw e-mail | index | archive | help
on 18/06/2009 12:43 Thomas Backman said the following:
> #10 0xffffffff816c9140 in vpanic_common () from /boot/kernel/dtrace.ko
> #11 0xffffffff816b3067 in dtrace_panic (format=Variable "format" is not
> available.
> )
>     at
> /usr/src/sys/modules/dtrace/dtrace/../../../cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c:600
> 
> #12 0xffffffff816b309d in dtrace_assfail (
>     a=0xffffffff816d4b88 "kaddr >= kernelbase && kaddr + size >= kaddr",
>     f=0xffffff803e770370
> "ÀàF\201ÿÿÿÿÀàF\201ÿÿÿÿ0\005w>\200ÿÿÿÇà\206\200ÿÿÿÿWD\210\200ÿÿÿÿ`&t~",
> l=Variable "l" is not available.
> )
>     at
> /usr/src/sys/modules/dtrace/dtrace/../../../cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c:607
> 
> #13 0xffffffff816b3140 in dtrace_copycheck (uaddr=34365163021,
> kaddr=Variable "kaddr" is not available.
> )
>     at dtrace_isa.c:527
> #14 0xffffffff816b31fc in dtrace_copyinstr (uaddr=34365163021,
>     kaddr=18446743524025463312, size=256, flags=0xffffffff8146e0c0)
>     at dtrace_isa.c:558


kaddr=18446743524025463312 == FFFFFF8004467210
I think kernelbase on amd64 is 0xFFFFFFFF80000000.
FFFFFF8004467210 kaddr
is smaller than
FFFFFFFF80000000 kernelbase

The numbers do look suspiciously similar, so I am not sure if you are seeing a
race or a real bug somewhere.

> #15 0xffffffff816c10f1 in dtrace_dif_emulate (difo=0xffffffff80884457,
>     mstate=0xffffff803e770a10, vstate=0xffffff0002930c38,
>     state=0xffffff0002930c00)
>     at
> /usr/src/sys/modules/dtrace/dtrace/../../../cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c:3452
> 
> #16 0xffffffff816c233a in dtrace_probe (id=Variable "id" is not available.
> )
>     at
> /usr/src/sys/modules/dtrace/dtrace/../../../cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c:6226
> 
> #17 0xffffffff817f2145 in systrace_probe () from /boot/kernel/systrace.ko
> #18 0xffffffff80887c7d in syscall (frame=0xffffff803e770c90)
>     at /usr/src/sys/amd64/amd64/trap.c:997
> #19 0xffffffff8086e350 in Xfast_syscall ()
>     at /usr/src/sys/amd64/amd64/exception.S:364
> #20 0x000000080050c3ac in ?? ()


-- 
Andriy Gapon



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A3A1D27.4010802>