On 8/1/06, John Baldwin <[EMAIL PROTECTED]> wrote:
On Tuesday 01 August 2006 14:28, ejc wrote:
> On 8/1/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> 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

Backtrace with module symbols loaded.  It looks almost exactly the
same as Maik's .

Thanks
Eric

Attachment: dump.out
Description: Binary data

_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to