imx8mq ion memory not release correct when using qtplayer

cancel
Showing results for 
Search instead for 
Did you mean: 

imx8mq ion memory not release correct when using qtplayer

484 Views
jiangyaqiang
Contributor III

HI anyone:

        I have tried to use qmlvidoefx in qtmutimedia  example, it has a problem when a movie quit(stop the movie or end of play).

        My enviroment is yocto-4.14.98 using imx8mq.

       It seems that the ion memory is not released correctly.

       Bellow it the log:

[ 397.633289] 3038 pages are still in use!
[ 397.637252] ------------[ cut here ]------------
[ 397.641886] WARNING: CPU: 0 PID: 3770 at mm/page_alloc.c:7656 free_contig_range+0xb0/0xc8
[ 397.650062] Modules linked in:
[ 397.653123] CPU: 0 PID: 3770 Comm: QSGRenderThread Not tainted 4.14.98-06002-g968f0f1-dirty #26
[ 397.661821] Hardware name: Freescale i.MX8MQ EVK (DT)
[ 397.666875] task: ffff8000b9ef9b00 task.stack: ffff000022e08000
[ 397.672797] PC is at free_contig_range+0xb0/0xc8
[ 397.677415] LR is at free_contig_range+0xb0/0xc8
[ 397.682033] pc : [<ffff000008197e50>] lr : [<ffff000008197e50>] pstate: 40000145
[ 397.689426] sp : ffff000022e0bcc0
[ 397.692740] x29: ffff000022e0bcc0 x28: ffff8000b9ef9b00
[ 397.698054] x27: ffff000008e41000 x26: 0000000000000039
[ 397.703368] x25: 0000000000000124 x24: ffff8000b6012580
[ 397.708685] x23: ffff0000093f7000 x22: 0000000000000bde
[ 397.714000] x21: ffff7e0000000000 x20: 000000000005e4de
[ 397.719313] x19: 000000000005e4de x18: 0000000000000010
[ 397.724628] x17: 0000ffffaaf053c8 x16: ffff0000082122e8
[ 397.729945] x15: ffffffffffffffff x14: ffff00008978c547
[ 397.735260] x13: ffff00000978c555 x12: ffff0000095b8df8
[ 397.740573] x11: ffff00000862f978 x10: ffff000022e0b9e0
[ 397.745887] x9 : 0000000000000006 x8 : 21657375206e6920
[ 397.751200] x7 : 6c6c697473206572 x6 : 0000000000000280
[ 397.756515] x5 : 0000000000000000 x4 : 0000000000000000
[ 397.761829] x3 : 0000000000000000 x2 : ffff8000bdf5eef0
[ 397.767144] x1 : ffff8000b9ef9b00 x0 : 000000000000001c
[ 397.772459] Call trace:
[ 397.774912] Exception stack(0xffff000022e0bb80 to 0xffff000022e0bcc0)
[ 397.781359] bb80: 000000000000001c ffff8000b9ef9b00 ffff8000bdf5eef0 0000000000000000
[ 397.789197] bba0: 0000000000000000 0000000000000000 0000000000000280 6c6c697473206572
[ 397.797031] bbc0: 21657375206e6920 0000000000000006 ffff000022e0b9e0 ffff00000862f978
[ 397.804866] bbe0: ffff0000095b8df8 ffff00000978c555 ffff00008978c547 ffffffffffffffff
[ 397.812699] bc00: ffff0000082122e8 0000ffffaaf053c8 0000000000000010 000000000005e4de
[ 397.820533] bc20: 000000000005e4de ffff7e0000000000 0000000000000bde ffff0000093f7000
[ 397.828367] bc40: ffff8000b6012580 0000000000000124 0000000000000039 ffff000008e41000
[ 397.836202] bc60: ffff8000b9ef9b00 ffff000022e0bcc0 ffff000008197e50 ffff000022e0bcc0
[ 397.844039] bc80: ffff000008197e50 0000000040000145 0000000000000002 0000000000000001
[ 397.851872] bca0: 0000ffffffffffff ffff7e000079375c ffff000022e0bcc0 ffff000008197e50
[ 397.859710] [<ffff000008197e50>] free_contig_range+0xb0/0xc8
[ 397.865375] [<ffff0000082110f8>] cma_release+0x90/0xb8
[ 397.870520] [<ffff000008b713d8>] ion_cma_free+0x28/0x48
[ 397.875753] [<ffff000008b6f204>] ion_buffer_destroy+0x54/0x90
[ 397.881504] [<ffff000008b6f288>] _ion_buffer_destroy+0x48/0x78
[ 397.887342] [<ffff000008b6f2c8>] ion_dma_buf_release+0x10/0x18
[ 397.893182] [<ffff000008719470>] dma_buf_release+0x60/0x190
[ 397.898762] [<ffff000008217af0>] __fput+0x88/0x1d0
[ 397.903561] [<ffff000008217c94>] ____fput+0xc/0x18
[ 397.908360] [<ffff0000080ebe64>] task_work_run+0x9c/0xc0
[ 397.913680] [<ffff00000808990c>] do_notify_resume+0xfc/0x108
[ 397.919341] Exception stack(0xffff000022e0bec0 to 0xffff000022e0c000)
[ 397.925786] bec0: 0000000000000000 0000000000000000 0000ffff930ce2c8 0000ffff930ce8b0
[ 397.933619] bee0: 00000000ffffffbb 0000ffff930ce0b0 0000000000000000 0000ffff740204e0
[ 397.941456] bf00: 0000000000000039 0000ffff740255c0 0101010101010101 0000000000000000
[ 397.949291] bf20: 91fea2af959e7000 0000ffff930cd280 0000ffffab1594d0 0000ffffab136a90
[ 397.957126] bf40: 0000ffff7810f1b0 0000ffffaaf053c8 0000000000000509 0000000000000025
[ 397.964960] bf60: 0000ffff7401c010 0000ffff74021330 0000000000000110 0000000000000000
[ 397.972796] bf80: 0000000032af1438 0000000000000000 0000000000000000 0000000032af1460
[ 397.980633] bfa0: 0000000000000001 0000ffff930cd280 0000ffffaaf05414 0000ffff930cd280
[ 397.988466] bfc0: 0000ffffaaf05424 0000000080000000 0000000000000025 0000000000000039

0 Kudos
4 Replies

387 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello Jiang,

Instead of qmlvideo try to use gstreamer or pass to a newer BSP L4.19.35, because the qmlvideoefx has a bug in our systems, but is suppose to be fixed in latest BSP.

Regards

0 Kudos

387 Views
jiangyaqiang
Contributor III

HI  bio:

     Thanks. 

     But has any patch for the fix ?  or which relative code modify ? kernel or qtmultimedia or others ?

     And in which BSP ? I found that the latest BSP is up to imx-yocto-LF_L5.4.3_1.0.0, but I don't want to upgrade it. 

0 Kudos

225 Views
AGuang
Contributor II

Hi jiangyaqiang 

I have the same problem as you. Have you solved it? Is it an upgrade? Or patch it?

Tags (1)
0 Kudos

387 Views
Sun1z
Contributor III

5.4.3 doesn't fix it yet as I tested couple days before. the issue is that qtmultimedia use community version gstreamer-imx while in yocto it is nxp official version gstreamer-fsl (imx-gst1.0-plugin_4.x.x). it seems qtmultimedia can't release the memory that allocated on CMA, although there is a patch but which is for gstreamer-imx.

0 Kudos