dtrace ustack kernel panic

maestro something maestro82 at gmail.com
Mon Aug 1 23:31:21 UTC 2011


Running the same example on amd64 has the same behavior as on i386 (granted
the backtrace is slightly different).

That is, the kernel panics immediately when you use the ustack() action.
Furthermore, the crashdump does not provide the nececcary information to get
at the root of the cause (i.e., no souce found for the systrace_probe and
dtrace_probe frames).

still I'm wondering ... Did anybody successfully use the ustack() action on
FreeBSD-8.2?

cheers
--m

backtrace on amd64:
Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address    = 0x0
fault code        = supervisor read data, page not present
instruction pointer    = 0x20:0xffffffff80ff1fa6
stack pointer            = 0x28:0xffffff80001d7500
frame pointer            = 0x28:0xffffff80001d7850
code segment        = base 0x0, limit 0xfffff, type 0x1b
            = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags    = resume, IOPL = 0
current process        = 1068 (nc)
trap number        = 12
panic: page fault
cpuid = 0
KDB: stack backtrace:
#0 0xffffffff80618d2e at kdb_backtrace+0x5e
#1 0xffffffff805e4d37 at panic+0x187
#2 0xffffffff808dcac0 at trap_fatal+0x290
#3 0xffffffff808dcf0d at trap_pfault+0x2fd
#4 0xffffffff808dd343 at trap+0x343
#5 0xffffffff808c5298 at calltrap+0x8
#6 0xffffffff80ff638a at dtrace_probe+0x47a
#7 0xffffffff81192285 at systrace_probe+0x45
#8 0xffffffff80624f50 at syscallenter+0x3c0
#9 0xffffffff808dcf7b at syscall+0x4b
#10 0xffffffff808c5572 at Xfast_syscall+0xe2
Uptime: 3m0s


On Sun, Jul 31, 2011 at 6:46 AM, Alex Samorukov <ml at os2.kiev.ua> wrote:

> Hi,
>
> I just tried your test on -STABLE + 1 fix from current [1] and got no trap.
>
> dtrace: buffer size lowered to 2m
> CPU     ID                    FUNCTION:NAME
>  4  42224                    accept:return nc accept:return
>
> Assertion failed: (dpr != NULL), file /usr/src/cddl/lib/libdtrace/..**
> /../../cddl/contrib/**opensolaris/lib/libdtrace/**common/dt_proc.c, line
> 751.
> Abort (core dumped)
>
>
> Also 1st dtrace was killed as well.
>
> I tried 2 times with the same result. Box is amd64.
>
> This is bt from gdb:
>
> (gdb) bt
> #0  0x0000000800fa2f9c in thr_kill () from /lib/libc.so.7
> #1  0x000000080103f6cb in abort () from /lib/libc.so.7
> #2  0x0000000800786758 in dt_proc_lookup () from /lib/libdtrace.so.2
> #3  0x00000008007867db in dt_proc_lock () from /lib/libdtrace.so.2
> #4  0x00000008007a5bcb in dt_print_ustack () from /lib/libdtrace.so.2
> #5  0x00000008007a8504 in dt_print_agg () from /lib/libdtrace.so.2
> #6  0x00000008007a88ca in dtrace_consume () from /lib/libdtrace.so.2
> #7  0x000000080077e1a2 in dtrace_work () from /lib/libdtrace.so.2
> #8  0x00000000004044ba in ?? ()
> #9  0x000000000040222e in ?? ()
> [skip]
>
> [1] http://www.freebsd.org/cgi/**query-pr.cgi?pr=kern/159064<http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/159064>
>
>
> On 07/26/2011 03:20 AM, maestro something wrote:
>
>> Hi,
>>
>> when using the ustack action on the latest FreeBSD8.2 i386 the kernel
>> panics.
>>
>
>


More information about the freebsd-stable mailing list