jliljebl / flowblade

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

Can't open APP: Segmentation fault (core dumped) #826

Closed dukelec closed 4 years ago

dukelec commented 4 years ago

Please include the following information. 1) Flowblade version (Help->About): 2) MLT version (Help->Runtime Environment): 3) Your distribution (Ubuntu, Debian, Mint etc.): 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.:

Log:

duke@duke-pc /mnt/TT/software/flowblade $ uname -a
Linux duke-pc 5.0.9-gentoo #7 SMP Sat Feb 22 18:03:01 HKT 2020 x86_64 Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz GenuineIntel GNU/Linux
duke@duke-pc /mnt/TT/software/flowblade $ git log -1 | cat -
commit 953b0b07125b29b1f3e274a334c26d0f14e8185e
Author: Janne Liljeblad <janne.liljeblad@gmail.com>
Date:   Tue Mar 24 15:26:23 2020 +0200

    Make possible to change render path in bathch render window
duke@duke-pc /mnt/TT/software/flowblade $ git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean
duke@duke-pc /mnt/TT/software/flowblade $ sudo dmesg -c > /dev/null
duke@duke-pc /mnt/TT/software/flowblade $ ./flowblade-trunk/flowblade 
FLOWBLADE MOVIE EDITOR 2.4
--------------------------
Launch script dir: /mnt/TT/software/flowblade/flowblade-trunk
Running from filesystem...
MLT found, version: 6.20.0
numpy version: 1.17.4
Application version: 2.4.0
OS: Gentoo/Linux
Python 3.7.4 (default, Aug 18 2019, 13:17:25) 
[GCC 9.2.0]
GTK+ version: 3.24.10
XDG user data exists.
Locale: en_HK
Found translations at /mnt/TT/software/flowblade/flowblade-trunk/Flowblade/locale/, using those.
Use OS locale language.
Valid shortcut files found: ['flowblade.xml', 'premiere.xml']
Keyboard shortcuts file: flowblade.xml
Loading shortcuts: Flowblade
Gtk version is 3.24.10, Flowblade theme is available.
Using Full Screen size for layout: 1920 x 1080
Small height: False
Small width: False
Detecting environment...
MLT detection succeeded, 0 formats, 0 video codecs and 0 audio codecs found.
166 MLT services found.
Loading render profiles...
format wav
format wav
format dv
format dv
format dv
format dv
format dv
format dv
format dv
format dv
format dv
format dv
format dv
format dv
Loading filters...
MLT service lumakey not found.
MLT service ladspa.1406 not found.
MLT service dynamic_loudness not found.
MLT service ladspa.1433 not found.
MLT service ladspa.1408 not found.
MLT service ladspa.1431 not found.
MLT service ladspa.1901 not found.
MLT service ladspa.1438 not found.
MLT service ladspa.1195 not found.
MLT service ladspa.1402 not found.
MLT service ladspa.1185 not found.
MLT service ladspa.1213 not found.
MLT service ladspa.1904 not found.
MLT service ladspa.1903 not found.
MLT service ladspa.1215 not found.
MLT service ladspa.1216 not found.
MLT service ladspa.1410 not found.
MLT service ladspa.1892 not found.
MLT service ladspa.1194 not found.
MLT service ladspa.1197 not found.
MLT service ladspa.1423 not found.
MLT service ladspa.1910 not found.
MLT service ladspa.1417 not found.
MLT service ladspa.1210 not found.
MLT service ladspa.1198 not found.
MLT service ladspa.1905 not found.
MLT service ladspa.1201 not found.
MLT service charcoal not found.
MLT service boxblur not found.
MLT service invert not found.
MLT service lift_gamma_gain not found.
Brightness dropped, MLT version too high for this filter.
Brightness Keyframed dropped, MLT version too high for this filter.
MLT service rgblut not found.
MLT service rgblut not found.
MLT service avfilter.colorchannelmixer not found.
MLT service avfilter.lut3d not found.
MLT service sepia not found.
MLT service avfilter.perspective not found.
MLT service freeze not found.
MLT service affine not found.
MLT service affine not found.
MLT service affine not found.
Loading transitions...
MLT transition affine not found.
RGB Adjustment dropped for Color Adjustment
Hue dropped for Color Adjustment
Gamma dropped for Lift Gain Gamma
G'MIC NOT found
Player initialized with profile:  HD 1080p 30 fps
No rendering options found
Selected color NOT detected
BG color detected
Create SDL1 consumer...
Segmentation fault (core dumped)
duke@duke-pc /mnt/TT/software/flowblade $ dmesg
[202213.896873] python3[104748]: segfault at 38 ip 00007fd6f01592cb sp 00007ffffadf4990 error 4 in libmlt.so.6.20.0[7fd6f013f000+36000]
[202213.896881] Code: 0f 1f 44 00 00 66 2e 0f 1f 84 00 00 00 00 00 41 57 b8 00 00 00 00 41 56 41 55 49 89 fd 41 54 55 89 d5 53 48 89 f3 48 83 ec 08 <4c> 8b 67 38 83 fa ff 0f 44 e8 41 8b 44 24 04 49 8b 7c 24 08 85 c0
duke@duke-pc /mnt/TT/software/flowblade $ emerge -pv media-libs/mlt

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] media-libs/mlt-6.20.0::gentoo  USE="frei0r gtk jack libav opengl python qt5 sdl xml -compressed-lumas -debug -ffmpeg -fftw -kdenlive -libsamplerate -lua -melt -opencv -rtaudio -ruby (-vdpau) -vidstab -xine" CPU_FLAGS_X86="mmx sse sse2" PYTHON_SINGLE_TARGET="python3_7 -python3_6 -python3_8" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB
jliljebl commented 4 years ago

The good news is that SDL2 has added the API Flowblade needs - namely this https://wiki.libsdl.org/SDL_SetWindowResizable?highlight=%28%5CbCategoryVideo%5Cb%29%7C%28CategoryEnum%29%7C%28CategoryStruct%29

This was missing last time I tried but I got it otherwise working.

We will do first exploratory coding next week or week after that but meanwhile I'm closing this.

jliljebl commented 4 years ago

Closing this as separate issue, we will be moving on from SDL1 whenever possible.

I got SDL2 video display working fully with complete application life cycle + resource initialization and release + starting and stopping consumer + correct video display resizing but unfortunately the performance was terrible. SDL2 spends massive amounts of time on some function converting YUV to RGB, a task that SDL1 did much more efficiently, on my test 80% v.40% CPU utilization between the two.

Next we will try SDL2 + OpenGL, this should very much be doable now that we got the life cycle and resizing working, we should be able to get OpenGL initialized by SDL very reliably on all Linux systems.