From owner-freebsd-stable@FreeBSD.ORG Tue Aug 1 21:32:32 2006 Return-Path: X-Original-To: freebsd-stable@freebsd.org Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9EDFC16A4DE for ; Tue, 1 Aug 2006 21:32:32 +0000 (UTC) (envelope-from john@baldwin.cx) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1191A43D45 for ; Tue, 1 Aug 2006 21:32:31 +0000 (GMT) (envelope-from john@baldwin.cx) Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.4/8.13.4) with ESMTP id k71LWUI3082453; Tue, 1 Aug 2006 17:32:30 -0400 (EDT) (envelope-from john@baldwin.cx) From: John Baldwin To: freebsd-stable@freebsd.org Date: Tue, 1 Aug 2006 15:15:37 -0400 User-Agent: KMail/1.9.1 References: <7e3339060608011128rd7034ebg6f7dd029a00c4f2@mail.gmail.com> In-Reply-To: <7e3339060608011128rd7034ebg6f7dd029a00c4f2@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200608011515.37682.john@baldwin.cx> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Tue, 01 Aug 2006 17:32:31 -0400 (EDT) X-Virus-Scanned: ClamAV 0.87.1/1630/Tue Aug 1 11:38:56 2006 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.0 X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on server.baldwin.cx Cc: ejc , "m.ehinger@ltur.de" Subject: Re: ncplogin panic X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Aug 2006 21:32:32 -0000 On Tuesday 01 August 2006 14:28, ejc wrote: > On 8/1/06, m.ehinger@ltur.de wrote: > > > > 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 --- > > After setting my bios to only use one CPU I was able to get a core > dump and the panic is happening at the exact same place as yours: > in selrecord (../../../kern/sys_generic.c:1105) > 1100 * it alone as we've already added pointed it at us > and added it to > 1101 * our list. > 1102 */ > 1103 if (sip->si_thread == NULL) { > 1104 sip->si_thread = selector; > 1105 TAILQ_INSERT_TAIL(&selector->td_selq, sip, si_thrlist); > 1106 } else if (sip->si_thread != selector) { > 1107 sip->si_flags |= SI_COLL; > 1108 } > 1109 > > I found your backtrace by digging a bit through the freebsd-fs list > and we appear to be reaching selrecord though different paths. Mine > is in sopoll() at ../../../kern/uipc_socket.c:2059 > > I don't know if it makes a difference, but I'm trying to use IP > instead of IPX to access our server. > My dump backtrace is attached. It would be very helpful if you could get the symbols loaded for the modules in you backtrace. You can either compile everything into a static kernel or you can use the 'asf' tool to generate appropriate gdb script commands to source to get symbols for your modules. You can find a kldstat gdb command in src/tools/debugscripts/ that would be helpful to use with asf. -- John Baldwin