Messages in this thread | | | Date | Wed, 23 Jul 2008 23:45:32 +0200 | From | "Vegard Nossum" <> | Subject | Re: recent -git: BUG in free_thread_xstate |
| |
On Wed, Jul 23, 2008 at 11:35 PM, Dmitry Adamushko <dmitry.adamushko@gmail.com> wrote: > 2008/7/23 Dmitry Adamushko <dmitry.adamushko@gmail.com>: >> 2008/7/23 Vegard Nossum <vegard.nossum@gmail.com>: >>> ------------[ cut here ]------------ >>> WARNING: at kernel/sched_fair.c:815 hrtick_start_fair+0x158/0x170() >> >> that's interesting. As a first step and if it's easily reproducible, >> would you try something like below? > > If not, maybe object files are still in-tact? Just to see where > exactly in schedule() it crashed so maybe we may get an idea on what > was a result of next = pick_next_task(rq, prev);
Yes, indeed. You mean this part?
BUG: unable to handle kernel paging request at c0804358 IP: [<c057e38d>] schedule+0x1ed/0x850 *pde = 3780e163 *pte = 00804162 Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC Pid: 5575, comm: migration/1 Tainted: G W (2.6.26 #1) EIP: 0060:[<c057e38d>] EFLAGS: 00010086 CPU: 1 EIP is at schedule+0x1ed/0x850 EAX: c0803f00 EBX: 00000001 ECX: f4d10000 EDX: 00450008 ESI: f4c91fe0 EDI: c0803f00 EBP: f4c85fa0 ESP: f4c85f3c
$ addr2line -e vmlinux -i c057e38d kernel/sched_stats.h:164 kernel/sched_stats.h:236 kernel/sched_stats.h:242 kernel/sched.c:4191
(Keep in mind that the line numbers are for v2.6.26.)
Looks to be this line (kernel/sched.c):
sched_info_switch(prev, next);
or for kernel/sched_stats.h:164:
unsigned long long now = task_rq(t)->clock, delta = 0;
..I'm not sure how much information this is?
Most likely the task_struct just got corrupted, like for the xstate crashes... Should I still try the patch? :-)
Vegard
-- "The animistic metaphor of the bug that maliciously sneaked in while the programmer was not looking is intellectually dishonest as it disguises that the error is the programmer's own creation." -- E. W. Dijkstra, EWD1036
| |