<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 "init.rc" 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 'code' 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"><<a href="mailto:dhylands@gmail.com">dhylands@gmail.com</a>></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><<a href="mailto:coolsandyforyou@gmail.com">coolsandyforyou@gmail.com</a>> wrote:<br>> Hi Dave,<br>><br>> The problem is solved.<br>> But i have one doubt.<br>
><br>>>So the PC is 0, and the LR is C92F. That tells me that the code at<br>>>C92F in your init process is trying to call a function through a NULL<br>>>pointer. You can try disassembling your init process. Something like<br>
><br>>>arm-eabi-objdump --disassemble init<br>><br>> In this case we came to know the process name 'init'. But in some<br>> cases we might just have the link register address, and no process name.<br>
> say some user-space process has caused the panic.<br>><br>> Can u tell me ..how to debug in that case?<br><br></div>You should always have a pid & 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>