Date: Tue, 14 Jun 2005 17:32:22 -0700 From: Julian Elischer <julian@elischer.org> To: Maksim Yevmenkin <maksim.yevmenkin@savvis.net> Cc: Norbert Koch <NKoch@demig.de>, "Freebsd-Hackers@Freebsd.Org" <freebsd-hackers@freebsd.org> Subject: Re: kernel panic in usb0; was: RE: using vkbd device Message-ID: <42AF7716.7080108@elischer.org> In-Reply-To: <42AF6A83.4050608@savvis.net> References: <000001c570e2$79541300$4801a8c0@ws-ew-3.W2KDEMIG> <42AF6A83.4050608@savvis.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Maksim Yevmenkin wrote: > Norbert, > >>> >> >> >> I am observing spurious crashes in usb0 under FreeBSD 4.11. >> Kernel configuration/hardware: >> HZ=400, NO_SWAPPING, DEVICE_POLLING (with kern.polling.user_frac=90), >> fxp ethernet, 6x sio, ohci, Pentium MMX 166 MHz > > > could you try to compile kernel with debugging information? not sure > if it will fit into ram. doesn't have to.. the debug info is not loaded. only made available to the debugger > >> When quickly connecting/disconnecting > > > i guess you mean here unplug the keyboard and then immediately plug it > back, right? > sounds like he means "repeatedly." >> a usb keyboard, after some time I have a panic in process 3 (usb0), >> either at usbd_ar_pipe+0x7 (when detaching) >> or at usbd_get_interface_descriptor+0x6 (when attaching). >> >> Stack traces are: >> >> (a) >> usbd_ar_pipe+0x7 >> usbd_ar_pipe(0,...) >> usbd_abort_pipe(0,...) >> ukbd_enable_intr() >> ukbd_term() >> ukbd_detach() >> DEVICE_DETACH() >> device_detach() >> device_delete_child() >> usb_discommect_port() >> uhub_explore() >> usb_discover() >> usb_event_thread() > > > can you tell what value "pipe" handle has? i suspect its NULL > >> (b) >> usbd_get_interface_descriptor+0x6 >> usbd_get_interface_descriptor(0) >> ukbd_attach(c0bf3b80) >> DEVICE_ATTACH() >> device_probe_and_attach() >> usbd_probe_and_attach() >> usbd_new_device() >> uhub_explore() >> usb_discover() >> usb_event_thread() > > > can you tell what value "iface" handle has? i suspect its NULL > > can you please compile the kernel with "DIAGNOSTIC" and check for > messages from usb system? > >> In situation(a), ipl is at bio, ks_intr_pipe is NULL when calling >> usbd_abort_pipe(). > > > thats ok. splusb is defined as splbio > >> In situation (b), ipl is at none, USB_ATTACH_START() in >> USB_ATTACK(ukbd) in > that would be ATTACH not ATACK! :-) >> ukbd.c >> seems to make problems. > > > not sure about this one > >> The above stack traces are from ddb. Booting the kernel with -gd and >> using >> gdb -k >> didn't give more information. I almost always get an unusable empty >> stack >> trace >> and different crash addresses. > booting with -gd drops you into the (gdb) debugger immediatly.. I presume you have a gdb looking at the serial port and have a serial debug port defined then? > > > please compile kernel with DIAGNOSTIC and USB_DEBUG. then try to > adjust various "debug" knobs with sysctl(8) to get debug traces. at > this point it looks like a race condition of some sort (to me). > > thanks, > max > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to > "freebsd-hackers-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?42AF7716.7080108>