Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • gst-plugins-base gst-plugins-base
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 642
    • Issues 642
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 80
    • Merge requests 80
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GStreamerGStreamer
  • gst-plugins-basegst-plugins-base
  • Issues
  • #798
Closed
Open
Issue created Jul 30, 2020 by Nazar Mokrynskyi@nazar-pc

compositor: segfault with BGRA input from wpesrc

I have a programmatic pipeline with wpesrc -> queue -> video/x-raw format=BGRA -> compositor -> format=RGBA in it.

When launched, shortly after start I get segfault like this all the time:

ERROR: 0x7f3f1c2f9000 - [pageProxyID=5, webPageID=6, PID=2177642] WebPageProxy::processDidTerminate: (pid 2177642), reason 3
../Source/WebKit/UIProcess/WebPageProxy.cpp(7393) : void WebKit::WebPageProxy::processDidTerminate(WebKit::ProcessTerminationReason)
ERROR: 0x7f3f1c2f9000 - [pageProxyID=5, webPageID=6, PID=2177642] WebPageProxy::dispatchProcessDidTerminate: reason = 3
../Source/WebKit/UIProcess/WebPageProxy.cpp(7448) : void WebKit::WebPageProxy::dispatchProcessDidTerminate(WebKit::ProcessTerminationReason)
[Thread 0x7f3e22ffb700 (LWP 2177645) exited]
--Type <RET> for more, q to quit, c to continue without paging--

Thread 9 "compositor_0_ma" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f3f7213c700 (LWP 2177581)]
0x00007f3f942e6630 in ?? ()
(gdb) bt
#0  0x00007f3f942e6630 in  ()
#1  0x00007f3f946ccdf5 in compositor_orc_blend_bgra
    (d1=0x7f3f5d0df660 "So\212\377So\212\377So\212\377Ok\206\377Ok\206\377Mi\204\377Ok\206\377Nj\205\377Nj\205\377Mi\204\377Nj\205\377Lh\203\377Lf\201\377Jd\177\377Hd\177\377Hd\177\377De\200\377Ef\201\377@c~\377>a|\377>_z\377@a|\377>_z\377<]x\377;\\w\377:[v\377:[v\377:[v\377?\\r\377?\\r\377>\\u\377?]v\377<^t\377<^t\377<`t\377@dx\377Gdz\377Ebx\377@]q\377@]q\377B_s\377Hey\377C`t\377B_s\377D`r\377Iew\377?]o\377@^p\377\027\071M\377\"DX\377"..., d1_stride=5120, s1=0x7f3e20402800 <error: Cannot access memory at address 0x7f3e20402800>, s1_stride=7680, p1=127, n=1280, m=180) at gst/compositor/compositororc.c:1411
#2  0x00007f3f946d3db6 in blend_pads (comp=0x7f3f7213a078) at ../gst/compositor/compositor.c:1132
#3  0x00007f3f946d579e in gst_parallelized_task_runner_run (func=0x7f3f946d3d40 <blend_pads>, task_data=0x7f3f72139fd0, self=0x7f3f5c008700) at ../gst/compositor/compositor.c:968
#4  gst_compositor_aggregate_frames (vagg=<optimized out>, outbuf=<optimized out>) at ../gst/compositor/compositor.c:1248
#5  0x00007f3f9609edeb in gst_video_aggregator_do_aggregate
    (outbuf=0x7f3f7213a4f0, output_end_time=3266666667 [0:00:03.266666667], output_start_time=3233333333 [0:00:03.233333333], vagg=0x7f3f900677f0 [GstVideoAggregator|compositor_0_main]) at ../gst-libs/gst/video/gstvideoaggregator.c:1761
#6  gst_video_aggregator_aggregate (agg=0x7f3f900677f0 [GstAggregator|compositor_0_main], timeout=1) at ../gst-libs/gst/video/gstvideoaggregator.c:1968
#7  0x00007f3f9642f683 in gst_aggregator_aggregate_func (self=0x7f3f900677f0 [GstAggregator|compositor_0_main]) at ../libs/gst/base/gstaggregator.c:1282
#8  0x00007f3f9638a417 in gst_task_func (task=0x7f3f90075710 [GstTask|compositor_0_main:src]) at ../gst/gsttask.c:328
#9  0x00007f3f961bd1d4 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007f3f961bc931 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007f3f95ccc609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#12 0x00007f3f95bd6103 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Interestingly, everything works fine for a few seconds.

Inserting videoconvert and capsfilter with format=RGBA helps, but would be nice to avoid if compositor is supposed to work with any input.

Assignee
Assign to
Time tracking