mltframework / mltframework/shotcut
Pressing and holding Enter-key in playlist on a single mp4 test video seems to generate memory leak
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 15.2k
- Forks
- 1.5k
- Avg merge
- 11h 27m
- Merged PRs (30d)
- 5
Description
I've tested holding the Enter key (for at least 30-60 seconds) on a single file in the playlist. It seems like its leaking some memory (RES is now on 3,1g). Maybe this can lead to problems when navigating the playlist during editing.
Shotcut-version : 18.11.18.02 (disabled GPU effects)
Fedora: 29
top -p $(pgrep shotcut)
`Threads: 33 total, 0 running, 33 sleeping, 0 stopped, 0 zombie
%Cpu(s): 4,4 us, 1,9 sy, 0,0 ni, 91,9 id, 1,3 wa, 0,4 hi, 0,2 si, 0,0 st
GiB Mem : 5,7 total, 0,5 free, 4,2 used, 1,1 buff/cache
GiB Swap: 5,6 total, 2,7 free, 2,9 used. 0,6 avail Mem
USER PR NI VIRT RES SHR S %CPU %MEM TIME+ P PPID nTH PID COMMAND
henning 5 -15 6565,7m 3,1g 43,5m S 0,8 53,6 0:06.52 2 5908 33 28652 SDLAudioP2
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 5:12.28 1 5908 33 28545 shotcut
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:00.00 3 5908 33 28546 shotcut
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:01.48 2 5908 33 28547 QXcbEventReader
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:00.00 0 5908 33 28552 gmain
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:00.00 0 5908 33 28554 gdbus
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:00.00 2 5908 33 28555 dconf worker
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:00.05 1 5908 33 28556 QDBusConnection
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:00.00 2 5908 33 28558 shotcut:disk$0
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:00.09 3 5908 33 28559 Qt bearer threa
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:00.04 3 5908 33 28560 Database
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:00.08 3 5908 33 28561 QQmlThread
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:00.00 3 5908 33 28562 shotcut
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:00.00 3 5908 33 28565 QNetworkAccessM
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:02.30 1 5908 33 28640 FrameRenderer
henning 39 19 6565,7m 3,1g 43,5m S 0,0 53,6 0:00.00 0 5908 33 28641 PulseHotplug
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:00.89 0 5908 33 28642 shotcut
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 1:03.04 2 5908 33 28643 Mlt::RenderThre
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:10.64 2 5908 33 28644 Mlt::RenderThre
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:10.51 0 5908 33 28645 Mlt::RenderThre
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:10.84 1 5908 33 28646 Mlt::RenderThre
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:10.44 1 5908 33 28647 Mlt::RenderThre
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:00.22 0 5908 33 28654 shotcut
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:00.04 0 5908 33 25939 shotcut
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:00.06 2 5908 33 25940 shotcut
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:00.02 0 5908 33 25941 shotcut
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:00.02 0 5908 33 25942 shotcut
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:00.02 0 5908 33 25943 shotcut
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:00.04 2 5908 33 25944 Mlt::RenderThre
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:00.05 3 5908 33 25945 Mlt::RenderThre
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:00.04 3 5908 33 25946 Mlt::RenderThre
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:00.01 3 5908 33 25947 Mlt::RenderThre
henning 20 0 6565,7m 3,1g 43,5m S 0,0 53,6 0:00.02 3 5908 33 25948 Mlt::RenderThre `
`
henning@satellite Shotcut]$ tail ~/.local/share/Meltytech/Shotcut/shotcut-log.txt
[Debug ] <MLT> [producer avformat-novalidate] "/home/henning/Nedlastinger/test.mp4" checking VFR: pkt.duration 512
[Debug ] <MLT> [producer avformat-novalidate] "/home/henning/Nedlastinger/test.mp4" checking VFR: pkt.duration 512
[Debug ] <MLT> [producer avformat-novalidate] "/home/henning/Nedlastinger/test.mp4" checking VFR: pkt.duration 512
[Debug ] <MLT> [producer avformat-novalidate] "/home/henning/Nedlastinger/test.mp4" checking VFR: pkt.duration 512
[Debug ] <MLT> [producer avformat-novalidate] "/home/henning/Nedlastinger/test.mp4" checking VFR: pkt.duration 512
[Debug ] <MLT> [producer avformat-novalidate] "/home/henning/Nedlastinger/test.mp4" checking VFR: pkt.duration 512
[Debug ] <MLT> [producer avformat-novalidate] "/home/henning/Nedlastinger/test.mp4" checking VFR: pkt.duration 512
[Debug ] <MLT> [producer avformat-novalidate] "/home/henning/Nedlastinger/test.mp4" checking VFR: pkt.duration 512
[Debug ] <MLT> [producer avformat-novalidate] "/home/henning/Nedlastinger/test.mp4" checking VFR: pkt.duration 512
[Debug ] <MLT> [producer avformat-novalidate] "/home/henning/Nedlastinger/test.mp4" checking VFR: pkt.duration 512
`
[henning@satellite ~]$ lsof -p $(pgrep shotcut) | tail
shotcut 28545 henning 112r REG 253,2 1471917 1967667 /home/henning/Nedlastinger/test.mp4
shotcut 28545 henning 113r REG 253,2 1471917 1967667 /home/henning/Nedlastinger/test.mp4
shotcut 28545 henning 114r REG 253,2 1471917 1967667 /home/henning/Nedlastinger/test.mp4
shotcut 28545 henning 115r REG 253,2 1471917 1967667 /home/henning/Nedlastinger/test.mp4
shotcut 28545 henning 116r REG 253,2 1471917 1967667 /home/henning/Nedlastinger/test.mp4
shotcut 28545 henning 117r REG 253,2 1471917 1967667 /home/henning/Nedlastinger/test.mp4
shotcut 28545 henning 118r REG 253,2 1471917 1967667 /home/henning/Nedlastinger/test.mp4
shotcut 28545 henning 119r REG 253,2 1471917 1967667 /home/henning/Nedlastinger/test.mp4
shotcut 28545 henning 263r REG 253,2 1471917 1967667 /home/henning/Nedlastinger/test.mp4
shotcut 28545 henning 264r REG 253,2 1471917 1967667 /home/henning/Nedlastinger/test.mp4
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the issue in Shotcut's playlist with a single MP4 while holding Enter, then monitor RES, open file descriptors, and shotcut-log.txt. The report points to repeated MLT avformat messages and many handles for the same file; done means identifying and stopping the accumulation so memory and handles remain stable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- desktop, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100