unionfs kernel panic on 7.1-PRERELEASE
Steven Hartland
killing at multiplay.co.uk
Tue Dec 2 08:57:40 PST 2008
Not sure where to go with this one any help appreciated:-
FreeBSD dedicated11.multiplay.co.uk 7.1-PRERELEASE FreeBSD 7.1-PRERELEASE #4: Tue Dec 2 16:53:30 UTC 2008
root at dedicated11.multiplay.co.uk:/usr/obj/usr/src/sys/MULTIPLAY i386
kgdb kernel /var/crash/vmcore.1
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:
Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address = 0x150
fault code = supervisor read, page not present
instruction pointer = 0x20:0xc0624115
stack pointer = 0x28:0xe62c3b80
frame pointer = 0x28:0xe62c3ba8
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 = 763 (srcds_i686)
trap number = 12
panic: page fault
cpuid = 0
Uptime: 2m5s
Physical memory: 1007 MB
Dumping 53 MB: 38 22 6
warning: kld_current_sos: Can't read filename: Input/output error
Reading symbols from /boot/kernel/acpi.ko...Reading symbols from /boot/kernel/acpi.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/acpi.ko
Reading symbols from /boot/kernel/linprocfs.ko...Reading symbols from /boot/kernel/linprocfs.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linprocfs.ko
Reading symbols from /boot/kernel/linux.ko...Reading symbols from /boot/kernel/linux.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linux.ko
Reading symbols from /boot/kernel/unionfs.ko...Reading symbols from /boot/kernel/unionfs.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/unionfs.ko
#0 doadump () at pcpu.h:196
196 pcpu.h: No such file or directory.
in pcpu.h
(kgdb) list *0xc0624115
0xc0624115 is in getvnode (/usr/src/sys/kern/vfs_syscalls.c:3969).
3964 fp = NULL;
3965 if (fdp == NULL)
3966 error = EBADF;
3967 else {
3968 FILEDESC_SLOCK(fdp);
3969 if ((u_int)fd >= fdp->fd_nfiles ||
3970 (fp = fdp->fd_ofiles[fd]) == NULL)
3971 error = EBADF;
3972 else if (fp->f_vnode == NULL) {
3973 fp = NULL;
(kgdb) bt
#0 doadump () at pcpu.h:196
#1 0xc05a0937 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:418
#2 0xc05a0c09 in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:574
#3 0xc072eb8c in trap_fatal (frame=0xe62c3b40, eva=336) at /usr/src/sys/i386/i386/trap.c:939
#4 0xc072ee10 in trap_pfault (frame=0xe62c3b40, usermode=0, eva=336) at /usr/src/sys/i386/i386/trap.c:852
#5 0xc072f7cc in trap (frame=0xe62c3b40) at /usr/src/sys/i386/i386/trap.c:530
#6 0xc071563b in calltrap () at /usr/src/sys/i386/i386/exception.s:159
#7 0xc0624115 in getvnode (fdp=0xc40b4d00, fd=4, fpp=0xe62c3c70) at /usr/src/sys/kern/vfs_syscalls.c:3969
#8 0xc3e2a13d in getdents_common (td=0xc408f460, args=0xe62c3cfc, is64bit=0) at
/usr/src/sys/modules/linux/../../compat/linux/linux_file.c:446
#9 0xc072f165 in syscall (frame=0xe62c3d38) at /usr/src/sys/i386/i386/trap.c:1090
#10 0xc07156a0 in Xint0x80_syscall () at /usr/src/sys/i386/i386/exception.s:255
#11 0x00000033 in ?? ()
Previous frame inner to this frame (corrupt stack?)
(kgdb) frame 7
#7 0xc0624115 in getvnode (fdp=0xc40b4d00, fd=4, fpp=0xe62c3c70) at /usr/src/sys/kern/vfs_syscalls.c:3969
3969 if ((u_int)fd >= fdp->fd_nfiles ||
(kgdb) print *fdp
$1 = {fd_ofiles = 0x140, fd_ofileflags = 0x154 <Address 0x154 out of bounds>, fd_cdir = 0x168, fd_rdir = 0x17c, fd_jdir = 0x18c,
fd_nfiles = 512, fd_map = 0xc3bed560, fd_lastfile = 4,
fd_freefile = 5, fd_cmask = 18, fd_refcnt = 1, fd_holdcnt = 1, fd_sx = {lock_object = {lo_name = 0xc076e1c2 "filedesc
structure", lo_type = 0xc076e1c2 "filedesc structure", lo_flags = 37421056,
lo_witness_data = {lod_list = {stqe_next = 0x0}, lod_witness = 0x0}}, sx_lock = 17, sx_recurse = 0}, fd_kqlist = {slh_first
= 0x0}, fd_holdleaderscount = 0, fd_holdleaderswakeup = 0}
(kgdb) print fd
$2 = 4
(kgdb) print fdp->fd_ofiles
$3 = (struct file **) 0x140
(kgdb) print fdp->fd_ofiles[fd]
Cannot access memory at address 0x150
(kgdb) print fdp->fd_ofiles[0]
Cannot access memory at address 0x140
(kgdb) print *fdp->fd_ofiles
Cannot access memory at address 0x140
0xc3e2a13d is in getdents_common (/usr/src/sys/modules/linux/../../compat/linux/linux_file.c:446).
441 nbytes = sizeof(linux_dirent);
442 justone = 1;
443 } else
444 justone = 0;
445
446 if ((error = getvnode(td->td_proc->p_fd, args->fd, &fp)) != 0)
447 return (error);
448
449 if ((fp->f_flag & FREAD) == 0) {
450 fdrop(fp, td);
(kgdb) print *args
$5 = {fd_l_ = 0xe62c3cfc "\004", fd = 4, fd_r_ = 0xe62c3d00 "°!\020\b", dirent_l_ = 0xe62c3d00 "°!\020\b", dirent = 0x81021b0,
dirent_r_ = 0xe62c3d04 "", count_l_ = 0xe62c3d04 "", count = 4096,
count_r_ = 0xe62c3d08 "°!\020\bô¯ (\234\235¿¿"}
================================================
This e.mail is private and confidential between Multiplay (UK) Ltd. and the person or entity to whom it is addressed. In the event of misdirection, the recipient is prohibited from using, copying, printing or otherwise disseminating it or any information contained in it.
In the event of misdirection, illegible or incomplete transmission please telephone +44 845 868 1337
or return the E.mail to postmaster at multiplay.co.uk.
More information about the freebsd-hackers
mailing list