I am having a problem getting ncplogin to work on my 6.1-stable system. When I run ncplogin I get the following panic (hand transcribed): Fatal trap 12: page fault while in kernel mode cpuid = 1; apic id = 01 fault virtual address = 0x0 fault code = supervisor write, page not present instruction pointer = 0x20:0xc052d0a7 stack pointer = 0x28:0xc6021a98 stack frame = 0x28:0xc6021ab4 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 = 863 (ncplogin) trap number = 12 panic: page fault cpuid = 1 I tried to get a good core dump, but am failing at that also. Setting hw.physmem="64M" (or 128M, 256M, 512M or 1024M) results in the machine becoming unresponsive before it starts to dump anything. It prints "Dumping XXMB (2 chunks) and then hangs until I hit the power switch. I got one core dump with the full 2G of memory enabled, but kgdb couldn't use it. One other thing to note is that this is with an SMP kernel. A uni kernel doesn't dump core, but is still unable to connect to our novell server. I know this report is rather sparse, but I don't have much to go on. I have attached a dmesg dump and will try to provide any other information if someone is willing to help. Thanks Eric -------------- next part -------------- A non-text attachment was scrubbed... Name: dmesg.out Type: application/octet-stream Size: 6220 bytes Desc: not available Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20060731/88766e99/dmesg.obj
Hi, i had the same problem. See my thread on the freebsd-fs mailinglist http://lists.freebsd.org/pipermail/freebsd-fs/2006-July/002060.html After some research i use the attached patch against ncp_sock.c. So it is not the real solution to this problem it only avoids the panics. I'm using it quiet a while without any other known problems. Hopefully someone with more knowledge can help on this. I also get some "md_get_mem(461): incomplete copy" messages which seem to do no harm, so far. Regards, Maik !!! Use atyour own risk !!! --- ncp_sock.c.orig Fri Jan 7 02:45:49 2005 +++ ncp_sock.c Thu Jul 20 14:12:45 2006 @@ -189,7 +189,12 @@ struct thread *td = curthread; struct ucred *cred = NULL; - return so->so_proto->pr_usrreqs->pru_sopoll(so, events, cred, td); + if ( td->td_selq.tqh_last == NULL ) { + printf("ncp_poll: td->td_selq.tqh_last == NULL\n"); + return 0; + } + + return so->so_proto->pr_usrreqs->pru_sopoll(so, events, cred, td); } int ---- pach ends here ---
On Monday 31 July 2006 15:15, ejc wrote:> I am having a problem getting ncplogin to work on my 6.1-stable > system. When I run ncplogin I get the following panic (hand > transcribed): > > > Fatal trap 12: page fault while in kernel mode > cpuid = 1; apic id = 01 > fault virtual address = 0x0 > fault code = supervisor write, page not present > instruction pointer = 0x20:0xc052d0a7 > stack pointer = 0x28:0xc6021a98 > stack frame = 0x28:0xc6021ab4 > 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 = 863 (ncplogin) > trap number = 12 > panic: page fault > cpuid = 1Can you run 'gdb /path/to/kernel.debug' and do 'l *0xc052d0a7' (the value of instruction pointer above)? -- John Baldwin
> Can you jump to the 'selrecord' frame and do 'p selector->td_selq' and > 'p *sip'?Here is what i get. (kgdb) up 7 #7 0xc068a3fc in selrecord (selector=0xc33f9a80, sip=0xc363a8a8) at /usr/src/sys/kern/sys_generic.c:1105 1105 TAILQ_INSERT_TAIL(&selector->td_selq, sip, si_thrlist); (kgdb) p selector->td_selq $1 = { tqh_first = 0x0, tqh_last = 0x0 } (kgdb) p *sip $2 = { si_thrlist = { tqe_next = 0x0, tqe_prev = 0x0 }, si_thread = 0xc33f9a80, si_note = { kl_list = { slh_first = 0x0 }, kl_lock = 0xc064bf08 <knlist_mtx_lock>, kl_unlock = 0xc064bf3c <knlist_mtx_unlock>, kl_locked = 0xc064bf78 <knlist_mtx_locked>, kl_lockarg = 0xc363a8cc }, si_flags = 0x0 } (kgdb)
With this changes (i use Version 1.17 from cvs) i get no more panics. But i still get some md_get_mem(461): incomplete copy messages. I aslo still got the problem that i can't copy smal files (<8M) with "cp". I get an "invalid argument" message from "cp". So "less" or "cat" can display the smal files without problems. Maybe someone can have a look at that. Thanks in advance, maik