Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Jul 2011 14:05:04 +0300
From:      Andriy Gapon <avg@FreeBSD.org>
To:        maestro something <maestro82@gmail.com>
Cc:        freebsd-stable@FreeBSD.org
Subject:   Re: dtrace ustack kernel panic
Message-ID:  <4E2E9F60.1060808@FreeBSD.org>
In-Reply-To: <CAJ_JOqvEmXBTBABhUcJ66=bh9%2B8S%2BC9v30hXxVZiCXuEpGPJ1A@mail.gmail.com>
References:  <CAJ_JOqvEmXBTBABhUcJ66=bh9%2B8S%2BC9v30hXxVZiCXuEpGPJ1A@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
on 26/07/2011 04:20 maestro something said the following:
> Hi,
> 
> when using the ustack action on the latest FreeBSD8.2 i386 the kernel
> panics.
> 
> Here is the information I could gather:
> 
> let me know if I can provide more information. (i.e., i have the full crash
> information 80+mbs handy)

Use kgdb on the crash dump, go to the dtrace_probe frame and see which exactly
assert fails and why.

> Here is the backtrace:
> 
> Fatal trap 12: page fault while in kernel mode
> cpuid = 0; apic id = 00
> fault virtual address   = 0x108
> fault code              = supervisor write, page not present
> instruction pointer     = 0x20:0xc11012d7
> stack pointer           = 0x28:0xcd3ed9f4
> frame pointer           = 0x28:0xcd3eda0c
> code segment            = base 0x0, limit 0xfffff, type 0x1b
>                         = DPL 0, pres 1, def32 1, gran 1
> processor eflags        = resume, IOPL = 0
> current process         = 1132 (nc)
> trap number             = 12
> panic: page fault
> cpuid = 0
> KDB: stack backtrace:
> #0 0xc09036a7 at kdb_backtrace+0x47
> #1 0xc08d1a07 at panic+0x117
> #2 0xc0c158c3 at trap_fatal+0x323
> #3 0xc0c15bc0 at trap_pfault+0x2f0
> #4 0xc0c1612a at trap+0x48a
> #5 0xc0bfc97c at calltrap+0x6
> #6 0xc10e992b at dtrace_panic+0x1b
> #7 0xc10e995d at dtrace_assfail+0x2d
> #8 0xc10fb28c at dtrace_probe+0x135c
> #9 0xc1237f72 at systrace_probe+0x62
> #10 0xc090f63f at syscallenter+0x47f
> #11 0xc0c15c14 at syscall+0x34
> #12 0xc0bfca11 at Xint0x80_syscall+0x21
> Uptime: 3m0s
> Physical memory: 239 MB
> Dumping 79 MB: 64 48 32 16
> 
> 
> Steps To reproduce:
> 
> the dtrace program (i.e., test.d) was:
> 
> #!/usr/sbin/dtrace -s
> 
> syscall::accept:return
> / execname == "nc" /
> {
>     printf("%s accept:return\n", execname);
>     ustack();
> }
> 
> % dtrace -s test.d
> 
> then running
> % nc -vl 8080
> on one shell and
> % nc localhost 8080
> on another would make the kernel panic


-- 
Andriy Gapon



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