<div>Hi Dave,</div>
<div> </div>
<div>I want to share what is the problem and how it got fixed.</div>
<div> </div>
<div>The problem goes like this,</div>
<div>The init process(init.c) of ANDROID parses &quot;init.rc&quot; file which specifies the actions to be done on a specific trigger.</div>
<div>In our case mistakenly we specified the trigger,but no action.</div>
<div> </div>
<div>Due to which the parser parsed the action to be NULL, and executed it when the trigger occured.</div>
<div>Which caused the NULL dereferencing. </div>
<div> </div>
<div>We fixed that by doing a NULL check before calling the action.</div>
<div> </div>
<div>As our analysis for the problem goes,</div>
<div>init being the critical process, when killed, platform called a system call to restart the kernel.</div>
<div>is it correct or we missd something?</div>
<div> </div>
<div>I have the following questions also,</div>
<div> </div>
<div>1) When we enabled that config option CONFIG_DEBUG_USER, the register dump we got, is of user space application, right?</div>
<div> </div>
<div>2) init: unhandled page fault (11) at 0x00000000, code 0x80000007, this is given by the CONFIG_DEBUG_USER, any reference how to analyse the &#39;code&#39; value?</div>
<div> </div>
<div>Thank you,</div>
<div>Sandeep</div>
<div> </div>
<div> </div>
<div> </div>
<div><br><br> </div>
<div class="gmail_quote">On Mon, Sep 5, 2011 at 1:26 PM, Dave Hylands <span dir="ltr">&lt;<a href="mailto:dhylands@gmail.com">dhylands@gmail.com</a>&gt;</span> wrote:<br>
<blockquote style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" class="gmail_quote">Hi Sandeep,<br>
<div class="im"><br>On Sun, Sep 4, 2011 at 10:51 PM, sandeep kumar<br>&lt;<a href="mailto:coolsandyforyou@gmail.com">coolsandyforyou@gmail.com</a>&gt; wrote:<br>&gt; Hi Dave,<br>&gt;<br>&gt; The problem is solved.<br>&gt; But i have one doubt.<br>
&gt;<br>&gt;&gt;So the PC is 0, and the LR is C92F. That tells me that the code at<br>&gt;&gt;C92F in your init process is trying to call a function through a NULL<br>&gt;&gt;pointer. You can try disassembling your init process. Something like<br>
&gt;<br>&gt;&gt;arm-eabi-objdump --disassemble init<br>&gt;<br>&gt; In this case we came to know the process name &#39;init&#39;. But in some<br>&gt; cases we might just have the link register address, and no process name.<br>
&gt; say some user-space process has caused the panic.<br>&gt;<br>&gt; Can u tell me ..how to debug in that case?<br><br></div>You should always have a pid &amp; process name if its a user-space app<br>which dies (at least if you enable CONFIG_DEBUG_USER and enabling<br>
user_debug)<br><font color="#888888"><br>--<br></font>
<div>
<div></div>
<div class="h5">Dave Hylands<br>Shuswap, BC, Canada<br><a href="http://www.davehylands.com/" target="_blank">http://www.davehylands.com</a><br></div></div></blockquote></div><br><br clear="all"><br>-- <br>With regards,<br>
Sandeep Kumar Anantapalli,<br><br>