Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Strange USB crash
On Fri, Jun 04, 2010 at 05:22:27PM -0700, Paul Goyette wrote:
> After having had my previous motherboard go belly-up, I've replaced
> it with a new one. The entire dmesg is attached, but here's the
> relevant messages for the ohci devices:
>
~~
>
> I've had multiple crashes for no apparent reason, under varying I/O
> loads (including nothing but CPU-bound code-cracker), and the
> backtrace is always the same:
>
> panic + 0x2ba
> ohci_softintr + 0x466
> softint_dispatch + 0xcc
>
> gdb says that the address ohci_softintr+0x466 is in dev/usb/ohci.c at
>
> if (sitd->flags & OHCI_CALL_DONE)
> break;
> ohci_free_sitd(sc, sitd);
> }
> >>>> ohci_free_sitd(sc, sitd);
> if (uedir == UE_DIR_IN &&
> xfer->status == USBD_NORMAL_COMPLETION)
> xfer->actlen = actlen;
> xfer->hcpriv = NULL;
>
> And ohci_free_sitd() is defined in the same file as
>
> void
> ohci_free_sitd(ohci_softc_t *sc, ohci_soft_itd_t *sitd)
> {
> int s;
>
> DPRINTFN(10,("ohci_free_sitd: sitd=%p\n", sitd));
>
> #ifdef DIAGNOSTIC
> if (!sitd->isdone) {
> panic("ohci_free_sitd: sitd=%p not done", sitd);
> return;
> }
> /* Warn double free */
> sitd->isdone = 0;
> #endif
> ...
>
>
> Yes, my kernel does have 'options DIAGNOSTIC' turned on (I don't
> remember why, it's just been on forever!) so hitting that panic is
> certainly possible.
>
> My questions to the usb experts:
>
> 1) should I just rebuild without DIAGNOSTIC and ignore the error?
>
> 2) Is "something bad(tm)" going to happen later if it does double-free?
>
> 3) Is this indicative of some other underlying problem?
>
> And if so, how would I go about finding and fixing it?
>
> For now, I'm going to remove DIAGNOSTIC, since I really need my nfs
> server to be relatively stable. :)
Sure this isn't kern/30398?
Jonathan Kollasch
Home |
Main Index |
Thread Index |
Old Index