[19329.649078] Unable to handle kernel paging request at virtual address c4ec5eec
[19329.656332] pgd = c3380000
[19329.659042] [c4ec5eec] *pgd=00000000
[19329.662640] Internal error: Oops: 80000005 [#1] SMP ARM
[19329.667861] Modules linked in: g_ffs usb_f_fs libcomposite
[19329.673368] CPU: 0 PID: 6104 Comm: kworker/0:1 Not tainted 4.13.16-licheepi-zero+ #53
[19329.681187] Hardware name: Allwinner sun8i Family
[19329.685893] task: c3a29140 task.stack: c3bde000
[19329.690427] PC is at 0xc4ec5eec
[19329.693591] LR is at notifier_call_chain+0x48/0x84
[19329.698380] pc : [<c4ec5eec>] lr : [<c0138a6c>] psr: 60000193
[19329.704639] sp : c3bdfef0 ip : 00000000 fp : c3bdff3c
[19329.709858] r10: c0a03de4 r9 : c0701d04 r8 : c31e4e00
[19329.715077] r7 : c31e4e00 r6 : c39eee00 r5 : c3a29140 r4 : c3deca40
[19329.721598] r3 : c01027a4 r2 : 00000000 r1 : 00000002 r0 : c39eee00
[19329.728123] Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment none
[19329.735337] Control: 10c5387d Table: 4338006a DAC: 00000051
[19329.741076] Process kworker/0:1 (pid: 6104, stack limit = 0xc3bde210)
[19329.747511] Stack: (0xc3bdfef0 to 0xc3be0000)
[19329.751872] fee0: 60000013 00000008 c3804500 00000064
[19329.760044] ff00: 00000000 00000008 c064631c 0349f000 c3b7fe50 00000004 c3b7fe50 ffffe000
[19329.768215] ff20: c3dec640 c3dec640 c0a02d00 c3dec658 ffffe000 00000008 c3bdff4c c064631c
[19329.776387] ff40: c3173280 c3dec640 c3dec640 c01327b8 a0000013 c0a38e54 c07e0780 00000000
[19329.784558] ff60: ffffe000 c337c400 c337c700 00000000 c3bde000 c3173280 c01326b8 c391fed8
[19329.792729] ff80: c337c41c c01374b4 c3bde000 c337c700 c0137368 00000000 00000000 00000000
[19329.800899] ffa0: 00000000 00000000 00000000 c0107538 00000000 00000000 00000000 00000000
[19329.809069] ffc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[19329.817239] ffe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[19329.825443] [<c0138a6c>] (notifier_call_chain) from [<00000008>] (0x8)
[19329.831968] Code: bad PC value
[19329.835031] ---[ end trace 87f5bdfbf0efad40 ]---
离线
内存泄漏?
离线
Mem: 25208K used, 29392K free, 44K shrd, 0K buff, 9512K cached
CPU: 6% usr 0% sys 0% nic 93% idle 0% io 0% irq 0% sirq
Load average: 0.03 0.06 0.02 1/39 485
PID PPID USER STAT VSZ %VSZ %CPU COMMAND
203 179 root S 27788 51% 6% /usr/bin/system_char -platfo
51 2 root SW 0 0% 0% [kworker/0:2]
254 179 root R 1600 3% 0% top
107 1 root S 9268 17% 0% /usr/bin/adbd
179 1 root S 1612 3% 0% -/bin/sh
1 0 root S 1600 3% 0% {linuxrc} init
201 1 root S 1596 3% 0% /sbin/udhcpc -i eth1
173 1 root S 1596 3% 0% /sbin/udhcpc -i eth1
70 1 root S 1592 3% 0% /sbin/syslogd -n
74 1 root S 1588 3% 0% /sbin/klogd -n
57 2 root SWN 0 0% 0% [jffs2_gcd_mtd5]
312 2 root SW 0 0% 0% [kworker/0:1]
47 2 root SW 0 0% 0% [spi32766]
8 2 root SW 0 0% 0% [rcu_sched]
7 2 root SW 0 0% 0% [ksoftirqd/0]
48 2 root SW 0 0% 0% [kworker/u2:1]
5 2 root SW 0 0% 0% [kworker/u2:0]
12 2 root SW 0 0% 0% [kdevtmpfs]
11 2 root SW 0 0% 0% [cpuhp/0]
@checkout 我也有点感觉内存泄漏, 这个VSZ不断增长.
最近编辑记录 孤星泪 (2020-05-06 14:44:43)
离线
内存耗尽了吗?
离线
内存耗尽了吗?
感觉是耗尽了然后挂了,
我用这个命令开启看门狗 echo 1 > /dev/watchdog
但是我的flash是32M的, 而且是8pin的, 系统会复位, 但是flash里面的寄存器还是指向后面16M,
可能这个原因 V3s 复位的时候没有重启, 就死在那里了.
离线
我为什么做出这个判断呢? 因为死机之后, V3s 怎么按reset按键, 怎么拉低V3s reset 引脚都不管用了, 因为 8pin 的 flash没有复位引脚.
应用程序死机问题暂时由我同事去解决,
我先看看如何让看门狗稳定重启.
离线
现在问题来了, 看门狗复位会下拉 RESET 引脚吗?
因为我想接 16PIN 的SPI FLASH, 那种芯片有 RESET 引脚, 刚好和 V3S的引脚接一起, 让V3S去复位FLASH.
离线
悲剧, RESET引脚接上逻辑分析仪, 事实证明, RESET引脚并有没有任何下拉信号输出.
这下不知道把这个锅甩给谁了.
离线
请教了大佬, 叫我用 valgrind 工具测试内存泄露, 试了一下, 不知道如何看结果.
另外一个大佬说, 逐步屏蔽代码, 然后我看最有嫌疑的就是 libcurl 部分, 然后就屏蔽了,
现在VSZ已经不增长了:
Mem: 23808K used, 30792K free, 52K shrd, 16K buff, 8208K cached
CPU: 2% usr 0% sys 0% nic 97% idle 0% io 0% irq 0% sirq
Load average: 0.10 0.07 0.02 1/43 224
PID PPID USER STAT VSZ %VSZ %CPU COMMAND
213 189 root S 25420 47% 2% /usr/bin/system_char -platfo
20 2 root SW 0 0% 0% [kworker/0:1]
220 189 root R 1600 3% 0% top
121 1 root S 9272 17% 0% /usr/bin/adbd
189 1 root S 1612 3% 0% -/bin/sh
1 0 root S 1600 3% 0% {linuxrc} init
211 1 root S 1596 3% 0% /sbin/udhcpc -i eth1
184 1 root S 1596 3% 0% /sbin/udhcpc -i eth1
73 1 root S 1592 3% 0% /sbin/syslogd -n
77 1 root S 1588 3% 0% /sbin/klogd -n
51 2 root SW 0 0% 0% [kworker/0:2]
60 2 root SWN 0 0% 0% [jffs2_gcd_mtd5]
47 2 root SW 0 0% 0% [spi32766]
8 2 root SW 0 0% 0% [rcu_sched]
7 2 root SW 0 0% 0% [ksoftirqd/0]
164 2 root SW 0 0% 0% [kworker/u2:2]
48 2 root SW 0 0% 0% [kworker/u2:1]
12 2 root SW 0 0% 0% [kdevtmpfs]
3 2 root SW 0 0% 0% [kworker/0:0]
离线
libcurl一般用来干什么的
离线
内存泄露与野指针,简直是噩梦。。哪个system_char如果是你自己写的话,只能出去玩一下,然后回来静下心。
仔仔细细的将写过的代码重新看一遍,每一个环节都不要错过。
相对来说内存泄露还好差一些,重点看创建的对像有没有释放,比野指针好查。。
这也是为什么应用层流行JAVA、C#、JS这类带GC,无指针语言的原因。
祝你好运吧。。。
离线
这个还真不好查,只能不断在程序里打印日志,监测所有的怀疑的问题,一点点缩小范围,还有就是程序一点点屏蔽试试
离线
这个只能一步一步屏蔽掉代码,看到哪里不增长了。就是费时间。肯定能找出来。
离线
libcurl一般用来干什么的
在程序中post http/https 数据,
我是照抄libcurl最新例程,而且每次调用都释放了全部资源,没想到还是这样,最后我通过 system 函数调用 curl 命令发送数据,跑了一晚,目前还没有死机,感谢大家热心回复。
离线
我的系统经常起不来,有时起来几分钟就没了
离线
使用gdb server 或许会对你有用。
离线
请问楼主有不有ZERO的全套TF卡烧写文件,我现在还不会编译,想先学习一下烧录。多谢了
离线
只能不断在程序里打印日志调试,定位。慢慢来吧
离线
libcurl这么坑?有空我试一试ubuntu版本的。
离线