ncplogin panic

ejc eric.j.christeson at gmail.com
Tue Aug 1 18:29:01 UTC 2006


On 8/1/06, m.ehinger at ltur.de <m.ehinger at 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.

Thanks
Eric
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dump.out
Type: application/octet-stream
Size: 4059 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20060801/720c9f3b/dump.obj


More information about the freebsd-stable mailing list