6.1-R-p6 USB related kernel panic?

Esa Karkkainen
Fri, 08 Sep 2006 19:39:39 -0000

Hi,

	I was disconnecting my smart card reader from my USB hub, when
the kernel panicked.

	Btw kernel and world have been built with ccache.
make any difference.

	Here's backtrace from kgdb.

% kgdb kernel.debug vmcore.347
[GDB will not be able to debug user-mode threads: /usr/lib/libthread_db.so:
Undefined symbol "ps_pglobal_lookup"]
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 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-marcel-freebsd".

Unread portion of the kernel message buffer:
ugen0: at uhub3 port 5 (addr 4) disconnected
All threads purged from ugen0.3
All threads purged from ugen0.2
All threads purged from ugen0.1
All threads purged from ugen0
ugen0: detached


Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0xc4fb1674
fault code              = supervisor write, page not present
instruction pointer     = 0x20:0xc050e010
stack pointer           = 0x28:0xe786db9c
frame pointer           = 0x28:0xe786db9c
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         = 565 (ifdhandler)
trap number             = 12
panic: page fault
Uptime: 56m45s
Dumping 1023 MB (2 chunks)
  chunk 0: 1MB (159 pages) ... ok
  chunk 1: 1023MB (261872 pages) 1007 991 975 959 943 927 911 895 879 863 847
831 815 799 783 767 751 735 719 703 687 671 655 639 623 607 591 575 559 543 527
511 495 479 463 447 431 415 399 383 367 351 335 319 303 287 271 255 239 (CTRL-C
to abort)  223 (CTRL-C to abort)  207 191 (CTRL-C to abort)  (CTRL-C to abort)
(CTRL-C to abort)  175 159 143 127 111 95 79 63 47 31 15

#0  doadump () at pcpu.h:165
165     pcpu.h: No such file or directory.
        in pcpu.h
(kgdb) backtrace
#0  doadump () at pcpu.h:165
#1  0xc04eb025 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:402
#2  0xc04eb2bc in panic (fmt=0xc066cfb6 "%s")
    at /usr/src/sys/kern/kern_shutdown.c:558
#3  0xc0651410 in trap_fatal (frame=0xe786db5c, eva=3304789620)
    at /usr/src/sys/i386/i386/trap.c:836
#4  0xc0651177 in trap_pfault (frame=0xe786db5c, usermode=0, eva=3304789620)
    at /usr/src/sys/i386/i386/trap.c:744
#5  0xc0650dd5 in trap (frame      {tf_fs = 8, tf_es = 40, tf_ds = 40, tf_edi =
-985174656, tf_esi = 0, tf_ebp = -410592356, tf_isp = -410592376, tf_ebx = 35,
tf_edx = -985174656, tf_ecx = -1066602208, tf_eax = -990177684, tf_trapno = 12,
tf_err = 2, tf_eip = -1068441584, tf_cs = 32, tf_eflags = 590470, tf_esp =
-410592036, tf_ss = -1068442298})
    at /usr/src/sys/i386/i386/trap.c:434
#6  0xc0643bca in calltrap () at /usr/src/sys/i386/i386/exception.s:139
#7  0xc050e010 in clear_selinfo_list (td=0xc5476d80)
    at /usr/src/sys/kern/sys_generic.c:1078
#8  0xc050dd46 in poll (td=0xc5476d80, uap=0xe786dd04)
    at /usr/src/sys/kern/sys_generic.c:977
#9  0xc0651727 in syscall (frame      {tf_fs = 59, tf_es = 59, tf_ds = 59,
tf_edi = 134692864, tf_esi = 0, tf_ebp = -1077946616, tf_isp = -410591900,
tf_ebx = 671950004, tf_edx = 0, tf_ecx = 134664592, tf_eax = 209, tf_trapno = 0,
tf_err = 2, tf_eip = 672453131, tf_cs = 51, tf_eflags = 642, tf_esp =
-1077946660, tf_ss = 59})
    at /usr/src/sys/i386/i386/trap.c:981
#10 0xc0643c1f in Xint0x80_syscall () at /usr/src/sys/i386/i386/exception.s:200
#11 0x00000033 in ?? ()
Previous frame inner to this frame (corrupt stack?)
(kgdb)

--
"In the beginning the Universe was created. This has made a lot of
people very angry and been widely regarded as a bad move."
        -- Douglas Adams 1952 - 2001