mltframework / mltframework/mlt
Crash using the tremolo audio effect
Open
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 1.9k
- Forks
- 387
- Avg merge
- 17h 28m
- Merged PRs (30d)
- 8
Description
I have added the tremolo effect to a slowed down audio clip with the reverse option enabled. When setting a value I get a crash:
Full log:
tremolo_crash.txt
Thread 85 (Thread 0x7fff4dffb700 (LWP 90420)):
#0 0x00007ffff1c47355 in raise () at /usr/lib/libc.so.6
#1 0x00007ffff1c30853 in abort () at /usr/lib/libc.so.6
#2 0x00007ffff1c8a878 in __libc_message () at /usr/lib/libc.so.6
#3 0x00007ffff1c91d3a in () at /usr/lib/libc.so.6
#4 0x00007ffff1c92f9c in _int_free () at /usr/lib/libc.so.6
#5 0x00007ffff1c958a5 in _int_memalign () at /usr/lib/libc.so.6
#6 0x00007ffff1c9686c in _mid_memalign () at /usr/lib/libc.so.6
#7 0x00007ffff1c97ea6 in posix_memalign () at /usr/lib/libc.so.6
#8 0x00007fffd9c7b126 in av_malloc () at /usr/lib/libavutil.so.56
#9 0x00007fffd9c7b32b in av_mallocz () at /usr/lib/libavutil.so.56
#10 0x00007fffd96fe8d8 in avfilter_graph_config () at /usr/lib/libavfilter.so.7
#11 0x00007fffdb42a469 in init_audio_filtergraph (channels=1308599392, frequency=, format=, filter=0x55555cc78760) at filter_avfilter.c:276
pdata = 0x555567330110
abuffersrc = 0x7fffd99435c0
abuffersink = 0x7fffd99434c0
sample_fmts = {1, -1}
ret =
sample_rates = {48000, -1}
channel_counts = {2, -1}
channel_layouts = {3, -1}
channel_layout_str = "stereo\000\000 !)W\376\177\000\000\300(P\004\377\177\000\000a\000\000\000\000\000\000\000\300\063)W\376\177\000\000\000s\023\367\377\177\000\000H\247\377M\377\177\000\000_\301\021\367\377\177\000"
filter = 0x55555cc78760
pdata = 0x555567330110
fps =
samplepos = 843200
bufsize = 6400
ret =
#12 filter_get_audio (frame=frame@entry=0x7fff045028c0, buffer=buffer@entry=0x7fff4dffa760, format=format@entry=0x555558e7aac0, frequency=frequency@entry=0x7fff4dffa748, channels=channels@entry=0x7fff4dffa750, samples=samples@entry=0x7fff4dffa758) at filter_avfilter.c:588
filter = 0x55555cc78760
pdata = 0x555567330110
fps =
samplepos = 843200
bufsize = 6400
ret =
#13 0x00007ffff711445a in mlt_frame_get_audio (self=self@entry=0x7fff045028c0, buffer=buffer@entry=0x7fff4dffa760, format=format@entry=0x555558e7aac0, frequency=frequency@entry=0x7fff4dffa748, channels=channels@entry=0x7fff4dffa750, samples=samples@entry=0x7fff4dffa758) at mlt_frame.c:738
get_audio = 0x7fffdb429fb0
properties = 0x7fff045028c0
hide =
requested_format =
#14 0x00007ffff712e61b in producer_get_audio (self=self@entry=0x7fff04200ba0, buffer=buffer@entry=0x7fff4dffa760, format=format@entry=0x555558e7aac0, frequency=frequency@entry=0x7fff4dffa748, channels=channels@entry=0x7fff4dffa750, samples=samples@entry=0x7fff4dffa758) at mlt_tractor.c:420
properties = 0x7fff04200ba0
frame = 0x7fff045028c0
frame_properties = 0x7fff045028c0
#15 0x00007ffff711445a in mlt_frame_get_audio (self=self@entry=0x7fff04200ba0, buffer=buffer@entry=0x7fff4dffa760, format=format@entry=0x555558e7aac0, frequency=frequency@entry=0x7fff4dffa748, channels=channels@entry=0x7fff4dffa750, samples=samples@entry=0x7fff4dffa758) at mlt_frame.c:738
get_audio = 0x7ffff712e590
properties = 0x7fff04200ba0
hide =
requested_format =
#16 0x00007fffd65e12a8 in filter_get_audio (frame=frame@entry=0x7fff04200ba0, buffer=buffer@entry=0x7fff4dffa760, format=format@entry=0x555558e7aac0, frequency=frequency@entry=0x7fff4dffa748, channels=channels@entry=0x7fff4dffa750, samples=samples@entry=0x7fff4dffa758) at filter_audiolevel.c:65
filter = 0x55555c4f9100
filter_props = 0x55555c4f9100
iec_scale = 0
error =
num_channels =
num_samples =
num_oversample =
c =
s =
key = "\240\v \004\377\177\000\000\071\000\000\000\000\000\000\000а\206\235\376\177\000\000\000s\023\367\377\177\000\000H\247\377M\377\177\000\000_\301\021\367\377\177\000\000P\261"
pcm =
#17 0x00007ffff711445a in mlt_frame_get_audio (self=self@entry=0x7fff04200ba0, buffer=buffer@entry=0x7fff4dffa760, format=format@entry=0x555558e7aac0, frequency=frequency@entry=0x7fff4dffa748, channels=channels@entry=0x7fff4dffa750, samples=samples@entry=0x7fff4dffa758) at mlt_frame.c:738
get_audio = 0x7fffd65e1230
properties = 0x7fff04200ba0
hide =
requested_format =
#18 0x00007fffd64001b6 in transition_get_audio (frame_a=frame_a@entry=0x7ffe571653e0, buffer=buffer@entry=0x7fff4dffa8a8, format=format@entry=0x555558e7aac0, frequency=frequency@entry=0x7fff4dffa88c, channels=channels@entry=0x7fff4dffa894, samples=samples@entry=0x7fff4dffa89c) at transition_mix.c:141
frame_b =
transition = 0x55555ac904c0
b_props = 0x7fff04200ba0
self = 0x555569d35960
buffer_b = 0x7ffe9d9516f0
buffer_a = 0x7ffe9d9a40f0
frequency_b = 48000
frequency_a = 48000
channels_b = 2
channels_a = 2
samples_b = 1600
samples_a = 1600
silent =
bytes =
#19 0x00007ffff711445a in mlt_frame_get_audio (self=self@entry=0x7ffe571653e0, buffer=buffer@entry=0x7fff4dffa8a8, format=format@entry=0x555558e7aac0, frequency=frequency@entry=0x7fff4dffa88c, channels=channels@entry=0x7fff4dffa894, samples=samples@entry=0x7fff4dffa89c) at mlt_frame.c:738
get_audio = 0x7fffd6400110
properties = 0x7ffe571653e0
hide =
requested_format =
#20 0x00007fffd64001d6 in transition_get_audio (frame_a=frame_a@entry=0x7ffe571653e0, buffer=buffer@entry=0x7fff4dffa9e8, format=format@entry=0x555558e7aac0, frequency=frequency@entry=0x7fff4dffa9cc, channels=channels@entry=0x7fff4dffa9d4, samples=samples@entry=0x7fff4dffa9dc) at transition_mix.c:142
frame_b =
transition = 0x55555ceff0f0
b_props = 0x7ffe9d95b1e0
self = 0x55556a5ff980
buffer_b = 0x7ffe5738fb90
buffer_a = 0x7ffe9d9a40f0
frequency_b = 48000
frequency_a = 48000
channels_b = 2
channels_a = 2
samples_b = 1600
samples_a = 1600
silent =
bytes =
#21 0x00007ffff711445a in mlt_frame_get_audio (self=self@entry=0x7ffe571653e0, buffer=buffer@entry=0x7fff4dffa9e8, format=format@entry=0x555558e7aac0, frequency=frequency@entry=0x7fff4dffa9cc, channels=channels@entry=0x7fff4dffa9d4, samples=samples@entry=0x7fff4dffa9dc) at mlt_frame.c:738
get_audio = 0x7fffd6400110
properties = 0x7ffe571653e0
hide =
requested_format =
#22 0x00007fffd64001d6 in transition_get_audio (frame_a=frame_a@entry=0x7ffe571653e0, buffer=buffer@entry=0x7fff4dfface0, format=format@entry=0x555558e7aac0, frequency=frequency@entry=0x555558e7abe4, channels=channels@entry=0x555558e7abe0, samples=samples@entry=0x7fff4dffacdc) at transition_mix.c:142
frame_b =
transition = 0x55555cd4c100
b_props = 0x7fff0401f920
self = 0x55556aec99a0
buffer_b = 0x7fff0418a4c0
buffer_a = 0x7ffe9d9a40f0
frequency_b = 48000
frequency_a = 48000
channels_b = 2
channels_a = 2
samples_b = 1600
samples_a = 1600
silent =
bytes =
#23 0x00007ffff711445a in mlt_frame_get_audio (self=self@entry=0x7ffe571653e0, buffer=buffer@entry=0x7fff4dfface0, format=format@entry=0x555558e7aac0, frequency=frequency@entry=0x555558e7abe4, channels=channels@entry=0x555558e7abe0, samples=samples@entry=0x7fff4dffacdc) at mlt_frame.c:738
get_audio = 0x7fffd6400110
properties = 0x7ffe571653e0
hide =
requested_format =
#24 0x00007ffff712e61b in producer_get_audio (self=self@entry=0x7fff072d9820, buffer=buffer@entry=0x7fff4dfface0, format=format@entry=0x555558e7aac0, frequency=frequency@entry=0x555558e7abe4, channels=channels@entry=0x555558e7abe0, samples=samples@entry=0x7fff4dffacdc) at mlt_tractor.c:420
properties = 0x7fff072d9820
frame = 0x7ffe571653e0
frame_properties = 0x7ffe571653e0
#25 0x00007ffff711445a in mlt_frame_get_audio (self=self@entry=0x7fff072d9820, buffer=buffer@entry=0x7fff4dfface0, format=format@entry=0x555558e7aac0, frequency=frequency@entry=0x555558e7abe4, channels=channels@entry=0x555558e7abe0, samples=samples@entry=0x7fff4dffacdc) at mlt_frame.c:738
get_audio = 0x7ffff712e590
properties = 0x7fff072d9820
hide =
requested_format =
#26 0x00007fffd65e12a8 in filter_get_audio (frame=frame@entry=0x7fff072d9820, buffer=buffer@entry=0x7fff4dfface0, format=format@entry=0x555558e7aac0, frequency=frequency@entry=0x555558e7abe4, channels=channels@entry=0x555558e7abe0, samples=samples@entry=0x7fff4dffacdc) at filter_audiolevel.c:65
filter = 0x55555cdec040
filter_props = 0x55555cdec040
iec_scale = 0
error =
num_channels =
num_samples =
num_oversample =
c =
s =
key = " \230-\a\377\177\000\000[\000\000\000\000\000\000\000\300\201\r\216\376\177\000\000\000s\023\367\377\177\000\000\344\253\347XUU\000\000_\301\021\367\377\177\000\000\020W"
pcm =
#27 0x00007ffff711445a in mlt_frame_get_audio (self=self@entry=0x7fff072d9820, buffer=buffer@entry=0x7fff4dfface0, format=format@entry=0x555558e7aac0, frequency=frequency@entry=0x555558e7abe4, channels=channels@entry=0x555558e7abe0, samples=samples@entry=0x7fff4dffacdc) at mlt_frame.c:738
get_audio = 0x7fffd65e1230
properties = 0x7fff072d9820
hide =
requested_format =
#28 0x00007ffff712b471 in consumer_read_ahead_thread (arg=) at mlt_consumer.c:886
buffer = 31
time_current =
self =
priv = 0x555558e7aab0
properties =
width = 480
height = 270
video_off =
preview_off =
preview_format =
samples = 1600
audio = 0x7ffe9d8714a0
audio_off =
frame = 0x7fff072d9820
image = 0x7fff788516f0 "}~{kw~vkv~vku~wj{~\177i\202~\210i\215\177\221h\226\177\230g\231\177\232g\234\200\236f\237\200\240f\240\200\240f\240\177\237f\236\177\235f\234\177\233g\232\177\231h\231\177\231h\231\177\232h\235\177\237h\240\177\244h\245\177\245h\246~\247i\250}\250i\250}\250i\251~\251j\251~\251j\252~\252j\252~\252j\251}\251i\247}\245i\242}\235j\233~\232j\231~\230j\230~\231j\233}\233i\233}\231i\224~\206jz~oj^}UkR~OkE~>l=~=l>~?mA\177CnF\177InJ\177KnL\177NnP\177RnU\177Xn`~en"...
ante = {tv_sec = 1594761323, tv_usec = 711074}
count =
skipped =
time_process =
skip_next =
pos =
start_pos =
last_pos =
frame_duration =
drop_max =
#29 0x0000555555a02bd1 in RenderThread::run() (this=0x7fff10000b80) at /home/farid/kdenlive/src/monitor/glwidget.cpp:1450
#30 0x00007ffff21eee0f in () at /usr/lib/libQt5Core.so.5
#31 0x00007ffff16c5422 in start_thread () at /usr/lib/libpthread.so.0
#32 0x00007ffff1d0abf3 in clone () at /usr/lib/libc.so.6
Contributor guide
No contributing guide indexed for this repository
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
Reproduce the crash with a slowed audio clip, reverse enabled, and the tremolo effect while changing a value. Start at init_audio_filtergraph in filter_avfilter.c:276 and follow the audio path through filter_get_audio at filter_avfilter.c:588. Done means this scenario no longer crashes and the reported failure is covered by a regression check.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- audio-video-rtc
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100