Re: A page fault in subr_turnstile.c:propogate_priority()

From: Igor Sysoev <is_at_rambler-co.ru>
Date: Wed, 3 Dec 2003 18:58:12 +0300 (MSK)
On Wed, 3 Dec 2003, John Baldwin wrote:

> On 03-Dec-2003 Brian F. Feldman wrote:
> > Igor Sysoev <is_at_rambler-co.ru> wrote:
> >> I'd cvsup'ed 5.1-CURRENT from 2003.11.04.02.02.00 up to
> >> 2003.11.28.00.00.00 with the turnstile support and it can still
> >> causes sometimes a page fault in propogate_priority().
> >> I have core dump and can send debug output.
> > 
> > Go ahead and load up kernel.debug and the core dump in gdb -k, and show us 
> > the backtrace.  Also, do you have any idea about more specific circumstances 
> > that will cause this problem?  Thanks!
> 
> Actually, please try http://www.FreeBSD.org/~jhb/patches/turnstile.patch

I've applied patch.
Now it's a second fault.

Fatal trap 12: page fault while in kernel mode
cpuid = 2; apic id = 02
fault virtual address   = 0xe5
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc053f1a8
stack pointer           = 0x10:0xe62dbaac
frame pointer           = 0x10:0xe62dbacc
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = resume, IOPL = 0
current process         = 1851 (make)
trap number             = 12
panic: page fault
cpuid = 2; 
boot() called on cpu#2

syncing disks, buffers remaining... panic: bremfree: removing a buffer not on a queue
cpuid = 2; 
boot() called on cpu#2
Uptime: 2m55s
Dumping 2047 MB

[ skipped ]

---
#0  doadump () at ../../../kern/kern_shutdown.c:240
240             dumping++;
(kgdb) bt
#0  doadump () at ../../../kern/kern_shutdown.c:240
#1  0xc0517067 in boot (howto=260) at ../../../kern/kern_shutdown.c:372
#2  0xc0517480 in poweroff_wait (junk=0xc0666ee0, howto=-731617912)
    at ../../../kern/kern_shutdown.c:550
#3  0xc05614e1 in bremfreel (bp=0xe62db71c) at ../../../kern/vfs_bio.c:647
#4  0xc05613eb in bremfree (bp=0x0) at ../../../kern/vfs_bio.c:629
#5  0xc0565de1 in getblk (vp=0xc814d000, blkno=131552, size=16384, slpflag=0, 
    slptimeo=0, flags=0) at ../../../kern/vfs_bio.c:2468
#6  0xc05615c2 in breadn (vp=0xc814d000, blkno=0, size=0, rablkno=0x0, 
    rabsize=0x0, cnt=0, cred=0x0, bpp=0x0) at ../../../kern/vfs_bio.c:700
#7  0xc056156c in bread (vp=0x0, blkno=0, size=0, cred=0x0, bpp=0x0)
    at ../../../kern/vfs_bio.c:682
#8  0xc05bba95 in ffs_update (vp=0xc896130c, waitfor=0)
    at ../../../ufs/ffs/ffs_inode.c:108
#9  0xc05d1812 in ffs_fsync (ap=0xe62db91c) at ../../../ufs/ffs/ffs_vnops.c:325
#10 0xc05d06da in ffs_sync (mp=0xc811a800, waitfor=2, cred=0xc3f00e80, 
    td=0xc06a5ca0) at vnode_if.h:627
#11 0xc057ab8e in sync (td=0xc06a5ca0, uap=0x0)
    at ../../../kern/vfs_syscalls.c:141
#12 0xc0516b75 in boot (howto=256) at ../../../kern/kern_shutdown.c:281
#13 0xc0517480 in poweroff_wait (junk=0xc066a837, howto=-1066983121)
    at ../../../kern/kern_shutdown.c:550
#14 0xc0636d6c in trap_fatal (frame=0xc066a837, eva=0)
    at ../../../i386/i386/trap.c:821
#15 0xc06363d3 in trap (frame=
      {tf_fs = -1068105704, tf_es = -1037172720, tf_ds = -433258480, tf_edi = -932123520, tf_esi = -1066740096, tf_ebp = -433210676, tf_isp = -433210728, tf_ebx = -937236928, tf_edx = 0, tf_ecx = -931024576, tf_eax = -937236896, tf_trapno = 12, tf_err = 0, tf_eip = -1068240472, tf_cs = 8, tf_eflags = 65666, tf_esp = -433210676, tf_ss = -1068447965}) at ../../../i386/i386/trap.c:250
#16 0xc0623238 in calltrap () at {standard input}:94
#17 0xc053f984 in turnstile_wait (ts=0xc870ec80, lock=0xc06a94a0, owner=0x0)
    at ../../../kern/subr_turnstile.c:510
#18 0xc050c655 in _mtx_lock_sleep (m=0xc06a94a0, opts=0, file=0x0, line=0)
    at ../../../kern/kern_mutex.c:476
#19 0xc04ef50f in cv_timedwait_sig (cvp=0xc06adc64, mp=0xc06adc40, timo=0)
    at ../../../kern/kern_condvar.c:478
#20 0xc0541972 in kern_select (td=0xc881b140, nd=20, fd_in=0xbfbfdbd0, 
    fd_ou=0x0, fd_ex=0x0, tvp=0xe62dbcd8) at ../../../kern/sys_generic.c:844
#21 0xc05412c6 in select (td=0x0, uap=0xe62dbd14)
    at ../../../kern/sys_generic.c:720
#22 0xc0637120 in syscall (frame=
      {tf_fs = 47, tf_es = 47, tf_ds = 47, tf_edi = -1077945264, tf_esi = 134765696, tf_ebp = -1077945256, tf_isp = -433209996, tf_ebx = 134895872, tf_edx = 2184, tf_ecx = 0, tf_eax = 93, tf_trapno = 22, tf_err = 2, tf_eip = 134628119, tf_cs = 31, tf_eflags = 514, tf_esp = -1077945444, tf_ss = 47})
    at ../../../i386/i386/trap.c:1010
#23 0xc062328d in Xint0x80_syscall () at {standard input}:136
---Can't read userspace from dump, or kernel process---

(kgdb) 


Igor Sysoev
http://sysoev.ru/en/
Received on Wed Dec 03 2003 - 06:58:17 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:32 UTC