jliljebl / flowblade

Video Editor for Linux
GNU General Public License v3.0
2.64k stars 181 forks source link

Segmentation fault error at start with MLT 7.20 #1129

Closed wreckdump closed 10 months ago

wreckdump commented 11 months ago

Please include the following information. 1) Flowblade version (Help->About): 2.10.0.4 2) MLT version (Help->Runtime Environment): 7.20.0 3) Your distribution (Ubuntu, Debian, Mint etc.): Arch Linux 6.5.8-arch1-1 4) If possible, try to provide step-by-step instructions on how to reproduce the issue. From developer point of view this is the easieast way to understand what is happening.: Segmentation fault error at start. The installation was done straight from the Arch Linux repo. I don't even know where to start for the troubleshoot.

FLOWBLADE MOVIE EDITOR 2.10.0.4
-------------------------------
Launch script dir: /usr/bin
Running from installation...
modules path: /usr/lib/python3.11/site-packages/Flowblade
MLT found, version: 7.20.0
numpy version: 1.26.1
Application version: 2.10.0
OS: Arch Linux
Python 3.11.5 (main, Sep  2 2023, 14:16:33) [GCC 13.2.1 20230801]
GTK+ version: 3.24.38
XDG Config /home/rangke/.config/flowblade
XDG Data /home/rangke/.local/share/flowblade
XDG Cache /home/rangke/.cache/flowblade
Locale: en_US
Translations at /usr/share/locale were not found, using program root directory translations.
Use OS locale language.
Valid shortcut files found: ['flowblade.xml', 'premiere.xml']
Keyboard shortcuts file: flowblade.xml
Gtk version is 3.24.38, Flowblade theme is available.
Using Full Screen size for layout: 9600 x 5400
Small height: False
Small width: False
mlt_repository_init: failed to dlopen /usr/lib/mlt-7/libmltmovit.so
  (libmovit.so.8: cannot open shared object file: No such file or directory)
mlt_repository_init: failed to dlopen /usr/lib/mlt-7/libmltglaxnimate.so
  (libQt5Network.so.5: cannot open shared object file: No such file or directory)
mlt_repository_init: failed to dlopen /usr/lib/mlt-7/libmltsox.so
  (libsox.so.3: cannot open shared object file: No such file or directory)
mlt_repository_init: failed to dlopen /usr/lib/mlt-7/libmltqt.so
  (libQt5Xml.so.5: cannot open shared object file: No such file or directory)
mlt_repository_init: failed to dlopen /usr/lib/mlt-7/libmltrtaudio.so
  (librtaudio.so.6: cannot open shared object file: No such file or directory)
Detecting environment...
---
video_codecs:
  - a64multi
  - a64multi5
  - alias_pix
  - amv
  - apng
  - asv1
  - asv2
  - avrp
  - avui
  - ayuv
  - bitpacked
  - bmp
  - cfhd
  - cinepak
  - cljr
  - dnxhd
  - dpx
  - dvvideo
  - exr
  - ffv1
  - ffvhuff
  - fits
  - flashsv
  - flashsv2
  - flv
  - gif
  - h261
  - h263
  - h263p
  - huffyuv
  - jpeg2000
  - jpegls
  - ljpeg
  - magicyuv
  - mjpeg
  - mpeg1video
  - mpeg2video
  - mpeg4
  - msmpeg4v2
  - msmpeg4
  - msvideo1
  - pam
  - pbm
  - pcx
  - pfm
  - pgm
  - pgmyuv
  - phm
  - png
  - ppm
  - prores
  - prores_aw
  - prores_ks
  - qoi
  - qtrle
  - r10k
  - r210
  - rawvideo
  - roqvideo
  - rpza
  - rv10
  - rv20
  - sgi
  - smc
  - snow
  - speedhq
  - sunrast
  - svq1
  - targa
  - tiff
  - utvideo
  - v210
  - v308
  - v408
  - v410
  - vbn
  - vc2
  - wbmp
  - wrapped_avframe
  - wmv1
  - wmv2
  - xbm
  - xface
  - xwd
  - y41p
  - yuv4
  - zlib
  - zmbv
  - hdr
  - libaom-av1
  - libjxl
  - libopenjpeg
  - librav1e
  - libsvtav1
  - libtheora
  - libvpx
  - libvpx-vp9
  - libwebp_anim
  - libwebp
  - libx264
  - libx264rgb
  - libx265
  - libxvid
  - h263_v4l2m2m
  - av1_nvenc
  - av1_qsv
  - av1_amf
  - h264_amf
  - h264_nvenc
  - h264_qsv
  - h264_v4l2m2m
  - h264_vaapi
  - hevc_amf
  - hevc_nvenc
  - hevc_qsv
  - hevc_v4l2m2m
  - hevc_vaapi
  - mjpeg_qsv
  - mjpeg_vaapi
  - mpeg2_qsv
  - mpeg2_vaapi
  - mpeg4_v4l2m2m
  - vp8_v4l2m2m
  - vp8_vaapi
  - vp9_vaapi
  - vp9_qsv
  - vnull
...
---
audio_codecs:
  - comfortnoise
  - s302m
  - aac
  - ac3
  - ac3_fixed
  - alac
  - aptx
  - aptx_hd
  - dca
  - dfpwm
  - eac3
  - flac
  - g723_1
  - mlp
  - mp2
  - mp2fixed
  - nellymoser
  - opus
  - real_144
  - sbc
  - sonic
  - sonicls
  - truehd
  - tta
  - vorbis
  - wavpack
  - wmav1
  - wmav2
  - pcm_alaw
  - pcm_bluray
  - pcm_dvd
  - pcm_f32be
  - pcm_f32le
  - pcm_f64be
  - pcm_f64le
  - pcm_mulaw
  - pcm_s8
  - pcm_s8_planar
  - pcm_s16be
  - pcm_s16be_planar
  - pcm_s16le
  - pcm_s16le_planar
  - pcm_s24be
  - pcm_s24daud
  - pcm_s24le
  - pcm_s24le_planar
  - pcm_s32be
  - pcm_s32le
  - pcm_s32le_planar
  - pcm_s64be
  - pcm_s64le
  - pcm_u8
  - pcm_u16be
  - pcm_u16le
  - pcm_u24be
  - pcm_u24le
  - pcm_u32be
  - pcm_u32le
  - pcm_vidc
  - roq_dpcm
  - adpcm_adx
  - adpcm_argo
  - g722
  - g726
  - g726le
  - adpcm_ima_amv
  - adpcm_ima_alp
  - adpcm_ima_apm
  - adpcm_ima_qt
  - adpcm_ima_ssi
  - adpcm_ima_wav
  - adpcm_ima_ws
  - adpcm_ms
  - adpcm_swf
  - adpcm_yamaha
  - libgsm
  - libgsm_ms
  - libmp3lame
  - libopencore_amrnb
  - libopus
  - libspeex
  - libvorbis
  - anull
...
---
formats:
  - a64
  - ac3
  - adts
  - adx
  - aiff
  - alp
  - amr
  - amv
  - apm
  - apng
  - aptx
  - aptx_hd
  - argo_asf
  - argo_cvg
  - asf
  - ass
  - ast
  - asf_stream
  - au
  - avi
  - avif
  - avm2
  - avs2
  - avs3
  - bit
  - caf
  - cavsvideo
  - codec2
  - codec2raw
  - crc
  - dash
  - data
  - daud
  - dfpwm
  - dirac
  - dnxhd
  - dts
  - dv
  - eac3
  - f4v
  - ffmetadata
  - fifo
  - fifo_test
  - filmstrip
  - fits
  - flac
  - flv
  - framecrc
  - framehash
  - framemd5
  - g722
  - g723_1
  - g726
  - g726le
  - gif
  - gsm
  - gxf
  - h261
  - h263
  - h264
  - hash
  - hds
  - hevc
  - hls
  - ico
  - ilbc
  - image2
  - image2pipe
  - ipod
  - ircam
  - ismv
  - ivf
  - jacosub
  - kvag
  - latm
  - lrc
  - m4v
  - md5
  - matroska
  - matroska
  - microdvd
  - mjpeg
  - mlp
  - mmf
  - mov
  - mp2
  - mp3
  - mp4
  - mpeg
  - vcd
  - mpeg1video
  - dvd
  - svcd
  - mpeg2video
  - vob
  - mpegts
  - mpjpeg
  - mxf
  - mxf_d10
  - mxf_opatom
  - null
  - nut
  - obu
  - oga
  - ogg
  - ogv
  - oma
  - opus
  - alaw
  - mulaw
  - vidc
  - f64be
  - f64le
  - f32be
  - f32le
  - s32be
  - s32le
  - s24be
  - s24le
  - s16be
  - s16le
  - s8
  - u32be
  - u32le
  - u24be
  - u24le
  - u16be
  - u16le
  - u8
  - psp
  - rawvideo
  - rm
  - roq
  - rso
  - rtp
  - rtp_mpegts
  - rtsp
  - sap
  - sbc
  - scc
  - film_cpk
  - segment
  - stream_segment,ssegment
  - smjpeg
  - smoothstreaming
  - sox
  - spx
  - spdif
  - srt
  - streamhash
  - sup
  - swf
  - tee
  - 3g2
  - 3gp
  - mkvtimestamp_v2
  - truehd
  - tta
  - ttml
  - uncodedframecrc
  - vc1
  - vc1test
  - voc
  - w64
  - wav
  - webm
  - webm_dash_manifest
  - webm_chunk
  - webp
  - webvtt
  - wsaud
  - wtv
  - wv
  - yuv4mpegpipe
  - alsa
  - fbdev
  - opengl
  - oss
  - pulse
  - sdl,sdl2
  - video4linux2,v4l2
  - xv
...
MLT detection succeeded, 182 formats, 127 video codecs and 83 audio codecs found.
588 MLT services found.
Loading render profiles...
ffmpeg version n6.0 Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 13.2.1 (GCC) 20230801
configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libjxl --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librav1e --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpl --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-opencl --enable-opengl --enable-shared --enable-version3 --enable-vulkan
libavutil      58.  2.100 / 58.  2.100
libavcodec     60.  3.100 / 60.  3.100
libavformat    60.  3.100 / 60.  3.100
libavdevice    60.  1.100 / 60.  1.100
libavfilter     9.  3.100 /  9.  3.100
libswscale      7.  1.100 /  7.  1.100
libswresample   4. 10.100 /  4. 10.100
libpostproc    57.  1.100 / 57.  1.100
['ffmpeg', '-version']
return code: 0
ffmpeg available
Loading filters...
MLT service frei0r.alphagrad not found.
MLT service frei0r.alphaspot not found.
MLT service frei0r.alpha0ps not found.
MLT service frei0r.hqdn3d not found.
Loading transitions...
RGB Adjustment dropped for Color Adjustment
Hue dropped for Color Adjustment
Gamma dropped for Lift Gain Gamma
Adding full track compositors
restacking compositors!
Adding full track compositors DONE
G'MIC found
Player initialized with profile:  HD 1080p 30 fps
Selected color NOT detected
BG color detected
[mlt_producer 0x5602ff64c680] <playlist>
    Playlist can not create blank producer without profile
[mlt_producer 0x5602ff64c680] <playlist>
    Playlist can not create blank producer without profile
Segmentation fault (core dumped)
jliljebl commented 11 months ago

MLT had this item in 7.20 release notes:

v7.20.0 released

  • Added a blank producer to the core module.

Maybe this is related to that.

MLT found, version: 7.20.0 [mlt_producer 0x5602ff64c680] Playlist can not create blank producer without profile [mlt_producer 0x5602ff64c680] Playlist can not create blank producer without profile Segmentation fault (core dumped)

I'll test with MLT 7.20 later to see what is going on, they unfortunately keep changing the API.

wreckdump commented 11 months ago

Thank you.

AlexBocken commented 10 months ago

Can confirm this has to do with MLT 7.20. Downgrading to 7.18.0 has resolved the issue for me. Same setup as @wreckdump otherwise.

wreckdump commented 10 months ago

Yeah. I used MLT 7.18.0 and it worked.

jliljebl commented 10 months ago

I'll need try to resolve this for 2.12. If we cannot fix this on Flowblade side it could happen that 2.12 won't support MLT 7.20 and will be a "Flatpak only" release.

jliljebl commented 10 months ago

Got the MLT 7.20 bindings built on my system and have this reproduced now.

jliljebl commented 10 months ago

This is now fixed in repo and will be working in 2.12, but I'll still need to do quite a lot of testing for this and other stuff before getting the release out.

ExecutorElassus commented 10 months ago

I'm still getting a segfault at startup, with the following error:

Player initialized with profile:  HD 1080p 30 fps
Create SDL1 consumer...
Fatal Python error: Segmentation fault

Thread 0x00007f6a11dec6c0 (most recent call first):
  File "/usr/lib/python3.12/subprocess.py", line 2040 in _wait
  File "/usr/lib/python3.12/subprocess.py", line 1264 in wait
  File "/usr/lib/python3.12/subprocess.py", line 2134 in _communicate
  File "/usr/lib/python3.12/subprocess.py", line 1209 in communicate
  File "/usr/lib/python3.12/site-packages/Flowblade/rendergputest.py", line 140 in _test_encoder_option
  File "/usr/lib/python3.12/site-packages/Flowblade/rendergputest.py", line 103 in run
  File "/usr/lib/python3.12/threading.py", line 1052 in _bootstrap_inner
  File "/usr/lib/python3.12/threading.py", line 1009 in _bootstrap

Current thread 0x00007f6a2e631740 (most recent call first):
  File "/usr/lib/python3.12/site-packages/mlt7.py", line 1088 in connect
  File "/usr/lib/python3.12/site-packages/Flowblade/mltplayer.py", line 169 in connect_and_start
  File "/usr/lib/python3.12/site-packages/Flowblade/app.py", line 550 in launch_player
  File "/usr/lib/python3.12/site-packages/Flowblade/app.py", line 343 in on_activate
  File "/usr/lib/python3.12/site-packages/gi/overrides/Gio.py", line 42 in run
  File "/usr/lib/python3.12/site-packages/Flowblade/app.py", line 202 in main
  File "/usr/bin/flowblade", line 93 in <module>

This only happens with mlt-7.20, not mlt-7.18

jliljebl commented 10 months ago

I'm still getting a segfault at startup, with the following error:

This is now fixed in repo and will be working in 2.12,

2.12 is not out yet, comeing next week (likely).

ExecutorElassus commented 9 months ago

2.12 is not out yet, comeing next week (likely).

I'm using the "live" version built from github. Is that the "fixed" 2.12 version yet?

I tried running it using mlt-7.22 and got the same segfault. Also, does it matter which python version I'm using? I'm using python-3.11, because 3.12 was having some other issue I can't recall.

Thanks for your help.

jliljebl commented 9 months ago

This one should be fixed with Flowblade 2.12, we are fixing all projects on load for this. Is the Flowblade Flatpak 2.12 broken for this issue?