dyne / frei0r

A large collection of free and portable video plugins
https://frei0r.dyne.org/
GNU General Public License v2.0
419 stars 91 forks source link

frei0r-mixer-overlay and blend segfault #187

Open castilma opened 3 months ago

castilma commented 3 months ago

The following pipeline segfaults about 33% of the time on my system. It also happens if you use frei0r-mixer-blend. I was not able to reproduce this with videomixer. Therefore I assume it has something to do with frei0r-specific code.

$ gst-launch-1.0  frei0r-mixer-overlay name=blend ! autovideoconvert ! fakevideosink  \
videotestsrc  ! blend. \
videotestsrc   ! blend. 
Leitung wird auf PAUSIERT gesetzt ...
Leitung läuft vor …

(gst-launch-1.0:14755): GStreamer-CRITICAL **: 13:29:37.759: gst_pad_set_chain_function_full: assertion 'GST_IS_PAD (pad)' failed
Caught SIGSEGV
Kontext von Element »glcolorconvertelement3« erhalten: gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayX11\)\ gldisplayx11-0";
Spinning.  Please run 'gdb gst-launch-1.0 14755' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.
(gdb) bt
#0  0x00007ddafff450bf in poll () at /usr/lib/libc.so.6
#1  0x00007ddb001412f6 in ??? () at /usr/lib/libglib-2.0.so.0
#2  0x00007ddb000e3b97 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#3  0x0000566b6d7a7ca9 in ??? ()
#4  0x00007ddaffe6fcd0 in ??? () at /usr/lib/libc.so.6
#5  0x00007ddaffe6fd8a in __libc_start_main () at /usr/lib/libc.so.6
#6  0x0000566b6d7a5055 in ??? ()
(gdb) 

Sometimes I get this:

$ gst-launch-1.0  frei0r-mixer-overlay name=blend ! autovideoconvert ! fakevideosink  videotestsrc  ! blend.  videotestsrc   ! blend. 
Leitung wird auf PAUSIERT gesetzt ...
Leitung läuft vor …
Kontext von Element »glcolorconvertelement3« erhalten: gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayX11\)\ gldisplayx11-0";

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.693: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4731:gst_pad_push_data:<blend:src> Got data flow before stream-start event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.693: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4736:gst_pad_push_data:<blend:src> Got data flow before segment event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.693: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4458:gst_pad_chain_data_unchecked:<autovideoconvert0:sink> Got data flow before stream-start event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.693: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4463:gst_pad_chain_data_unchecked:<autovideoconvert0:sink> Got data flow before segment event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.693: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4731:gst_pad_push_data:<'':internal_src_autovideoconvert-gluploadglcolorconvertglcolorscaleglcolorconvert> Got data flow before stream-start event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.693: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4736:gst_pad_push_data:<'':internal_src_autovideoconvert-gluploadglcolorconvertglcolorscaleglcolorconvert> Got data flow before segment event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.693: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4458:gst_pad_chain_data_unchecked:<autovideoconvert-gluploadglcolorconvertglcolorscaleglcolorconvert:sink> Got data flow before stream-start event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.693: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4463:gst_pad_chain_data_unchecked:<autovideoconvert-gluploadglcolorconvertglcolorscaleglcolorconvert:sink> Got data flow before segment event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.693: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4731:gst_pad_push_data:<sink:proxypad9> Got data flow before stream-start event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.693: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4736:gst_pad_push_data:<sink:proxypad9> Got data flow before segment event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.693: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4458:gst_pad_chain_data_unchecked:<gluploadelement0:sink> Got data flow before stream-start event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.693: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4463:gst_pad_chain_data_unchecked:<gluploadelement0:sink> Got data flow before segment event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.695: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4731:gst_pad_push_data:<gluploadelement0:src> Got data flow before stream-start event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.695: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4736:gst_pad_push_data:<gluploadelement0:src> Got data flow before segment event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.695: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4458:gst_pad_chain_data_unchecked:<glcolorconvertelement2:sink> Got data flow before stream-start event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.695: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4463:gst_pad_chain_data_unchecked:<glcolorconvertelement2:sink> Got data flow before segment event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.695: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4731:gst_pad_push_data:<glcolorconvertelement2:src> Got data flow before stream-start event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.695: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4736:gst_pad_push_data:<glcolorconvertelement2:src> Got data flow before segment event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.695: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4458:gst_pad_chain_data_unchecked:<glcolorscale1:sink> Got data flow before stream-start event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.695: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4463:gst_pad_chain_data_unchecked:<glcolorscale1:sink> Got data flow before segment event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.695: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4731:gst_pad_push_data:<glcolorscale1:src> Got data flow before stream-start event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.695: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4736:gst_pad_push_data:<glcolorscale1:src> Got data flow before segment event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.695: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4458:gst_pad_chain_data_unchecked:<glcolorconvertelement3:sink> Got data flow before stream-start event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.695: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4463:gst_pad_chain_data_unchecked:<glcolorconvertelement3:sink> Got data flow before segment event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.695: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4731:gst_pad_push_data:<glcolorconvertelement3:src> Got data flow before stream-start event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.695: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4736:gst_pad_push_data:<glcolorconvertelement3:src> Got data flow before segment event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.695: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4458:gst_pad_chain_data_unchecked:<src:proxypad8> Got data flow before stream-start event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.695: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4463:gst_pad_chain_data_unchecked:<src:proxypad8> Got data flow before segment event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.695: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4731:gst_pad_push_data:<autovideoconvert-gluploadglcolorconvertglcolorscaleglcolorconvert:src> Got data flow before stream-start event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.695: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4736:gst_pad_push_data:<autovideoconvert-gluploadglcolorconvertglcolorscaleglcolorconvert:src> Got data flow before segment event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.695: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4458:gst_pad_chain_data_unchecked:<'':internal_sink_autovideoconvert-gluploadglcolorconvertglcolorscaleglcolorconvert> Got data flow before stream-start event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.695: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4463:gst_pad_chain_data_unchecked:<'':internal_sink_autovideoconvert-gluploadglcolorconvertglcolorscaleglcolorconvert> Got data flow before segment event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.695: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4731:gst_pad_push_data:<autovideoconvert0:src> Got data flow before stream-start event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.695: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4736:gst_pad_push_data:<autovideoconvert0:src> Got data flow before segment event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.695: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4458:gst_pad_chain_data_unchecked:<fakevideosink0:sink> Got data flow before stream-start event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.695: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4463:gst_pad_chain_data_unchecked:<fakevideosink0:sink> Got data flow before segment event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.695: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4731:gst_pad_push_data:<sink:proxypad16> Got data flow before stream-start event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.695: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4736:gst_pad_push_data:<sink:proxypad16> Got data flow before segment event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.695: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4458:gst_pad_chain_data_unchecked:<sink:sink> Got data flow before stream-start event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.695: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4463:gst_pad_chain_data_unchecked:<sink:sink> Got data flow before segment event
WARNUNG: Von Element /GstPipeline:pipeline0/GstFakeVideoSink:fakevideosink0/GstFakeSink:sink: Internes Problem im Datenfluss.
Zusätzliche Fehlerdiagnoseinformation:
../gstreamer/subprojects/gstreamer/libs/gst/base/gstbasesink.c(3805): gst_base_sink_chain_unlocked (): /GstPipeline:pipeline0/GstFakeVideoSink:fakevideosink0/GstFakeSink:sink:
Received buffer without a new-segment. Assuming timestamps start from 0.
Leitung ist vorgelaufen …
Leitung wird auf ABSPIELEN gesetzt ...
Verzögerung neu verteilen …
New clock: GstSystemClock

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.696: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4458:gst_pad_chain_data_unchecked:<gluploadelement0:sink> Got data flow before stream-start event

(gst-launch-1.0:15104): GStreamer-WARNING **: 13:35:12.696: ../gstreamer/subprojects/gstreamer/gst/gstpad.c:4463:gst_pad_chain_data_unchecked:<gluploadelement0:sink> Got data flow before segment event
^\Caught SIGQUIT
Spinning.  Please run 'gdb gst-launch-1.0 15104' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.
Plugin Details:
  Name                     frei0r
  Description              frei0r plugin library
  Filename                 /usr/lib/gstreamer-1.0/libgstfrei0r.so
  Version                  1.24.0
  License                  LGPL
  Source module            gst-plugins-bad
  Documentation            https://gstreamer.freedesktop.org/documentation/frei0r/
  Source release date      2024-03-04
  Binary package           Artix Linux GStreamer 1.24.0-1
  Origin URL               https://www.artixlinux.org/
gst-launch-1.0 --version
gst-launch-1.0 version 1.24.0
GStreamer 1.24.0
https://www.artixlinux.org/