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>