<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jul 25, 2017 at 7:29 PM, Yubin Ruan <span dir="ltr">&lt;<a href="mailto:ablacktshirt@gmail.com" target="_blank">ablacktshirt@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail-HOEnZb"><div class="gmail-h5">2017-07-25 17:59 GMT+08:00 Rock Lee &lt;<a href="mailto:rockdotlee@gmail.com">rockdotlee@gmail.com</a>&gt;:<br>
&gt; Hi,<br>
&gt;<br>
&gt; I was using a program to test OOM killer, but OOM killer hung my board.  The<br>
&gt; test snippet is very simple, just malloc() without free().<br>
&gt;<br>
&gt;   6         int i=0;<br>
&gt;   7         char *ptrtest=NULL;<br>
&gt;   8          while (1)<br>
&gt;   9          {<br>
&gt;  10                    ptrtest = malloc(0x1000);<br>
&gt;  11                    if (ptrtest == NULL)<br>
&gt;  12                        printf(&quot;malloc failed.\n&quot;);<br>
&gt;  13          }<br>
&gt;  14          return 0;<br>
&gt;  15<br>
&gt;<br>
&gt; After I executed this program(a.out), there is no reaction of my shell. Only<br>
&gt; this messege was shown:<br>
&gt;<br>
&gt; [  180.138188] Out of memory: Kill process 2706 (qq) score 623 or sacrifice<br>
&gt; child<br>
&gt; [  180.164230] Killed process 2706 (qq) total-vm:98156kB, anon-rss:96400kB,<br>
&gt; file-rss:4kB<br>
&gt;<br>
&gt; I think it must be some problem with OOM killer, and tried a lot of way to<br>
&gt; get some infomation. And I got this:<br>
&gt;<br>
&gt; ==============================<wbr>=========================<br>
&gt; Process: a.out, cpu: 0 pid: 1463 start: 0xd5849b00<br>
&gt; ==============================<wbr>=======================<br>
&gt;     Task name: a.out pid: 1463 cpu: 0<br>
&gt;     state: 0x2 exit_state: 0x0 stack base: 0xd6190000<br>
&gt;     Stack:<br>
&gt;     [&lt;c08394e4&gt;] __schedule+0x2c8<br>
&gt;     [&lt;c018df88&gt;] squashfs_cache_get+0x108<br>
&gt;     [&lt;c0191020&gt;] squashfs_readpage_block+0x28<br>
&gt;     [&lt;c018f648&gt;] squashfs_readpage+0x624<br>
&gt;     [&lt;c0090d4c&gt;] __do_page_cache_readahead+<wbr>0x228<br>
&gt;     [&lt;c00882f4&gt;] filemap_fault+0x1d4<br>
&gt;     [&lt;c00a5f10&gt;] __do_fault+0x34<br>
&gt;     [&lt;c00a8ab0&gt;] do_read_fault+0x19c<br>
&gt;     [&lt;c00a9388&gt;] handle_mm_fault+0x468<br>
&gt;     [&lt;c00164b0&gt;] do_page_fault+0x11c<br>
&gt;     [&lt;c00084a4&gt;] do_PrefetchAbort+0x34<br>
&gt;     [&lt;c0011c1c&gt;] ret_from_exception+0x0<br>
&gt;<br>
&gt; I am suprised, because a.out is in /tmp, there is no relation between a.out<br>
&gt; and squashfs(my rootfs). Could anyone give me a hint ? Is the problem of<br>
&gt; squashfs or OOM killer.<br>
<br>
</div></div>You say your rootfs is squashfs filesystem. Is /tmp using the same<br>
device and same filesystem (i.e., squashfs) ?</blockquote><div><br></div><div><span style="font-size:12.8px">Not exactly, /tmp uses tmpfs, but my rootfs uses squashfs. </span> </div></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Cheers,<br>Rock</div>
</div></div>