<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.3429" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV dir=ltr align=left><FONT face=Century color=#800000 size=2><SPAN 
class=290011610-17102008>Hi all,</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Century color=#800000 size=2><SPAN 
class=290011610-17102008></SPAN></FONT>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT face=Century color=#800000 size=2><SPAN 
class=290011610-17102008>This is a peculiar Oops we are encountering during the 
running of our board (sh4) architecture</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Century color=#800000 size=2><SPAN 
class=290011610-17102008>we are some times getting Oops messages like this 
</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Century color=#800000 size=3><SPAN 
class=290011610-17102008><PRE id=comment_text_0>Unable to handle kernel NULL pointer dereference at virtual address 00000004
pc = 844240f8
*pde = 00000000
Oops: 0001 [#1]

Pid : 529, Comm:                  cvm
PC is at run_timer_softirq+0x58/0x220
PC  : 844240f8 SP  : 88d1ff44 SR  : 400080f0 TEA : c0169d64    Tainted: P
R0  : 00000000 R1  : 88d1ff44 R2  : 00000000 R3  : 846fa08c
R4  : 846fa084 R5  : 846fae8c R6  : 00000001 R7  : 00000000
R8  : 00000000 R9  : 846fa084 R10 : 84424020 R11 : 88d1ff0c
R12 : 88d1ff44 R13 : 846fba08 R14 : ffffffd3
MACH: 00000050 MACL: 00000078 GBR : 397b6938 PR  : 844241a2

Call trace:
[&lt;8442137a&gt;] __do_softirq+0x7a/0x120
[&lt;844218a6&gt;] irq_exit+0x66/0x80
[&lt;84407e80&gt;] do_IRQ+0x0/0x60
[&lt;84407eb8&gt;] do_IRQ+0x38/0x60
[&lt;84405070&gt;] ret_from_irq+0x0/0x10

Kernel panic - not syncing: Aiee, killing interrupt handler!</PRE><PRE>I think this crash is a generic problem in our kernel configuration. can any one help?</PRE><PRE>From the log, is it possible to tell what may cause these kind of behavior? The same crash is happening at different times during different operations. Please</PRE><PRE>Give you valuable suggestions!!</PRE></SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Century color=#800000 
size=2></FONT>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT face=Century color=#800000 
size=2></FONT>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT face=Century color=#800000 
size=2></FONT>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV align=left><FONT face=Century color=#800000 size=2>Regards,</FONT></DIV>
<DIV align=left><FONT face=Century color=#800000 size=2>Sreejith M 
M</FONT></DIV>
<DIV align=left><FONT face=Century color=#800000 
size=2>Engineer||D&amp;D<BR>Tata Elxsi Limited</FONT></DIV>
<DIV>&nbsp;</DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> 
linuxppc-embedded-bounces+sreejith.mm=gmail.com@ozlabs.org 
[mailto:linuxppc-embedded-bounces+sreejith.mm=gmail.com@ozlabs.org] <B>On Behalf 
Of </B>Ganesh Kumar N M<BR><B>Sent:</B> Thursday, October 16, 2008 6:56 
PM<BR><B>To:</B> linuxppc-dev@ozlabs.org; 
linuxppc-embedded@ozlabs.org<BR><B>Cc:</B> Ganesh Kumar NM<BR><B>Subject:</B> 
Loadable module crashes at kernel stack overflow or machine 
check<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV><STRONG><FONT face="Courier New" size=2>Hi All,</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2></FONT></STRONG>&nbsp;</DIV>
<DIV><STRONG><FONT face="Courier New" size=2>&nbsp;&nbsp;&nbsp; I'm working on 
MPC860 with Montavista linux 2.4.18</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2>We have a Linux kernel loadable 
module which on loading</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2>panicks after some random time say 
8 hours, 4 hours or so</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2>the oops outputs say either machine 
check exception or </FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2>kernel stack overflow (randomly 
both show up)&nbsp;a</FONT></STRONG><STRONG><FONT face="Courier New" size=2>re 
as below:</FONT></STRONG></DIV>
<DIV>&nbsp;</DIV>
<DIV><STRONG><FONT face="Courier New" 
size=2>============================</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2>Machine check in kernel 
mood/e.<BR>Caused by lPC:M C000A934 XER:3REGS: c0b73cb0 TRAP: 
0200&nbsp;&nbsp;&nbsp; Tainted: PF<BR>MSR: 00009032 EE: 1 PR: 0 FP: 0 ME: 1 
IR/DR: 11<BR>TASK = c0b72000[3] 'ksoftirqd_CPU0' Last syscall: -1<BR>last math 
00000000 last altivec 00000000<BR>GPR00: 00000000 C0B73D60 C0B72000 00000000 
00000000 0000000B 00000000 00000000<BR>GPR08: E244E000 C01A0000 00000014 
00000002 00000000 100374B8 1FFFA000 007FFF36<BR>GPR16: 00000000 00000001 
007FFF00 FFFFFFFF 00009032 00B73E30 00000000 C00029D4<BR>GPR24: 00000000 
00030001 C0B73E40 00000000 00000000 0000000B 08200000 C0B73E40<BR>Call 
backtrace:<BR>C00CB774 C0009CBC C00029D4 C0B73FA0 C00E0208 C00E8800 
C00D8920<BR>C0014E98 C0015524 C0004D88<BR>Machine check in kernel 
mode.<BR>Caused by (from SRR1=1032): Transfer error ack signal<BR>Oops: machine 
check, sig: 7<BR>NIP: C000A934 XER: 00000000 LR: C0009EFC SP: C0B73990 REGS: 
c0b738e0 TRAP: 0200F<BR>MSR: 00001032 EE: 0 PR: 0 FP: 0 ME: 1 IR/DR: 11<BR>TASK 
= c0b72000[3] 'ksoftirqd_CPU0' Last syscall: -1<BR>last math 00000000 last 
altivec 00000000<BR>GPR00: 00000000 C0B73990 C0B72000 E20286D0 E242D03C 0000000B 
C01F6268 E20286D0<BR>GPR08: E244E000 C01A0000 C01B4F1C 00000002 24004028 
100374B8 1FFFA000 007FFF36<BR>GPR16: 00000000 00000001 007FFF00 FFFFFFFF 
00001032 00B73A60 00000000 C00029D4<BR>GPR24: 00000000 00030001 C0B73A70 
E242D03C 00000000 0000000B 88000000 C0B73A70<BR>Call backtrace:<BR>C0B73A40 
C0009CBC C00029D4 E20286D0 C00CB774 C00039EC C0003AB0<BR>C00029CC C0002B54 
C0002C74 C00029D4 C00CB774 C0009CBC C00029D4<BR>C0B73FA0 C00E0208 C00E8800 
C00D8920 C0014E98 C0015524 
C0004D88<BR>========================================================</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2></FONT></STRONG>&nbsp;</DIV>
<DIV><STRONG><FONT face="Courier New" size=2>Kernel stack overflow in process 
c018e030, r1=c018e370<BR>NIP: C000A934 XER: 00000000 LR: C0009EFC SP: C018E370 
REGS: c018e2c0 TRAP: 0300&nbsp;&nbsp;&nbsp; Tainted: PF<BR>MSR: 00009032 EE: 1 
PR: 0 FP: 0 ME: 1 IR/DR: 11<BR>DAR: E2474034, DSISR: 88000000<BR>TASK = 
c018e030[0] 'swapper' Last syscall: 120<BR>last math 00000000 last altivec 
00000000<BR>GPR00: C0009CBC C018E370 C018E030 C000A934 E2474034 0000000B 
C0B6C400 C000A934<BR>GPR08: E2474000 C01A0000 00000014 00000002 002AE754 
10052EC8 1FFFA000 007FFF1C<BR>GPR16: 00000000 00000001 007FFF00 FFFFFFFF 
00009032 0018E440 00000000 C00029D4<BR>GPR24: 00000000 00030001 C018E450 
E2474034 00000000 0000000B 88000000 C018E450<BR>Call backtrace:<BR>00000000 
C0009CBC C00029D4 0000000B C0009CBC C00029D4 00000000<BR>C0009CBC C00029D4 
00000000 C0009CBC C00029D4 00000000 C0009CBC<BR>C00029D4 00000000 C0009CBC 
C00029D4 00000000 C0009CBC C00029D4<BR>00000000 C0009CBC C00029D4 00000000 
C0009CBC C00029D4 00000000<BR>C0009CBC C00029D4 00000000 C0009CBC 
C00029D4<BR>Kernel panic: kernel stack overflow<BR>In interrupt handler - not 
syncing<BR>&nbsp;&lt;0&gt;Rebooting in 180 seconds..<BR></FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" 
size=2>=======================================================================</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2></FONT></STRONG>&nbsp;</DIV>
<DIV><STRONG><FONT face="Courier New" size=2>Looking at the Ksymoops pointed me 
to some do_page_fault</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2></FONT></STRONG>&nbsp;</DIV>
<DIV><STRONG><FONT face="Courier New" size=2></FONT></STRONG>&nbsp;</DIV>
<DIV><STRONG><FONT face="Courier New" size=2>ksymoops 2.4.6 on i686 
2.4.18-3smp.&nbsp; Options used<BR>&nbsp;&nbsp;&nbsp;&nbsp; -V 
(default)<BR>&nbsp;&nbsp;&nbsp;&nbsp; -k ksyms 
(specified)<BR>&nbsp;&nbsp;&nbsp;&nbsp; -L (default)<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
-O (default)<BR>&nbsp;&nbsp;&nbsp;&nbsp; -m System.map 
(specified)</FONT></STRONG></DIV>
<DIV>&nbsp;</DIV>
<DIV><STRONG><FONT face="Courier New" size=2>Error (expand_objects): cannot 
stat(/lib/modules/2.4.18_mvl30-fads/kernel/net/ipv4/netfilter/ipt_MASQUERADE.o) 
for ipt_MASQUERADE<BR>Error (expand_objects): cannot 
stat(/lib/modules/2.4.18_mvl30-fads/kernel/net/ipv4/netfilter/iptable_filter.o) 
for iptable_filter<BR>Error (expand_objects): cannot 
stat(/lib/modules/2.4.18_mvl30-fads/kernel/net/ipv4/netfilter/ip_nat_ftp.o) for 
ip_nat_ftp<BR>Error (expand_objects): cannot 
stat(/lib/modules/2.4.18_mvl30-fads/kernel/net/ipv4/netfilter/iptable_nat.o) for 
iptable_nat<BR>Error (expand_objects): cannot 
stat(/lib/modules/2.4.18_mvl30-fads/kernel/net/ipv4/netfilter/ip_conntrack_irc.o) 
for ip_conntrack_irc<BR>Error (expand_objects): cannot 
stat(/lib/modules/2.4.18_mvl30-fads/kernel/net/ipv4/netfilter/ip_conntrack_ftp.o) 
for ip_conntrack_ftp<BR>Error (expand_objects): cannot 
stat(/lib/modules/2.4.18_mvl30-fads/kernel/net/ipv4/netfilter/ip_conntrack.o) 
for ip_conntrack<BR>Error (expand_objects): cannot 
stat(/lib/modules/2.4.18_mvl30-fads/kernel/net/ipv4/netfilter/ip_tables.o) for 
ip_tables<BR>Error (expand_objects): cannot stat(/home/ICM/ISDN/sig860el.o) for 
sig860el<BR>Error (expand_objects): cannot stat(/home/ICM/LKM/sysk_procif_ver.o) 
for sysk_procif_ver<BR>Warning (compare_maps): mismatch on symbol xchg_u32&nbsp; 
, ksyms_base says c00095e4, System.map says c0004af0.&nbsp; Ignoring ksyms_base 
entry<BR>Kernel stack overflow in process c0a08000, r1=c0a08460<BR>NIP: C000A934 
XER: 00000000 LR: C0009EFC SP: C0A08460 REGS: c0a083b0 TRAP: 0300F<BR>Using 
defaults from ksymoops -t elf32-little -a unknown<BR>MSR: 00009032 EE: 1 PR: 0 
FP: 0 ME: 1 IR/DR: 11<BR>TASK = c0a08000[1] 'init' Last syscall: 106<BR>last 
math 00000000 last altivec 00000000<BR>GPR00: 00000000 C0A08460 C0A08000 
C000A934 E2433034 0000000B C0B6AA00 C000A934<BR>GPR08: E2433000 C01A0000 
DDDDB81E 00000003 CA010101 1001EE38 00000000 00000000<BR>GPR16: 00000000 
00000000 00000000 00000000 00009032 00A08530 00000000 C00029D4<BR>GPR24: 
00000000 00030001 C0A08540 E2433034 C01AF090 0000000B 88000000 C0A08540<BR>Call 
backtrace:<BR>00000000 C0009CBC C00029D4 DD394530 C0009CBC C00029D4 
00000000<BR>C0009CBC C00029D4 65666175 C0009CBC C00029D4 00000000 
C0009CBC<BR>C00029D4 CEA99000 C0009CBC C00029D4 C0A08E10 C0009CBC 
C00029D4<BR>00000000 C0009CBC C00029D4 00000000 C0009CBC C00029D4 
00A09320<BR>C0009CBC C00029D4 C0007640 C0009CBC C00029D4<BR>Kernel panic: kernel 
stack overflow<BR>Warning (Oops_read): Code line not seen, dumping what data is 
available</FONT></STRONG></DIV>
<DIV>&nbsp;</DIV>
<DIV><STRONG><FONT face="Courier New" size=2><BR>&gt;&gt;???; c000a934 
&lt;search_exception_table+14/94&gt;&nbsp;&nbsp; &lt;=====</FONT></STRONG></DIV>
<DIV>&nbsp;</DIV>
<DIV><STRONG><FONT face="Courier New" size=2>&gt;&gt;GPR1; c0a08460 
&lt;_end+80ff96/21e0ab96&gt;<BR>&gt;&gt;GPR2; c0a08000 
&lt;_end+80fb36/21e0ab96&gt;<BR>&gt;&gt;GPR3; c000a934 
&lt;search_exception_table+14/94&gt;<BR>&gt;&gt;GPR4; e2433034 
&lt;[sig860el].bss.end+6001/602d&gt;<BR>&gt;&gt;GPR6; c0b6aa00 
&lt;_end+972536/21e0ab96&gt;<BR>&gt;&gt;GPR7; c000a934 
&lt;search_exception_table+14/94&gt;<BR>&gt;&gt;GPR8; e2433000 
&lt;[sig860el].bss.end+5fcd/602d&gt;<BR>&gt;&gt;GPR9; c01a0000 
&lt;g_stCfgKSFuncHndl+17d4/1eb0&gt;<BR>&gt;&gt;GPR10; ddddb81e 
&lt;_end+1dbe3354/21e0ab96&gt;<BR>&gt;&gt;GPR12; ca010101 
&lt;_end+9e17c37/21e0ab96&gt;<BR>&gt;&gt;GPR23; c00029d4 
&lt;ret_from_except+0/34&gt;<BR>&gt;&gt;GPR26; c0a08540 
&lt;_end+810076/21e0ab96&gt;<BR>&gt;&gt;GPR27; e2433034 
&lt;[sig860el].bss.end+6001/602d&gt;<BR>&gt;&gt;GPR28; c01af090 
&lt;serial_console_setup+58/2a4&gt;<BR>&gt;&gt;GPR31; c0a08540 
&lt;_end+810076/21e0ab96&gt;</FONT></STRONG></DIV>
<DIV>&nbsp;</DIV>
<DIV><STRONG><FONT face="Courier New" size=2>Trace; 00000000 Before first 
symbol<BR>Trace; c0009cbc &lt;do_page_fault+138/358&gt;<BR>Trace; c00029d4 
&lt;ret_from_except+0/34&gt;<BR>Trace; dd394530 
&lt;_end+1d19c066/21e0ab96&gt;<BR>Trace; c0009cbc 
&lt;do_page_fault+138/358&gt;<BR>Trace; c00029d4 
&lt;ret_from_except+0/34&gt;<BR>Trace; 00000000 Before first symbol<BR>Trace; 
c0009cbc &lt;do_page_fault+138/358&gt;<BR>Trace; c00029d4 
&lt;ret_from_except+0/34&gt;<BR>Trace; 65666175 Before first symbol<BR>Trace; 
c0009cbc &lt;do_page_fault+138/358&gt;<BR>Trace; c00029d4 
&lt;ret_from_except+0/34&gt;<BR>Trace; 00000000 Before first symbol<BR>Trace; 
c0009cbc &lt;do_page_fault+138/358&gt;<BR>Trace; c00029d4 
&lt;ret_from_except+0/34&gt;<BR>Trace; cea99000 
&lt;_end+e8a0b36/21e0ab96&gt;<BR>Trace; c0009cbc 
&lt;do_page_fault+138/358&gt;<BR>Trace; c00029d4 
&lt;ret_from_except+0/34&gt;<BR>Trace; c0a08e10 
&lt;_end+810946/21e0ab96&gt;<BR>Trace; c0009cbc 
&lt;do_page_fault+138/358&gt;<BR>Trace; c00029d4 
&lt;ret_from_except+0/34&gt;<BR>Trace; 00000000 Before first symbol<BR>Trace; 
c0009cbc &lt;do_page_fault+138/358&gt;<BR>Trace; c00029d4 
&lt;ret_from_except+0/34&gt;<BR>Trace; 00000000 Before first symbol<BR>Trace; 
c0009cbc &lt;do_page_fault+138/358&gt;<BR>Trace; c00029d4 
&lt;ret_from_except+0/34&gt;<BR>Trace; 00a09320 Before first symbol<BR>Trace; 
c0009cbc &lt;do_page_fault+138/358&gt;<BR>Trace; c00029d4 
&lt;ret_from_except+0/34&gt;<BR>Trace; c0007640 &lt;__up+38/48&gt;<BR>Trace; 
c0009cbc &lt;do_page_fault+138/358&gt;<BR>Trace; c00029d4 
&lt;ret_from_except+0/34&gt;<BR></DIV></FONT></STRONG>
<DIV><STRONG><FONT face="Courier New" size=2></FONT></STRONG>&nbsp;</DIV>
<DIV><STRONG><FONT face="Courier New" size=2></FONT></STRONG>&nbsp;</DIV>
<DIV><STRONG><FONT face="Courier New" size=2>So just to check I made the same 
loadable module as Part of the</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2>Kernel and booted my system and it 
booted fine and runs fine</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2>for&nbsp;more than 5 days without 
any problem. </FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2>What may be the reason for 
this?</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2></FONT></STRONG>&nbsp;</DIV>
<DIV><STRONG><FONT face="Courier New" size=2>Is there any loading/linking 
difference between the Linux kernel</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2>module(as this is dynamically done) 
and Part of </FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2>Kernel (statically linked with the 
kernel)</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2></FONT></STRONG>&nbsp;</DIV>
<DIV><STRONG><FONT face="Courier New" size=2>As the insmod does a vmalloc to 
allocate the memory for loading the module,</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2>does it have some memory allocation 
problems or something like that?</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2></FONT></STRONG>&nbsp;</DIV>
<DIV><STRONG><FONT face="Courier New" size=2>Any pointers will be really 
helpful,</FONT></STRONG><STRONG><FONT face="Courier New" size=2>Thanks in 
advance,</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2>Pls cc to me as I'm not subscribed 
to this list.</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2></FONT></STRONG>&nbsp;</DIV>
<DIV><STRONG><FONT face="Courier New" size=2></FONT></STRONG>&nbsp;</DIV>
<DIV><STRONG><FONT face="Courier New" 
size=2>--Ganesh</FONT></STRONG></DIV><p>The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments contained in it.</p>
</BODY></HTML>