Re: panic SCHED_ULE

From: Norikatsu Shigemura <nork_at_FreeBSD.org>
Date: Fri, 11 Feb 2005 01:57:47 +0900 (JST)
On Tue, 8 Feb 2005 13:22:24 +0300
Gleb Smirnoff <glebius_at_freebsd.org> wrote:
>   Norikatsu,
> On Sun, Feb 06, 2005 at 08:08:19PM +0900, Norikatsu Shigemura wrote:
> N> 	In recently 6-current with SMP(PentiumIII-S x2), I contacted
> N> 	a scheduler panic while `make -j1024 buildworld'.
> N> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> N> FreeBSD 6.0-CURRENT #10: Sun Feb  6 19:10:30 JST 2005
> N>     nork_at_nadesico.ninth-nine.com:/devel/obj/usr/src/sys/NADESICO
> N> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> N> 	How should this problem be fixed?
> Check that you have sched_ule.c rev. 1.146 

	I confirmed it.  But I contacted panic with sched_ule.c 1.146.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FreeBSD nadesico.ninth-nine.com 6.0-CURRENT FreeBSD 6.0-CURRENT #15: Thu Feb 10 15:42:02 JST 2005     nork_at_nadesico.ninth-nine.com:/devel/obj/usr/src/sys/NADESICO  i386
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FreeBSD/i386 (nadesico.ninth-nine.com) (dcons)

login: [thread pid 21 tid 100018 ]
Stopped at      sched_add+0x36: movl    0x4(%eax),%ecx
db> where
Tracing pid 21 tid 100018 td 0xc2bbcc80
sched_add(0,0,c0638339,1ce,e4030c10,c04ba5cc,c06c2360,1,c0638339,11b) at sched_add+0x36
setrunqueue(c4cf0e10,0,c06382d2,4da,14000250) at setrunqueue+0x106
sched_thread_priority(c4cf0e10,14,c0639ed6,a5,c0639ed6) at sched_thread_priority+0xe9
propagate_priority(c06c2360,0,c0639ed6,254,c06cd0bc) at propagate_priority+0x8e
turnstile_wait(c06c23a0,c4cf0e10,c06362be,216,221) at turnstile_wait+0x217
_mtx_lock_sleep(c06c23a0,c2bbcc80,0,c0634783,221) at _mtx_lock_sleep+0xd1
_mtx_lock_flags(c06c23a0,0,c0634783,221,0) at _mtx_lock_flags+0x6b
ithread_loop(c2c00d00,e4030d48,c0634558,30e,a190410) at ithread_loop+0x1db
fork_exit(c048cfb0,c2c00d00,e4030d48) at fork_exit+0xa9
fork_trampoline() at fork_trampoline+0x8
--- trap 0x1, eip = 0, esp = 0xe4030d7c, ebp = 0 ---
db> show registers
cs                 0x8
ds                0x10
es                0x10
fs          0x742a0018
ss                0x10
eax                  0
ecx                0x1
edx                  0
ebx         0xc307e9c0
esp         0xe4030ba0
ebp         0xe4030bd4
esi         0xc4cf0e10
edi         0xc4cf0e10
eip         0xc04b9d56  sched_add+0x36
efl            0x10046
dr0                  0
dr1                  0
dr2                  0
dr3                  0
dr4         0xffff0ff0
dr5              0x400
dr6         0xffff0ff0
dr7              0x400
sched_add+0x36: movl    0x4(%eax),%ecx
db> show thread
  100115 (0xc32fb7d0)  sched_switch(c32fb7d0,0,1,11e,50943bad) at sched_switch+0xe8
  100237 (0xc4cf1af0)  sched_switch(c4cf1af0,c2c02190,1,118,26a2dc7d) at sched_switch+0xe8
  100125 (0xc331c7d0)  sched_switch(c331c7d0,0,1,11e,f8331bc5) at sched_switch+0xe8
  100153 (0xc37104b0)  sched_switch(c37104b0,0,1,11e,6c204bdd) at sched_switch+0xe8
  100229 (0xc4cf0e10)  sched_switch(c4cf0e10,c2bb7190,1,118,15a35779) at sched_switch+0xe8
  100177 (0xc4107af0)  sched_switch(c4107af0,0,1,11e,3a6afdad) at sched_switch+0xe8
  100091 (0xc307d190)  sched_switch(c307d190,c4cf0960,1,11e,4064834d) at sched_switch+0xe8
  100219 (0xc4b87e10)  sched_switch(c4b87e10,0,1,11e,bdb327ed) at sched_switch+0xe8
  100143 (0xc34434b0)  sched_switch(c34434b0,0,1,11e,3e677ec5) at sched_switch+0xe8
  100209 (0xc4b86e10)  sched_switch(c4b86e10,0,1,11e,408b2ddd) at sched_switch+0xe8
  100212 (0xc4b87320)  sched_switch(c4b87320,0,1,11e,14469065) at sched_switch+0xe8
  100116 (0xc32fb960)  sched_switch(c32fb960,0,1,11e,2bcec86d) at sched_switch+0xe8
  100211 (0xc4b87190)  sched_switch(c4b87190,0,1,11e,a0c77149) at sched_switch+0xe8
  100149 (0xc3443e10)  sched_switch(c3443e10,0,1,11e,4d33515) at sched_switch+0xe8
  100142 (0xc3443320)  sched_switch(c3443320,0,1,11e,e1989759) at sched_switch+0xe8
  100168 (0xc3711c80)  sched_switch(c3711c80,0,1,11e,dc9b67d9) at sched_switch+0xe8
  100066 (0xc2c90960)  sched_switch(c2c90960,0,1,11e,ece09ce5) at sched_switch+0xe8
  100201 (0xc4b86190)  sched_switch(c4b86190,0,1,11e,ca3da6ad) at sched_switch+0xe8
  100198 (0xc410bc80)  sched_switch(c410bc80,0,1,11e,a3050391) at sched_switch+0xe8
  100123 (0xc331c4b0)  sched_switch(c331c4b0,0,1,11e,209bfe47) at sched_switch+0xe8
  100147 (0xc3443af0)  sched_switch(c3443af0,0,1,11e,a97139ff) at sched_switch+0xe8
  100107 (0xc32faaf0)  sched_switch(c32faaf0,0,1,11e,924bb02b) at sched_switch+0xe8
  100144 (0xc3443640)  sched_switch(c3443640,0,1,11e,10152731) at sched_switch+0xe8
  100140 (0xc3443000)  sched_switch(c3443000,0,1,11e,f979683) at sched_switch+0xe8
  100121 (0xc331c190)  sched_switch(c331c190,0,1,11e,a4b8356b) at sched_switch+0xe8
  100122 (0xc331c320)  sched_switch(c331c320,0,1,11e,3e6278ef) at sched_switch+0xe8
  100100 (0xc32fa000)  sched_switch(c32fa000,0,1,11e,4c63fab7) at sched_switch+0xe8
  100111 (0xc32fb190)  sched_switch(c32fb190,0,1,11e,3bca12dd) at sched_switch+0xe8
  100086 (0xc3007960)  sched_switch(c3007960,0,1,11e,651cd90d) at sched_switch+0xe8
  100108 (0xc32fac80)  sched_switch(c32fac80,0,1,11e,a4765d71) at sched_switch+0xe8
  100128 (0xc331cc80)  sched_switch(c331cc80,0,1,11e,85508de3) at sched_switch+0xe8
  100126 (0xc331c960)  sched_switch(c331c960,0,1,11e,9f24eb63) at sched_switch+0xe8
  100102 (0xc32fa320)  sched_switch(c32fa320,0,1,11e,c61395e9) at sched_switch+0xe8
  100127 (0xc331caf0)  sched_switch(c331caf0,0,1,11e,e743cc8f) at sched_switch+0xe8
  100120 (0xc331c000)  sched_switch(c331c000,0,1,11e,bc56716f) at sched_switch+0xe8
  100076 (0xc3006960)  sched_switch(c3006960,0,1,11e,7b2708cb) at sched_switch+0xe8
  100110 (0xc32fb000)  sched_switch(c32fb000,0,1,11e,8925804b) at sched_switch+0xe8
  100129 (0xc331ce10)  sched_switch(c331ce10,0,1,11e,3c8e687d) at sched_switch+0xe8
  100058 (0xc2c8fc80)  sched_switch(c2c8fc80,0,1,11e,a4b81d67) at sched_switch+0xe8
  100067 (0xc2c90af0)  sched_switch(c2c90af0,0,1,11e,8ec186ab) at sched_switch+0xe8
  100095 (0xc307d7d0)  sched_switch(c307d7d0,0,1,11e,544baec7) at sched_switch+0xe8
  100065 (0xc2c907d0)  sched_switch(c2c907d0,0,1,11e,497466e7) at sched_switch+0xe8
  100087 (0xc3007af0)  sched_switch(c3007af0,0,1,11e,7caafa2f) at sched_switch+0xe8
  100113 (0xc32fb4b0)  sched_switch(c32fb4b0,0,1,11e,3c963fe9) at sched_switch+0xe8
  100082 (0xc3007320)  sched_switch(c3007320,0,1,11e,2d469af1) at sched_switch+0xe8
  100070 (0xc3006000)  sched_switch(c3006000,0,1,11e,f76c33b7) at sched_switch+0xe8
  100084 (0xc3007640)  sched_switch(c3007640,0,1,11e,f881ac49) at sched_switch+0xe8
  100075 (0xc30067d0)  sched_switch(c30067d0,0,1,11e,678655f9) at sched_switch+0xe8
  100068 (0xc2c90c80)  sched_switch(c2c90c80,0,1,11e,3c8ecc39) at sched_switch+0xe8
  100054 (0xc2c8f640)  sched_switch(c2c8f640,0,1,11e,184710fd) at sched_switch+0xe8
  100055 (0xc2c8f7d0)  sched_switch(c2c8f7d0,0,1,11e,c1ba1ffb) at sched_switch+0xe8
  100083 (0xc30074b0)  sched_switch(c30074b0,0,1,11e,52efacb5) at sched_switch+0xe8
  100104 (0xc32fa640)  sched_switch(c32fa640,0,1,11e,42504495) at sched_switch+0xe8
  100085 (0xc30077d0)  sched_switch(c30077d0,0,1,11e,e8e52b05) at sched_switch+0xe8
  100090 (0xc307d000)  sched_switch(c307d000,0,1,11e,daa6eead) at sched_switch+0xe8
  100074 (0xc3006640)  sched_switch(c3006640,0,1,11e,43e960d7) at sched_switch+0xe8
  100103 (0xc32fa4b0)  sched_switch(c32fa4b0,0,1,11e,6ac42ed1) at sched_switch+0xe8
  100112 (0xc32fb320)  sched_switch(c32fb320,0,1,11e,5b26faad) at sched_switch+0xe8
  100131 (0xc331d190)  sched_switch(c331d190,0,1,11e,faf984ad) at sched_switch+0xe8
  100130 (0xc331d000)  sched_switch(c331d000,0,1,11e,ffea8bbf) at sched_switch+0xe8
  100094 (0xc307d640)  sched_switch(c307d640,0,1,11e,70bcb2d) at sched_switch+0xe8
  100096 (0xc307d960)  sched_switch(c307d960,0,1,11e,65efeeb7) at sched_switch+0xe8
  100088 (0xc3007c80)  sched_switch(c3007c80,0,1,11e,14b641b7) at sched_switch+0xe8
  100057 (0xc2c8faf0)  sched_switch(c2c8faf0,0,1,11e,2c0a3d31) at sched_switch+0xe8
  100092 (0xc307d320)  sched_switch(c307d320,0,1,11e,59af1495) at sched_switch+0xe8
  100182 (0xc4108320)  sched_switch(c4108320,0,1,11e,ddb11a8d) at sched_switch+0xe8
  100223 (0xc4cf04b0)  sched_switch(c4cf04b0,0,1,11e,be02b315) at sched_switch+0xe8
  100152 (0xc3710320)  sched_switch(c3710320,c4108320,1,11e,9779f389) at sched_switch+0xe8
  100081 (0xc3007190)  sched_switch(c3007190,0,1,11e,f7075089) at sched_switch+0xe8
  100097 (0xc307daf0)  sched_switch(c307daf0,0,1,11e,e5236e39) at sched_switch+0xe8
  100093 (0xc307d4b0)  sched_switch(c307d4b0,0,1,11e,f13f580d) at sched_switch+0xe8
  100059 (0xc2c8fe10)  sched_switch(c2c8fe10,0,1,11e,682864ad) at sched_switch+0xe8
  100089 (0xc3007e10)  sched_switch(c3007e10,0,1,11e,1290be2d) at sched_switch+0xe8
  100056 (0xc2c8f960)  sched_switch(c2c8f960,0,1,11e,82e5fe99) at sched_switch+0xe8
  100053 (0xc2c8f4b0)  sched_switch(c2c8f4b0,0,1,11e,152aa92d) at sched_switch+0xe8
  100052 (0xc2c8f320)  sched_switch(c2c8f320,0,1,11e,cd52cb2d) at sched_switch+0xe8
  100051 (0xc2c8f190)  sched_switch(c2c8f190,0,1,11e,857aed2d) at sched_switch+0xe8
  100050 (0xc2c8f000)  sched_switch(c2c8f000,0,1,11e,6071ddad) at sched_switch+0xe8
  100080 (0xc3007000)  sched_switch(c3007000,0,1,11e,a86aaadb) at sched_switch+0xe8
  100079 (0xc3006e10)  sched_switch(c3006e10,0,1,11e,e4bb147) at sched_switch+0xe8
  100078 (0xc3006c80)  sched_switch(c3006c80,0,1,11e,45e49a5) at sched_switch+0xe8
  100077 (0xc3006af0)  sched_switch(c3006af0,0,1,11e,d40ddbb1) at sched_switch+0xe8
  100043 (0xc2c1f4b0)  sched_switch(c2c1f4b0,0,1,11e,4e9fd5ad) at sched_switch+0xe8
  100042 (0xc2c1f320)  sched_switch(c2c1f320,0,1,11e,292e825b) at sched_switch+0xe8
  100041 (0xc2c1f190)  sched_switch(c2c1f190,0,1,11e,f7db882d) at sched_switch+0xe8
  100040 (0xc2c1f000)  sched_switch(c2c1f000,0,1,11e,80c2de93) at sched_switch+0xe8
  100039 (0xc2c02e10)  sched_switch(c2c02e10,0,1,11e,ec757d89) at sched_switch+0xe8
  100038 (0xc2c02c80)  sched_switch(c2c02c80,0,1,11e,ddb61fc3) at sched_switch+0xe8
  100037 (0xc2c02af0)  sched_switch(c2c02af0,0,1,11e,7a18809) at sched_switch+0xe8
  100036 (0xc2c02960)  sched_switch(c2c02960,0,1,11e,4733fdad) at sched_switch+0xe8
  100064 (0xc2c90640)  sched_switch(c2c90640,0,1,11e,e5ca9e1b) at sched_switch+0xe8
  100063 (0xc2c904b0)  sched_switch(c2c904b0,0,1,11e,fae79dad) at sched_switch+0xe8
  100062 (0xc2c90320)  sched_switch(c2c90320,0,1,11e,54c16dad) at sched_switch+0xe8
  100061 (0xc2c90190)  sched_switch(c2c90190,0,1,11e,5895302d) at sched_switch+0xe8
  100060 (0xc2c90000)  sched_switch(c2c90000,0,1,11e,8882be1) at sched_switch+0xe8
  100028 (0xc2bc0c80)  fork_trampoline() at fork_trampoline
  100027 (0xc2bc0af0)  sched_switch(c2bc0af0,0,1,11e,bdac95ad) at sched_switch+0xe8
  100026 (0xc2bc0960)  sched_switch(c2bc0960,0,1,11e,d60e782d) at sched_switch+0xe8
  100025 (0xc2bc07d0)  sched_switch(c2bc07d0,0,1,11e,7d02675f) at sched_switch+0xe8
  100024 (0xc2bc0640)  sched_switch(c2bc0640,0,1,118,60a0a2c7) at sched_switch+0xe8
  100023 (0xc2bc04b0)  sched_switch(c2bc04b0,0,1,11e,4cb22495) at sched_switch+0xe8
  100049 (0xc2c1fe10)  sched_switch(c2c1fe10,0,1,11e,ba05279) at sched_switch+0xe8
  100048 (0xc2c1fc80)  sched_switch(c2c1fc80,0,1,11e,51b1eb2d) at sched_switch+0xe8
  100047 (0xc2c1faf0)  sched_switch(c2c1faf0,0,1,11e,2050812d) at sched_switch+0xe8
  100046 (0xc2c1f960)  sched_switch(c2c1f960,0,1,11e,7b64c3e7) at sched_switch+0xe8
  100045 (0xc2c1f7d0)  sched_switch(c2c1f7d0,0,1,11e,4ec919) at sched_switch+0xe8
  100044 (0xc2c1f640)  sched_switch(c2c1f640,0,1,11e,a434d393) at sched_switch+0xe8
  100014 (0xc2bbc640)  fork_trampoline() at fork_trampoline
  100013 (0xc2bbc4b0)  sched_switch(c2bbc4b0,0,1,11e,498c90b1) at sched_switch+0xe8
  100012 (0xc2bbc320)  sched_switch(c2bbc320,0,1,11e,ecd0b1eb) at sched_switch+0xe8
  100011 (0xc2bbc190)  fork_trampoline() at fork_trampoline
  100035 (0xc2c027d0)  fork_trampoline() at fork_trampoline
  100034 (0xc2c02640)  fork_trampoline() at fork_trampoline
  100033 (0xc2c024b0)  fork_trampoline() at fork_trampoline
  100032 (0xc2c02320)  fork_trampoline() at fork_trampoline
  100031 (0xc2c02190)  sched_switch(c2c02190,0,1,11e,2996f0a1) at sched_switch+0xe8
  100030 (0xc2c02000)  sched_switch(c2c02000,0,1,11e,5cef80ad) at sched_switch+0xe8
  100029 (0xc2bc0e10)  sched_switch(c2bc0e10,0,1,11e,f1229635) at sched_switch+0xe8
  100001 (0xc2bb7190)  sched_switch(c2bb7190,0,1,11e,5fb2bcfd) at sched_switch+0xe8
  100000 (0xc2bb7000)  fork_trampoline() at fork_trampoline
  100022 (0xc2bc0320)  sched_switch(c2bc0320,0,1,11e,7f10959f) at sched_switch+0xe8
  100021 (0xc2bc0190)  fork_trampoline() at fork_trampoline
  100020 (0xc2bc0000)  fork_trampoline() at fork_trampoline
  100019 (0xc2bbce10)  fork_trampoline() at fork_trampoline
  100018 (0xc2bbcc80)  sched_add(0,0,c0638339,1ce,e4030c10,c04ba5cc,c06c2360,1,c0638339,11b) at sched_add+0x36
  100017 (0xc2bbcaf0)  fork_trampoline() at fork_trampoline
  100016 (0xc2bbc960)  fork_trampoline() at fork_trampoline
  100015 (0xc2bbc7d0)  fork_trampoline() at fork_trampoline
  100010 (0xc2bbc000)  fork_trampoline() at fork_trampoline
  100009 (0xc2bb7e10)  fork_trampoline() at fork_trampoline
  100008 (0xc2bb7c80)  fork_trampoline() at fork_trampoline
  100007 (0xc2bb7af0)  fork_trampoline() at fork_trampoline
  100006 (0xc2bb7960)  sched_switch(c2bb7960,0,1,11e,a68509ab) at sched_switch+0xe8
  100005 (0xc2bb77d0)  sched_switch(c2bb77d0,0,1,118,4d54bab5) at sched_switch+0xe8
  100004 (0xc2bb7640)  sched_switch(c2bb7640,0,1,118,3d313d89) at sched_switch+0xe8
  100003 (0xc2bb74b0)  sched_switch(c2bb74b0,0,1,11e,c4ae2bfd) at sched_switch+0xe8
  100002 (0xc2bb7320)  sched_switch(c2bb7320,0,1,11e,a49774ad) at sched_switch+0xe8
       0 (0xc06c0300)  sched_switch(c06c0300,0,1,11e,3d0406bb) at sched_switch+0xe8
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

	According to addr2line(1), sched_add+0x36 is
	/sys/kern/sched_ule.c#1769.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void
sched_add(struct thread *td, int flags)
{
        struct kseq *kseq;
        struct ksegrp *kg;
        struct kse *ke;
        int preemptive;
        int canmigrate;
        int class;

        CTR5(KTR_SCHED, "sched_add: %p(%s) prio %d by %p(%s)",
            td, td->td_proc->p_comm, td->td_priority, curthread,
            curthread->td_proc->p_comm);
        mtx_assert(&sched_lock, MA_OWNED);
        ke = td->td_kse;
>>>     kg = td->td_ksegrp;
        canmigrate = 1;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Received on Thu Feb 10 2005 - 15:57:49 UTC

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