Date: Tue, 14 Nov 2000 10:58:30 -0800 (PST) From: Richard Hodges <rh@matriplex.com> To: freebsd-hackers@FreeBSD.ORG Subject: page fault question Message-ID: <Pine.BSF.4.10.10011141036500.38382-100000@mail.matriplex.com>
next in thread | raw e-mail | index | archive | help
I have been having a great time :-) debugging a device driver, and have run into a really fun way to panic. With one type of traffic, [something] happens and the kernel drops into DDB, just the way I want. Well, actually DDB seems to get trapped in some kind of loop that spews messages faster than a human can read them. When I finally got a piece of a clue, I booted with serial console and captured the following (also an endless loop): Fatal trap 12: page fault while in kernel mode fault virtual address = 0x8 fault code = supervisor read, page not present instruction pointer = 0x8:0xc014ed6b stack pointer = 0x10:0xc02b1360 frame pointer = 0x10:0xc02b1388 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = Idle interrupt mask = net tty bio cam kernel: type 12 trap, code=0 Stopped at The PC seems to have died in the DDB, that's odd (or maybe not?) ts7# nm /kernel | grep c014ed c014ed38 T linker_ddb_search_symbol c014edbc T linker_ddb_symbol_values Now looking back at the panic message, it looks like the stack has pushed into the "frame pointer". Is this an actual problem, or just some side effect of the page fault? Should I start spending my time looking for kernel stack hogs in the device driver? I can very easily add code to log ESP & EBP; would that be productive? Is there a maximum size for a softc? Maybe I'm accidentally ignoring some "code of the west" and am getting punished for it? (It wouldn't be the first time). Helpful flames gratefully accepted :-) Thanks, -Richard ------------------------------------------- Richard Hodges | Matriplex, inc. <title> | 769 Basque Way rh@matriplex.com | Carson City, NV 89706 775-886-6477 | www.matriplex.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.10.10011141036500.38382-100000>