Re: panic: page fault in sched_rem(td=0x0)

From: Scott Long <scottl_at_samsco.org>
Date: Tue, 27 Jul 2004 23:29:21 -0600
Thanks for the report.  I think this is related to other similar
panics and deadlocks that have been seen recently.  Have you tried
turning off PREEMPTION in /sys/i386/include/param.h?

Scott

Alex Vasylenko wrote:
> hardware: i386/SMP
> build: FreeBSD 5.2-CURRENT #3: Mon Jul 26 01:52:59 EDT 2004
> kernel config: http://www.omut.org/~lxv/GENERIC-S
> dmesg: http://www.omut.org/~lxv/dmesg.tadpole
> 
> src/sys/kern/sched_ule.c,v 1.118
> src/sys/kern/kern_switch.c,v 1.73
> src/sys/kern/kern_kse.c,v 1.186
> 
> # gdb6 -k kernel.debug.1 vmcore.1
> GNU gdb 20040720 [GDB v6.x for 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-portbld-freebsd5.2"...
> panic: page fault
> panic messages:
> ---
> Fatal trap 12: page fault while in kernel mode
> cpuid = 1; apic id = 01
> fault virtual address   = 0x20
> fault code              = supervisor read, page not present
> instruction pointer     = 0x8:0xc052e462
> stack pointer           = 0x10:0xd6152948
> frame pointer           = 0x10:0xd6152960
> code segment            = base 0x0, limit 0xfffff, type 0x1b
>                         = DPL 0, pres 1, def32 1, gran 1
> processor eflags        = resume, IOPL = 0
> current process         = 75006 (firefox-bin)
> trap number             = 12
> panic: page fault
> cpuid = 1;
> KDB: stack backtrace:
> kdb_backtrace(c06a7d0d,1,c0693b33,d615288c,100) at kdb_backtrace+0x2e
> panic(c0693b33,c06bf532,d6152908,1,1) at panic+0x141
> trap_fatal(d6152908,20,1,f3,20) at trap_fatal+0x354
> trap(c1730018,d6150010,d6150010,0,c2434480) at trap+0x103
> calltrap() at calltrap+0x5
> --- trap 0xc, eip = 0xc052e462, esp = 0xd6152948, ebp = 0xd6152960 ---
> sched_rem(c1fd76e0,1,c06a8182,14b,c1fd76e0) at sched_rem+0x12
> setrunqueue(c2bb5b00,c1ccbdb0,c06a597c,3e4,1c7d43cb) at setrunqueue+0xdc
> thread_switchout(c1fd8420,2,c06a842e,129,67204fba) at thread_switchout+0x7d
> mi_switch(1,0,c06aa450,198,2) at mi_switch+0x293
> sleepq_switch(c9247488,c06a6f68,17a,2,d6152a68) at sleepq_switch+0x141
> sleepq_wait(c9247488,0,c06a842e,e7,0) at sleepq_wait+0x11
> msleep(c9247488,c070e140,44,c06a247c,0) at msleep+0x44a
> bwait(c9247488,44,c06a247c,2b3,0) at bwait+0x70
> spec_getpages(d6152b58,d6152b84,c060153f,d6152b58,129) at spec_getpages+0x1fd
> spec_vnoperate(d6152b58,129,0,d6152b48,0) at spec_vnoperate+0x18
> ffs_getpages(d6152b9c,0,c06ba3d5,26b,c06f77e0) at ffs_getpages+0x63f
> vnode_pager_getpages(c1ed5ef4,d6152c7c,6,0,d6152c40) at vnode_pager_getpages+0x94
> vm_fault(c1e22324,29246000,1,0,c1fd8420) at vm_fault+0x922
> trap_pfault(d6152d48,1,292466a0,27c,292466a0) at trap_pfault+0xe9
> trap(c065002f,2f,20002f,85a7358,85a73cc) at trap+0x201
> calltrap() at calltrap+0x5
> --- trap 0xc, eip = 0x292466a0, esp = 0xbfbfcfdc, ebp = 0xbfbfcfe8 ---
> boot() called on cpu#1
> Uptime: 1d15h37m52s
> Dumping 383 MB
> 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 256 272 288 304 320 336 352 368
> ---
> #0  doadump () at pcpu.h:159
> 159     pcpu.h: No such file or directory.
> in pcpu.h
> doadump () at pcpu.h:159
> 159     in pcpu.h
> (kgdb) where
> #0  doadump () at pcpu.h:159
> #1  0xc051a1f1 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:392
> #2  0xc051a5dd in panic (fmt=0xc0693b33 "%s") at /usr/src/sys/kern/kern_shutdown.c:554
> #3  0xc0668d04 in trap_fatal (frame=0xd6152908, eva=0) at /usr/src/sys/i386/i386/trap.c:812
> #4  0xc0668373 in trap (frame={tf_fs = -1049427944, tf_es = -703266800, tf_ds = -703266800, tf_edi = 0, tf_esi = -1035778944, tf_ebp = -703256224, tf_isp = -703256268, tf_ebx = 0, tf_edx = -1040353568, tf_ecx = 1, tf_eax = -1040353568, tf_trapno = 12, tf_err = 0, tf_eip = -1068309406, tf_cs = 8, tf_eflags = 2162838, tf_esp = -1067013674, tf_ss = -703255224}) at /usr/src/sys/i386/i386/trap.c:247
> #5  0xc065472a in calltrap () at /usr/src/sys/i386/i386/exception.s:140
> #6  0xc1730018 in ?? ()
> #7  0xd6150010 in ?? ()
> #8  0xd6150010 in ?? ()
> #9  0x00000000 in ?? ()
> #10 0xc2434480 in ?? ()
> #11 0xd6152960 in ?? ()
> #12 0xd6152934 in ?? ()
> #13 0x00000000 in ?? ()
> #14 0xc1fd76e0 in ?? ()
> #15 0x00000001 in ?? ()
> #16 0xc1fd76e0 in ?? ()
> #17 0x0000000c in ?? ()
> #18 0x00000000 in ?? ()
> #19 0xc052e462 in sched_rem (td=0x0) at /usr/src/sys/kern/sched_ule.c:1656
> #20 0xc0520c7c in setrunqueue (td=0xc2bb5b00) at /usr/src/sys/kern/kern_switch.c:362
> #21 0xc0506fed in thread_switchout (td=0xc1fd8420) at /usr/src/sys/kern/kern_kse.c:1020
> #22 0xc0522363 in mi_switch (flags=477971403, newtd=0x0) at /usr/src/sys/kern/kern_synch.c:351
> #23 0xc053d4e1 in sleepq_switch (wchan=0x0) at /usr/src/sys/kern/subr_sleepqueue.c:412
> #24 0xc053d711 in sleepq_wait (wchan=0x0) at /usr/src/sys/kern/subr_sleepqueue.c:516
> #25 0xc0521f6a in msleep (ident=0xc9247488, mtx=0xc070e140, priority=68, wmesg=0x0, timo=0) at /usr/src/sys/kern/kern_synch.c:240
> #26 0xc056bbf0 in bwait (bp=0xc9247488, pri=68 'D', wchan=0xc06a247c "spread") at /usr/src/sys/kern/vfs_bio.c:3770
> #27 0xc04dcead in spec_getpages (ap=0xd6152b58) at /usr/src/sys/fs/specfs/spec_vnops.c:755
> #28 0xc04db9d8 in spec_vnoperate (ap=0x0) at /usr/src/sys/fs/specfs/spec_vnops.c:118
> #29 0xc060153f in ffs_getpages (ap=0xd6152b9c) at vnode_if.h:1317
> #30 0xc062d454 in vnode_pager_getpages (object=0xc1ed5ef4, m=0x0, count=24576, reqpage=0) at vnode_if.h:1317
> #31 0xc0613982 in vm_fault (map=0xc1e22324, vaddr=690249728, fault_type=1 '\001', fault_flags=0) at vm_pager.h:122
> #32 0xc06688b9 in trap_pfault (frame=0xd6152d48, usermode=1, eva=690251424) at /usr/src/sys/i386/i386/trap.c:707
> #33 0xc0668471 in trap (frame={tf_fs = -1067122641, tf_es = 47, tf_ds = 2097199, tf_edi = 140145496, tf_esi = 140145612, tf_ebp = -1077948440, tf_isp = -703255180, tf_ebx = 691666224, tf_edx = 137897984, tf_ecx = 140145496, tf_eax = 137897984, tf_trapno = 12, tf_err = 4, tf_eip = 690251424, tf_cs = 31, tf_eflags = 2163330, tf_esp = -1077948452, tf_ss = 47}) at /usr/src/sys/i386/i386/trap.c:316
> #34 0xc065472a in calltrap () at /usr/src/sys/i386/i386/exception.s:140
> #35 0xc065002f in bios32_init (junk=---Can't read userspace from dump, or kernel process---) at /usr/src/sys/i386/i386/bios.c:139
> Previous frame inner to this frame (corrupt stack?)
> (kgdb)
> _______________________________________________
> 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 Wed Jul 28 2004 - 03:31:22 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:03 UTC