÷ ÓÂ, 08/01/2005 × 02:03 +0300, Vladimir Grebenschikov ÐÉÛÅÔ: > ÷ ÓÂ, 01/01/2005 × 02:11 -0800, Julian Elischer ÐÉÛÅÔ: > > Vladimir Grebenschikov wrote: > > > ÷ ÐÔ, 31/12/2004 × 05:05 -1000, Randy Bush ÐÉÛÅÔ: > > > > > >>possibly related? > > >> > > >>just so you know, on a thinkpad t41 with any current in the last > > >>few weeks, i kernel panic on boot if a usb device is not plugged > > >>in. turning off acpi also allows boot. see > > >> > > >> <http://rip.psg.com/~randy/041215.crash> > > >> > > >>i can help debug if anyone is on the trail > > > > > > > > > I have also problems with USB on recent current (previous was few weeks > > > old). > > > > > > > the most salient thiing you could do is find the date of the problem by checking > > out sys/dev/usb on dec 9 and seeing if that fixes it (you said dec 9 was ok) > > and if so, gradually moving it forward using a binary search and narrowing in on > > the commit that broke it. I have found the exact reason - it stats fail after following patch: sos 2004-12-08 11:16:33 UTC FreeBSD src repository Modified files: sys/dev/ata ata-queue.c Log: Reset timeout when we are back from interrupt. Revision Changes Path 1.41 +3 -0 src/sys/dev/ata/ata-queue.c _at__at_ -216,6 +216,9 _at__at_ ata_completed(request, 0); } else { + if (!dumping) + callout_reset(&request->callout, request->timeout * hz, + (timeout_t*)ata_timeout, request); if (request->bio && !(request->flags & ATA_R_TIMEOUT)) { ATA_DEBUG_RQ(request, "finish bio_taskqueue"); bio_taskqueue(request->bio, (bio_task_t *)ata_completed, request); Looks like something bad happens with locking while this timeout. With this patch reverse applied - all is ok. Can anybody advise, what wrong happens there with locking ? (original panic description in attachment) This panic happens after ATA initialization. But If I boot with plugged USB hub (it has keyboard and mouse) I've get panic on ATAPICAM init. Should I fill PR ? (last try with very last current) -- Vladimir B. Grebenchikov vova_at_fbsd.ru
attached mail follows:
÷ ÐÔ, 31/12/2004 × 05:05 -1000, Randy Bush ÐÉÛÅÔ: > possibly related? > > just so you know, on a thinkpad t41 with any current in the last > few weeks, i kernel panic on boot if a usb device is not plugged > in. turning off acpi also allows boot. see > > <http://rip.psg.com/~randy/041215.crash> > > i can help debug if anyone is on the trail I have also problems with USB on recent current (previous was few weeks old). It panics on each boot: Fatal trap 12: page fault while in kernel mode fault virtual address = 0x1ff0383 fault code = supervisor write, page not present instruction pointer = 0x8:0xc07bc886 stack pointer = 0x10:0xe6923a8c frame pointer = 0x10:0xe6923a90 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 477 (usbd) [thread pid 477 tid 100078 ] Stopped at usb_get_next_event+0x6e: movl %eax,0x184(%edx) db> trace Tracing pid 477 tid 100078 td 0xc212bb80 usb_get_next_event(1ff01ff,1ff01ff,1ff01ff,1ff01ff,1ff01ff) at usb_get_next_event+0x6e usbread(c1a60200,e6923c7c,10,7000000,0) at usbread+0x43 devfs_read_f(c1d3f264,e6923c7c,c1977c80,0,c212bb80) at devfs_read_f+0xd4 dofileread(c212bb80,c1d3f264,7,bfbfeb50,180) at dofileread+0x7e read(c212bb80,e6923d14,c,c212bb80,7) at read+0x6b syscall(2f,2f,2f,7,7) at syscall+0x300 Xint0x80_syscall() at Xint0x80_syscall+0x1f --- syscall (3, FreeBSD ELF32, read), eip = 0x280cbc17, esp = 0xbfbfeb2c, ebp = 0xbfbfecd8 --- db> ps pid proc uid ppid pgrp flag stat wmesg wchan cmd 514 c212a3f0 0 1 48 0000002 [LOCK Giant c2019040] hcsecd 512 c212a000 65534 1 512 0000100 [SLPQ select 0xc06b8d04][SLP] sdpd 477 c212a5e8 0 472 48 0004002 [CPU 0] usbd 472 c1a475e8 0 48 48 0000002 [SLPQ wait 0xc1a475e8][SLP] sh ... db> trace 514 Tracing pid 514 tid 100079 td 0xc212bcf0 sched_switch(c212bcf0,0,1,7066308c,418ddef8) at sched_switch+0x170 mi_switch(1,0,c05238cd,c19939a4,c1d65484) at mi_switch+0x1d9 turnstile_wait(c06b2ae0,c212bb80,0,bfbfe000,e69b9cbc) at turnstile_wait +0x350 _mtx_lock_sleep(c06b2ae0,c212bcf0,0,0,0) at _mtx_lock_sleep+0xb4 vm_fault(c1993960,bfbfe000,2,8,e69b9cfc) at vm_fault+0x211 trap_pfault(e69b9d48,1,bfbfeb4c,e69b9d34,bfbfeb4c) at trap_pfault+0x13b trap(2f,2f,2f,0,bfbfeb60) at trap+0x21a calltrap() at calltrap+0x5 --- trap 0xc, eip = 0x280cc601, esp = 0xbfbfeb50, ebp = 0xbfbfebb8 --- db> ================================================================== I have found way how to workaround panic. If I turn on USB dongle while boot (after usb bus detected) it boots ok. But If I boot with turned off USB dongle - it panics, same If I boot with turned on USB dongle. (also it is same with usb mice or keyboard). I have allways turned on umass on-board card reader. There is my usual list of USB devides: # usbdevs -v Controller /dev/usb0: addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x0000), rev 1.00 port 1 powered port 2 powered Controller /dev/usb1: addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x0000), rev 1.00 port 1 powered port 2 powered Controller /dev/usb2: addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x0000), rev 1.00 port 1 powered port 2 addr 2: full speed, power 100 mA, config 1, UGX(0x3003), ALPS(0x044e), rev 7.81 Controller /dev/usb3: addr 1: high speed, self powered, config 1, EHCI root hub(0x0000), Intel(0x0000), rev 1.00 port 1 powered port 2 powered port 3 powered port 4 powered port 5 addr 2: high speed, self powered, config 1, USB Memory Stick Slot(0x014d), Sony(0x054c), rev 1.10 port 6 powered # Last "good" kernel dated Dec 9 2004. (or near this date). As I notice it allways panics when some process gets Giant, (usually it is bluetooth process) Looks like it is USB problem, but probably it is bluetooth related. I am not sure. I can provide more details. > randy -- Vladimir B. Grebenchikov vova_at_fbsd.ru _______________________________________________ freebsd-current_at_freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"Received on Fri Jan 14 2005 - 20:29:07 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:26 UTC