I run "gplay -r 1.7.mov maiken1.mpg 00004.mov weiduolila.mp4" to play some videos by circle. It plays well at first, but after about 10 hours, gplay falls into TASK_INTERRUPTIBLE stat and never wake up again. gplay indicate he is playing but actually he is stop.gplay shows some information as follow:
v4l2 alloc addr 0xc1000000
v4l2 alloc addr 0xc1400000
v4l2 alloc addr 0xc1800000
v4l2 alloc addr 0xc1c00000
v4l2 alloc addr 0xc2000000
v4l2 alloc addr 0xc2400000
v4l2 alloc addr 0xc2800000
v4l2 alloc addr 0xc2c00000
v4l2 alloc addr 0xc3000000
v4l2 alloc addr 0xc3400000
v4l2 alloc addr 0xc3800000
v4l2 alloc addr 0xc3c00000
full screen size:1920x1080
[V4L Update Display]: left=0, top=0, width=1920, height=1080
fsl_player_play()
get GST_MESSAGE_ELEMENT playbin2-stream-changed, uri=(string)file:///harddisk/weiduolila.mp4;
[Playing (List Repeated)][Vol=01][00:41:03/00:42:17][fps:29]
[Playing (List Repeated)][Vol=01][00:41:03/00:42:17][fps:29]
[Playing (List Repeated)][Vol=01][00:41:03/00:42:17][fps:29]
[Playing (List Repeated)][Vol=01][00:41:03/00:42:17][fps:29]
When I use "TOP" commamd,It shows:
Mem: 1814576K used, 22488K free, 0K shrd, 2588K buff, 1714348K cached
CPU: 0.0% usr 0.1% sys 0.0% nic 99.8% idle 0.0% io 0.0% irq 0.0% sirq
Load average: 4.00 4.01 4.05 1/78 3800
PID PPID USER STAT VSZ %VSZ CPU %CPU COMMAND
3393 3380 root S 156m 8.7 2 0.1 ./gplay -r 1.7.mov maiken1.mpg 0000
3799 3380 root R 2204 0.1 2 0.0 top
1574 2 root SW 0 0.0 1 0.0 [kinteractiveup]
1427 2 root SW 0 0.0 2 0.0 [kworker/2:1]
3380 1 root S 2368 0.1 0 0.0 -/bin/sh
3390 1 root S 2276 0.1 2 0.0 inetd
3381 1 root S 2256 0.1 0 0.0 {rc_mxc.S} /bin/bash /etc/rc.d/rc_
1 0 root S 2200 0.1 1 0.0 init
3362 1 root S 2188 0.1 0 0.0 /usr/sbin/dropbear
3386 3381 root S 2068 0.1 2 0.0 sleep 100000
1586 1 root S < 1756 0.1 1 0.0 udevd --daemon
1488 2 root SW 0 0.0 0 0.0 [mmcqd/0]
3 2 root SW 0 0.0 0 0.0 [ksoftirqd/0]
9 2 root SW 0 0.0 1 0.0 [ksoftirqd/1]
12 2 root SW 0 0.0 2 0.0 [ksoftirqd/2]
15 2 root SW 0 0.0 3 0.0 [ksoftirqd/3]
5 2 root SW 0 0.0 2 0.0 [kworker/u:0]
3756 2 root SW 0 0.0 0 0.0 [kworker/0:1]
644 2 root SW 0 0.0 2 0.0 [kswapd0]
It happens to me several times, If I ony run "gplay -r 00004.mov", gplay can run more than one day.It seems playing one video is well.
But the way,my kernel is 3.0.35. And I have patched some patches to my kernel:
1. patch_v4l2_issue.zip( GStreamer crashing on i.MX6 (Boundary Devices Nitrogen6x)),and I add [system("echo 3 > /proc/sys/vm/drop_caches")] to gplay before playing a new video.
2. 0009-ARM-imx-return-zero-in-case-next-event-gets-a-large-.patch \ 0026-ENGR00306257-1027-fix-system-hang-up-issue-caused-by.patch.txt
Can anyone give me some advise?
Thanks
Xiaoming
This is the known issue with the L3.0.35 Linux BSP and it is caused by the memory fragmentation issue when allocating buffers for SDMA and IPU. There is still no good solution for it, so the better way is to migrate to the latest BSP version. The current version is L3.14.52.
Have a great day,
Artur
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------