Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Jan 2001 12:17:10 GMT
From:      mike@urgle.com
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   kern/24044: Kernel panics with UMASS_DEBUG enabled
Message-ID:  <200101031217.f03CHAl00538@gurgle.urgle.com>
Resent-Message-ID: <200101031220.f03CK2s53906@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         24044
>Category:       kern
>Synopsis:       Kernel panics with UMASS_DEBUG enabled
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jan 03 04:20:01 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Mike Bristow
>Release:        FreeBSD 5.0-CURRENT-20001221T172553 i386
>Organization:
>Environment:
System: FreeBSD blackmoria 5.0-CURRENT-20001221T172553 FreeBSD 5.0-CURRENT-20001221T172553 #6: Wed Dec 27 13:45:43 GMT 2000 root@blackmoria:/usr/usr/src/sys/compile/BLACKMORI i386


>Description:

pluging in a Digital camera (FujiFilm MX1300) with options
UMASS_DEBUG panics the system.

Script started on Wed Jan  3 11:48:05 2001
blackmoria# gdb -k
GNU gdb 4.18
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-unknown-freebsd".
(kgdb) symbol-file /sys/compile/BLACKMORIA/kernel.debug
Reading symbols from /sys/compile/BLACKMORIA/kernel.debug...done.
(kgdb) exec-file /var/crash/kernel.1
(kgdb) core-file /var/crash/vmcore.1
IdlePTD 3964928
initial pcb at 328b20
panicstr: from debugger
panic messages:
---
Fatal trap 12: page fault while in kernel mode
fault virtual address	= 0x2c
fault code		= supervisor read, page not present
instruction pointer	= 0x8:0xc019fed2
stack pointer	        = 0x10:0xc60a4800
frame pointer	        = 0x10:0xc60a4800
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		= 128 (usbd)
panic: from debugger
panic: from debugger
Uptime: 1m39s

dumping to dev #ad/0x50001, offset 318876
dump ata0: resetting devices .. done
63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 
---
#0  dumpsys () at ../../kern/kern_shutdown.c:477
477		if (dumping++) {
(kgdb) where
#0  dumpsys () at ../../kern/kern_shutdown.c:477
#1  0xc01951d3 in boot (howto=260) at ../../kern/kern_shutdown.c:320
#2  0xc019559d in panic (fmt=0xc029d514 "from debugger")
    at ../../kern/kern_shutdown.c:570
#3  0xc012e6e1 in db_panic (addr=-1072038190, have_addr=0, count=-1, 
    modif=0xc60a4674 "") at ../../ddb/db_command.c:433
#4  0xc012e681 in db_command (last_cmdp=0xc02d259c, cmd_table=0xc02d23fc, 
    aux_cmd_tablep=0xc0316428) at ../../ddb/db_command.c:333
#5  0xc012e746 in db_command_loop () at ../../ddb/db_command.c:455
#6  0xc013090b in db_trap (type=12, code=0) at ../../ddb/db_trap.c:71
#7  0xc0275c0a in kdb_trap (type=12, code=0, regs=0xc60a47c0)
    at ../../i386/i386/db_interface.c:163
#8  0xc0281034 in trap_fatal (frame=0xc60a47c0, eva=44)
    at ../../i386/i386/trap.c:941
#9  0xc0280dbd in trap_pfault (frame=0xc60a47c0, usermode=0, eva=44)
    at ../../i386/i386/trap.c:860
#10 0xc02807d3 in trap (frame={tf_fs = -972423152, tf_es = 16, 
      tf_ds = -972423152, tf_edi = -1063355392, tf_esi = -1063705344, 
      tf_ebp = -972404736, tf_isp = -972404756, tf_ebx = -1063696080, 
      tf_edx = 1227, tf_ecx = -1063430007, tf_eax = 0, tf_trapno = 12, 
      tf_err = 0, tf_eip = -1072038190, tf_cs = 8, tf_eflags = 66050, 
      tf_esp = -972404712, tf_ss = -1072210583}) at ../../i386/i386/trap.c:442
#11 0xc019fed2 in device_get_nameunit (dev=0x0) at ../../kern/subr_bus.c:752
#12 0xc0175d69 in umass_match_proto (sc=0xc0992500, iface=0xc0991da0, 
---Type <return> to continue, or q <return> to quit---  
    udev=0xc0994900) at ../../dev/usb/umass.c:664
#13 0xc0175e1f in umass_match (self=0xc09e7c00) at ../../dev/usb/umass.c:706
#14 0xc019fd46 in device_probe_child (dev=0xc0926f80, child=0xc09e7c00)
    at device_if.h:22
#15 0xc01a02d1 in device_probe_and_attach (dev=0xc09e7c00)
    at ../../kern/subr_bus.c:1014
#16 0xc0179ea8 in usbd_probe_and_attach (parent=0xc0926f80, dev=0xc0994900, 
    port=1, addr=2) at ../../dev/usb/usb_subr.c:851
#17 0xc017a291 in usbd_new_device (parent=0xc0926f80, bus=0xc0921000, depth=1, 
    lowspeed=0, port=1, up=0xc0926f30) at ../../dev/usb/usb_subr.c:1053
#18 0xc0175aa8 in uhub_explore (dev=0xc091e100) at ../../dev/usb/uhub.c:429
#19 0xc0178b8b in usb_discover (sc=0xc090a6c0) at ../../dev/usb/usb.c:610
#20 0xc01788e9 in usbioctl (devt=0xc0926d80, cmd=536892675, 
    data=0xc60a4ebc "|ý¿¿ØN\nÆûã\030À", flag=3, p=0xc5674ee0)
    at ../../dev/usb/usb.c:446
#21 0xc01d68f2 in spec_ioctl (ap=0xc60a4df8)
    at ../../miscfs/specfs/spec_vnops.c:314
#22 0xc01d65bd in spec_vnoperate (ap=0xc60a4df8)
    at ../../miscfs/specfs/spec_vnops.c:117
#23 0xc0252cbd in ufs_vnoperatespec (ap=0xc60a4df8)
    at ../../ufs/ufs/ufs_vnops.c:2292
#24 0xc01d12a8 in vn_ioctl (fp=0xc09b5b80, com=536892675, 
    data=0xc60a4ebc "|ý¿¿ØN\nÆûã\030À", p=0xc5674ee0) at vnode_if.h:357
#25 0xc01a8b06 in ioctl (p=0xc5674ee0, uap=0xc60a4f80) at ../../sys/file.h:172
---Type <return> to continue, or q <return> to quit---
#26 0xc0281441 in syscall2 (frame={tf_fs = 47, tf_es = 47, tf_ds = 47, 
      tf_edi = 1, tf_esi = 0, tf_ebp = -1077936772, tf_isp = -972402732, 
      tf_ebx = 0, tf_edx = -1077937080, tf_ecx = 3, tf_eax = 54, 
      tf_trapno = 7, tf_err = 2, tf_eip = 671748872, tf_cs = 31, 
      tf_eflags = 647, tf_esp = -1077937152, tf_ss = 47})
    at ../../i386/i386/trap.c:1146
#27 0xc027654f in Xint0x80_syscall ()
#28 0x8048c8d in ?? ()
(kgdb) up 10
#10 0xc02807d3 in trap (frame={tf_fs = -972423152, tf_es = 16, 
      tf_ds = -972423152, tf_edi = -1063355392, tf_esi = -1063705344, 
      tf_ebp = -972404736, tf_isp = -972404756, tf_ebx = -1063696080, 
      tf_edx = 1227, tf_ecx = -1063430007, tf_eax = 0, tf_trapno = 12, 
      tf_err = 0, tf_eip = -1072038190, tf_cs = 8, tf_eflags = 66050, 
      tf_esp = -972404712, tf_ss = -1072210583}) at ../../i386/i386/trap.c:442
442				(void) trap_pfault(&frame, FALSE, eva);
(kgdb) up
#11 0xc019fed2 in device_get_nameunit (dev=0x0) at ../../kern/subr_bus.c:752
752	{
(kgdb) up
#12 0xc0175d69 in umass_match_proto (sc=0xc0992500, iface=0xc0991da0, 
    udev=0xc0994900) at ../../dev/usb/umass.c:664
664			DPRINTF(UDMASS_GEN, ("%s: Unsupported command protocol %d\n",
(kgdb) print id
$1 = (usb_interface_descriptor_t *) 0x0
(kgdb) print dev->sc_dev
$2 = 0x0
(kgdb) quit
blackmoria# exit

Script done on Wed Jan  3 11:50:45 2001

	
>How-To-Repeat:
	Plug in a FujiFilm MX 1300 camera into a USB port with
	device umass and options UMASS_DEBUG in your kernel config

>Fix:

	Don't compile with UMASS_DEBUG!  The camera will get found
	as attached as a ugen device, rather than umass, which is a 
	shame
	

>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200101031217.f03CHAl00538>