* kernel panic about kernel unaligned access [not found] <3a665c760910270627u784d43b8t2978731110c920a4@mail.gmail.com> @ 2009-10-27 14:23 ` loody 2009-10-29 6:24 ` Ben Nizette 0 siblings, 1 reply; 3+ messages in thread From: loody @ 2009-10-27 14:23 UTC (permalink / raw) To: linux-kernel Dear all: I use kernel 2.6.18 and I get the kernel panic as below: Unhandled kernel unaligned access[#1]: Cpu 0 $ 0 : 00000000 11000001 0000040a 8721f0d8 $ 4 : 874a6c00 80001d18 00000000 00000000 $ 8 : 00000000 ffffa438 00000000 874c2000 $12 : 00000000 00000000 00005800 00011000 $16 : 80001d10 874a6c40 874a6c00 87d7bf00 $20 : 874a6c78 871a0000 87370000 874a6c80 $24 : 00000000 2aacc770 $28 : 87d7a000 87d7be88 ffffa438 8709ed20 Hi : 00000000 Lo : 00000000 epc : 8709e72c sync_sb_inodes+0x9c/0x320 Not tainted ra : 8709ed20 writeback_inodes+0xb4/0x160 Status: 11000003 KERNEL EXL IE Cause : 00808010 BadVA : 00000442 PrId : 00019654 Modules linked in: Process pdflush (pid: 38, threadinfo=87d7a000, task=87d695b8) Stack : ffffffff ffffffff 871c0000 87cae4d8 874a6c00 874a6c40 87d7bf00 871c4290 87d7bf64 871a0000 87370000 00000000 00000000 8709ed20 ffffffff ffffffff 8735e380 874bb8a8 00000400 0000034b ffffa62c 87d7bf00 87057f9c 00000000 87189270 87188b20 00000000 87189564 ffff9880 87362d58 00000000 00000000 87d7bef8 00000400 00000000 00000000 00000000 00000000 00000000 00000000 ... Call Trace: [<8709ed20>] writeback_inodes+0xb4/0x160 [<87057f9c>] wb_kupdate+0xb8/0x154 [<87189270>] __schedule+0x998/0xb34 [<87188b20>] __schedule+0x248/0xb34 [<87189564>] preempt_schedule+0x68/0xac [<87058d74>] pdflush+0x188/0x284 [<87058cfc>] pdflush+0x110/0x284 [<8703b9e4>] kthread+0x14c/0x1b8 [<87057ee4>] wb_kupdate+0x0/0x154 [<87058bec>] pdflush+0x0/0x284 [<8703ba00>] kthread+0x168/0x1b8 [<87003398>] kernel_thread_helper+0x10/0x18 [<87003388>] kernel_thread_helper+0x0/0x18 Code: 8e450084 24b0fff8 8e02009c <8c510038> 8e220008 30420002 1040000f 00000000 8ca20000 note: pdflush[38] exited with preempt_count 1 my questions are: 1. what does "Not tainted" mean? 2. I grep the kernel and I find the above message comes from do_ade in unaligned.c, If I guess correctly. but from the call trace I cannot find out who call it. who and how kernel pass the information to do_ade? 3. as far as i know, inode is the data structure we used to record file. >From what information in the inode I can find out the file name the writeback_inodes try to write? 4. take [<87189564>] preempt_schedule+0x68/0xac for example, what does "0xac" mean? appreciate your help, miloody ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: kernel panic about kernel unaligned access 2009-10-27 14:23 ` kernel panic about kernel unaligned access loody @ 2009-10-29 6:24 ` Ben Nizette 2009-11-05 7:03 ` loody 0 siblings, 1 reply; 3+ messages in thread From: Ben Nizette @ 2009-10-29 6:24 UTC (permalink / raw) To: loody; +Cc: linux-kernel On Tue, 2009-10-27 at 22:23 +0800, loody wrote: > Dear all: > I use kernel 2.6.18 and I get the kernel panic as below: Very old kernel, you're unlikely to get good responses. > 1. what does "Not tainted" mean? You haven't loaded a closed-source module, the system hasn't crashed before and a few other things. Pretty much that your system was in good shape before the bug > 2. I grep the kernel and I find the above message comes from do_ade in > unaligned.c, If I guess correctly. > but from the call trace I cannot find out who call it. > who and how kernel pass the information to do_ade? No-one calls it, it's an exception handler invoked when an unaligned access is attempted. Your question should be "on which assembler instruction is the unaligned access attempted" and you can find that out as below > 3. as far as i know, inode is the data structure we used to record file. Well, its a structure which holds metadata about files, yes > From what information in the inode I can find out the file name the > writeback_inodes try to write? Not with just this information; you'd need additional debug output, but even then I very much doubt that information would help you > 4. take [<87189564>] preempt_schedule+0x68/0xac for example, what > does "0xac" mean? That's the symbol size. 0x68 is the offset in to preempt_schedule and probably more useful for you. With that info, your vmlinux and gdb you can get the offending asm instruction. All that said, it's such an old kernel you're unlikely to get much help actually fixing the bug, you're much better off to upgrade if there's any chance of it. --Ben. ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: kernel panic about kernel unaligned access 2009-10-29 6:24 ` Ben Nizette @ 2009-11-05 7:03 ` loody 0 siblings, 0 replies; 3+ messages in thread From: loody @ 2009-11-05 7:03 UTC (permalink / raw) To: Ben Nizette; +Cc: linux-kernel hi all: 2009/10/29 Ben Nizette <bn@niasdigital.com>: > On Tue, 2009-10-27 at 22:23 +0800, loody wrote: >> Dear all: >> I use kernel 2.6.18 and I get the kernel panic as below: > > Very old kernel, you're unlikely to get good responses. > >> 1. what does "Not tainted" mean? > > You haven't loaded a closed-source module, the system hasn't crashed > before and a few other things. Pretty much that your system was in good > shape before the bug > >> 2. I grep the kernel and I find the above message comes from do_ade in >> unaligned.c, If I guess correctly. >> but from the call trace I cannot find out who call it. >> who and how kernel pass the information to do_ade? > > No-one calls it, it's an exception handler invoked when an unaligned > access is attempted. Your question should be "on which assembler > instruction is the unaligned access attempted" and you can find that out > as below > >> 3. as far as i know, inode is the data structure we used to record file. > > Well, its a structure which holds metadata about files, yes > >> From what information in the inode I can find out the file name the >> writeback_inodes try to write? > > Not with just this information; you'd need additional debug output, but > even then I very much doubt that information would help you > >> 4. take [<87189564>] preempt_schedule+0x68/0xac for example, what >> does "0xac" mean? > > That's the symbol size. 0x68 is the offset in to preempt_schedule and > probably more useful for you. With that info, your vmlinux and gdb you > can get the offending asm instruction. > > All that said, it's such an old kernel you're unlikely to get much help > actually fixing the bug, you're much better off to upgrade if there's > any chance of it. > > --Ben. I have one question. If we use mmap in usermode to map HW registers under mips machine, what is the proper flag I should use in mmap or open? Since I find the problem seems come from some application try to access registers by mmaping. appreciate your help, miloody ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-11-05 7:03 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <3a665c760910270627u784d43b8t2978731110c920a4@mail.gmail.com>
2009-10-27 14:23 ` kernel panic about kernel unaligned access loody
2009-10-29 6:24 ` Ben Nizette
2009-11-05 7:03 ` loody
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®