mltframework / mltframework/mlt

Segmentation fault during render from Kdenlive

Open
#1,200 6 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

confirmed crash workaround
Dominant language
C
Stars
1.9k
Forks
387
Avg merge
17h 28m
Merged PRs (30d)
8

Description

Describe the bug
Segmentation fault during rendering.

gdb session
or maybe this is the actual backtrace, I’m not too familiar with debugging these

Current Position:          0
Thread 46 "melt" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff92fdc6c0 (LWP 10072)]
qt_memfillXX_avx2 (dest=0x7ffe3292df30 "", value256=..., bytes=8294400)
    at /usr/src/debug/qt6-base/qtbase/src/gui/painting/qdrawhelper_avx2.cpp:294
294             _mm256_storeu_si256(dst256 + 2, value256);
(gdb) bt
#0  qt_memfillXX_avx2 (dest=0x7ffe3292df30 "", value256=..., bytes=8294400)
    at /usr/src/debug/qt6-base/qtbase/src/gui/painting/qdrawhelper_avx2.cpp:294
#1  0x00007fffdbb37d15 in filter_get_image(mlt_frame_s*, unsigned char**, mlt_image_format*, int*, int*, int) () from /usr/local/lib/mlt-7/libmltqt6.so
#2  0x00007ffff7f88d21 in mlt_frame_get_image (self=0x7fff728ae5a0, buffer=0x7fff92fd9d18, 
    format=0x555555b9924c, width=0x7fff92fd9ce4, height=0x7fff92fd9ce8, writable=0)
    at /home/jp/mlt/src/framework/mlt_frame.c:515
#3  0x00007ffff7fa8bc3 in producer_get_image (self=0x7fff72558c60, buffer=0x7fff92fd9d18, 
    format=0x555555b9924c, width=0x7fff92fd9ce4, height=0x7fff92fd9ce8, writable=0)
    at /home/jp/mlt/src/framework/mlt_tractor.c:376
#4  0x00007ffff7f88d21 in mlt_frame_get_image (self=0x7fff72558c60, buffer=0x7fff92fd9d18, 
    format=0x555555b9924c, width=0x7fff92fd9ce4, height=0x7fff92fd9ce8, writable=0)
    at /home/jp/mlt/src/framework/mlt_frame.c:515
#5  0x00007ffff7faa16d in get_image_b (b_frame=0x7fff72558c60, image=0x7fff92fd9d18, 
    format=0x555555b9924c, width=0x7fff92fd9ce4, height=0x7fff92fd9ce8, writable=0)
    at /home/jp/mlt/src/framework/mlt_transition.c:379
#6  0x00007ffff7f88d21 in mlt_frame_get_image (self=0x7fff72558c60, buffer=0x7fff92fd9d18, 
    format=0x555555b9924c, width=0x7fff92fd9ce4, height=0x7fff92fd9ce8, writable=0)
    at /home/jp/mlt/src/framework/mlt_frame.c:515
#7  0x00007fffdbb679c4 in get_image(mlt_frame_s*, unsigned char**, mlt_image_format*, int*, int*, int) () from /usr/local/lib/mlt-7/libmltqt6.so
#8  0x00007ffff7f88d21 in mlt_frame_get_image (self=0x7fff72965a60, buffer=0x7fff92fda0e0, 
    format=0x555555b9924c, width=0x7fff92fdad54, height=0x7fff92fdad58, writable=0)
    at /home/jp/mlt/src/framework/mlt_frame.c:515
#9  0x00007ffff7faa007 in get_image_a (a_frame=0x7fff72965a60, image=0x7fff92fda0e0, 
    format=0x555555b9924c, width=0x7fff92fdad54, height=0x7fff92fdad58, writable=0)
    at /home/jp/mlt/src/framework/mlt_transition.c:348
#10 0x00007ffff7f88d21 in mlt_frame_get_image (self=0x7fff72965a60, buffer=0x7fff92fda0e0, 
    format=0x555555b9924c, width=0x7fff92fdad54, height=0x7fff92fdad58, writable=0)
    at /home/jp/mlt/src/framework/mlt_frame.c:515
#11 0x00007fffdbb67f03 in get_image(mlt_frame_s*, unsigned char**, mlt_image_format*, int*, int*, int) () from /usr/local/lib/mlt-7/libmltqt6.so
#12 0x00007ffff7f88d21 in mlt_frame_get_image (self=0x7fff72965a60, buffer=0x7fff92fdab88, 
    format=0x555555b9924c, width=0x7fff92fdad54, height=0x7fff92fdad58, writable=0)
    at /home/jp/mlt/src/framework/mlt_frame.c:515
#13 0x00007ffff7fa8bc3 in producer_get_image (self=0x7fff7295e220, buffer=0x7fff92fdab88, 
    format=0x555555b9924c, width=0x7fff92fdad54, height=0x7fff92fdad58, writable=0)
    at /home/jp/mlt/src/framework/mlt_tractor.c:376
#14 0x00007ffff7f88d21 in mlt_frame_get_image (self=0x7fff7295e220, buffer=0x7fff92fdab88, 
    format=0x555555b9924c, width=0x7fff92fdad54, height=0x7fff92fdad58, writable=0)
    at /home/jp/mlt/src/framework/mlt_frame.c:515
#15 0x00007fffdc1de6f3 in filter_get_image () from /usr/local/lib/mlt-7/libmltplus.so
#16 0x00007ffff7f88d21 in mlt_frame_get_image (self=0x7fff7295e220, buffer=0x7fff92fdab88, 
    format=0x555555b9924c, width=0x7fff92fdad54, height=0x7fff92fdad58, writable=0)
    at /home/jp/mlt/src/framework/mlt_frame.c:515
#17 0x00007ffff7fa8bc3 in producer_get_image (self=0x7fff730c33a0, buffer=0x7fff92fdab88, 
    format=0x555555b9924c, width=0x7fff92fdad54, height=0x7fff92fdad58, writable=0)
    at /home/jp/mlt/src/framework/mlt_tractor.c:376
#18 0x00007ffff7f88d21 in mlt_frame_get_image (self=0x7fff730c33a0, buffer=0x7fff92fdab88, 
    format=0x555555b9924c, width=0x7fff92fdad54, height=0x7fff92fdad58, writable=0)
    at /home/jp/mlt/src/framework/mlt_frame.c:515
#19 0x00007ffff7faa16d in get_image_b (b_frame=0x7fff730c33a0, image=0x7fff92fdab88, 
    format=0x555555b9924c, width=0x7fff92fdad54, height=0x7fff92fdad58, writable=0)
    at /home/jp/mlt/src/framework/mlt_transition.c:379
#20 0x00007ffff7f88d21 in mlt_frame_get_image (self=0x7fff730c33a0, buffer=0x7fff92fdab88, 
    format=0x555555b9924c, width=0x7fff92fdad54, height=0x7fff92fdad58, writable=0)
    at /home/jp/mlt/src/framework/mlt_frame.c:515
#21 0x00007ffff7f51c0f in transition_get_image () from /usr/local/lib/mlt-7/libmltfrei0r.so
#22 0x00007ffff7f88d21 in mlt_frame_get_image (self=0x7fff4c053660, buffer=0x7fff92fdad88, 
    format=0x555555b9924c, width=0x7fff92fdad54, height=0x7fff92fdad58, writable=0)
    at /home/jp/mlt/src/framework/mlt_frame.c:515
#23 0x00007ffff7faa16d in get_image_b (b_frame=0x7fff4c053660, image=0x7fff92fdad88, 
    format=0x555555b9924c, width=0x7fff92fdad54, height=0x7fff92fdad58, writable=0)
    at /home/jp/mlt/src/framework/mlt_transition.c:379
#24 0x00007ffff7f88d21 in mlt_frame_get_image (self=0x7fff4c053660, buffer=0x7fff92fdad88, 
--Type <RET> for more, q to quit, c to continue without paging--c
    format=0x555555b9924c, width=0x7fff92fdad54, height=0x7fff92fdad58, writable=0)
    at /home/jp/mlt/src/framework/mlt_frame.c:515
#25 0x00007fffdbb679c4 in get_image(mlt_frame_s*, unsigned char**, mlt_image_format*, int*, int*, int) () from /usr/local/lib/mlt-7/libmltqt6.so
#26 0x00007ffff7f88d21 in mlt_frame_get_image (self=0x7fff4ee675e0, buffer=0x7fff92fdb318, 
    format=0x555555b9924c, width=0x7fff92fdb2e4, height=0x7fff92fdb2e8, writable=0)
    at /home/jp/mlt/src/framework/mlt_frame.c:515
#27 0x00007ffff7fa8bc3 in producer_get_image (self=0x7fff72631cb0, buffer=0x7fff92fdb318, 
    format=0x555555b9924c, width=0x7fff92fdb2e4, height=0x7fff92fdb2e8, writable=0)
    at /home/jp/mlt/src/framework/mlt_tractor.c:376
#28 0x00007ffff7f88d21 in mlt_frame_get_image (self=0x7fff72631cb0, buffer=0x7fff92fdb318, 
    format=0x555555b9924c, width=0x7fff92fdb2e4, height=0x7fff92fdb2e8, writable=0)
    at /home/jp/mlt/src/framework/mlt_frame.c:515
#29 0x00007ffff7fa8bc3 in producer_get_image (self=0x7fff73da7e20, buffer=0x7fff92fdb318, 
    format=0x555555b9924c, width=0x7fff92fdb2e4, height=0x7fff92fdb2e8, writable=0)
    at /home/jp/mlt/src/framework/mlt_tractor.c:376
#30 0x00007ffff7f88d21 in mlt_frame_get_image (self=0x7fff73da7e20, buffer=0x7fff92fdb318, 
    format=0x555555b9924c, width=0x7fff92fdb2e4, height=0x7fff92fdb2e8, writable=0)
    at /home/jp/mlt/src/framework/mlt_frame.c:515
#31 0x00007ffff7faa16d in get_image_b (b_frame=0x7fff73da7e20, image=0x7fff92fdb318, 
    format=0x555555b9924c, width=0x7fff92fdb2e4, height=0x7fff92fdb2e8, writable=0)
    at /home/jp/mlt/src/framework/mlt_transition.c:379
#32 0x00007ffff7f88d21 in mlt_frame_get_image (self=0x7fff73da7e20, buffer=0x7fff92fdb318, 
    format=0x555555b9924c, width=0x7fff92fdb2e4, height=0x7fff92fdb2e8, writable=0)
    at /home/jp/mlt/src/framework/mlt_frame.c:515
#33 0x00007fffdbb679c4 in get_image(mlt_frame_s*, unsigned char**, mlt_image_format*, int*, int*, int) () from /usr/local/lib/mlt-7/libmltqt6.so
#34 0x00007ffff7f88d21 in mlt_frame_get_image (self=0x7fff8c005300, buffer=0x7fff92fdb8a8, 
    format=0x555555b9924c, width=0x7fff92fdb874, height=0x7fff92fdb878, writable=0)
    at /home/jp/mlt/src/framework/mlt_frame.c:515
#35 0x00007ffff7fa8bc3 in producer_get_image (self=0x7fff8c004590, buffer=0x7fff92fdb8a8, 
    format=0x555555b9924c, width=0x7fff92fdb874, height=0x7fff92fdb878, writable=0)
    at /home/jp/mlt/src/framework/mlt_tractor.c:376
#36 0x00007ffff7f88d21 in mlt_frame_get_image (self=0x7fff8c004590, buffer=0x7fff92fdb8a8, 
    format=0x555555b9924c, width=0x7fff92fdb874, height=0x7fff92fdb878, writable=0)
    at /home/jp/mlt/src/framework/mlt_frame.c:515
#37 0x00007ffff7fa8bc3 in producer_get_image (self=0x7fff8c003790, buffer=0x7fff92fdb8a8, 
    format=0x555555b9924c, width=0x7fff92fdb874, height=0x7fff92fdb878, writable=0)
    at /home/jp/mlt/src/framework/mlt_tractor.c:376
#38 0x00007ffff7f88d21 in mlt_frame_get_image (self=0x7fff8c003790, buffer=0x7fff92fdb8a8, 
    format=0x555555b9924c, width=0x7fff92fdb874, height=0x7fff92fdb878, writable=0)
    at /home/jp/mlt/src/framework/mlt_frame.c:515
#39 0x00007ffff7faa16d in get_image_b (b_frame=0x7fff8c003790, image=0x7fff92fdb8a8, 
    format=0x555555b9924c, width=0x7fff92fdb874, height=0x7fff92fdb878, writable=0)
    at /home/jp/mlt/src/framework/mlt_transition.c:379
#40 0x00007ffff7f88d21 in mlt_frame_get_image (self=0x7fff8c003790, buffer=0x7fff92fdb8a8, 
    format=0x555555b9924c, width=0x7fff92fdb874, height=0x7fff92fdb878, writable=0)
    at /home/jp/mlt/src/framework/mlt_frame.c:515
#41 0x00007fffdbb679c4 in get_image(mlt_frame_s*, unsigned char**, mlt_image_format*, int*, int*, int) () from /usr/local/lib/mlt-7/libmltqt6.so
#42 0x00007ffff7f88d21 in mlt_frame_get_image (self=0x7fff4ede4b20, buffer=0x7fff92fdbe18, 
    format=0x555555b9924c, width=0x7fff92fdbdb0, height=0x7fff92fdbdb4, writable=0)
    at /home/jp/mlt/src/framework/mlt_frame.c:515
#43 0x00007ffff7fa8bc3 in producer_get_image (self=0x7fff8c0028a0, buffer=0x7fff92fdbe18, 
    format=0x555555b9924c, width=0x7fff92fdbdb0, height=0x7fff92fdbdb4, writable=0)
    at /home/jp/mlt/src/framework/mlt_tractor.c:376
#44 0x00007ffff7f88d21 in mlt_frame_get_image (self=0x7fff8c0028a0, buffer=0x7fff92fdbe18, 
    format=0x555555b9924c, width=0x7fff92fdbdb0, height=0x7fff92fdbdb4, writable=0)
    at /home/jp/mlt/src/framework/mlt_frame.c:515
#45 0x00007ffff7fa8bc3 in producer_get_image (self=0x7fff8c001aa0, buffer=0x7fff92fdbe18, 
    format=0x555555b9924c, width=0x7fff92fdbdb0, height=0x7fff92fdbdb4, writable=0)
    at /home/jp/mlt/src/framework/mlt_tractor.c:376
#46 0x00007ffff7f88d21 in mlt_frame_get_image (self=0x7fff8c001aa0, buffer=0x7fff92fdbe18, 
    format=0x555555b9924c, width=0x7fff92fdbdb0, height=0x7fff92fdbdb4, writable=0)
    at /home/jp/mlt/src/framework/mlt_frame.c:515
#47 0x00007ffff7fa8bc3 in producer_get_image (self=0x7fff8c000c10, buffer=0x7fff92fdbe18, 
    format=0x555555b9924c, width=0x7fff92fdbdb0, height=0x7fff92fdbdb4, writable=0)
    at /home/jp/mlt/src/framework/mlt_tractor.c:376
#48 0x00007ffff7f88d21 in mlt_frame_get_image (self=0x7fff8c000c10, buffer=0x7fff92fdbe18, 
    format=0x555555b9924c, width=0x7fff92fdbdb0, height=0x7fff92fdbdb4, writable=0)
    at /home/jp/mlt/src/framework/mlt_frame.c:515
#49 0x00007ffff7f824fc in consumer_read_ahead_thread (arg=0x555555ce4850)
    at /home/jp/mlt/src/framework/mlt_consumer.c:844
#50 0x00007ffff7c9698b in ?? () from /usr/lib/libc.so.6
#51 0x00007ffff7d1a9cc in ?? () from /usr/lib/libc.so.6

To Reproduce
Seems to happen only with enough tracks and nested sequences, irrespective of the encoding settings; I can’t pinpoint the exact cause. Tell me if sending the Kdenlive project (or .mlt file and sources or something) would be useful.

Expected behavior
...

Desktop (please complete the following information):

  • OS: 6.18.4-1-MANJARO
  • MLT/melt version: occurred with both v7.36.1 and aadad0a7037ebc7a6eca32c6fd30de6a03c336e3

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the supplied gdb backtrace, especially mlt_frame.c:515 and mlt_consumer.c:844, then trace the calls into libmltqt6.so during rendering. Reproduce with the Kdenlive project or its .mlt file and sources, if available. Done means identifying and fixing the cause so rendering completes without a segmentation fault.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
audio-video-rtc
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.