Here's a backtrace of the first command inside the latest Pitivi/master Flatpak:
#0 0x00007ffff7d38969 in g_type_check_instance_cast ()
at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#1 0x000055555555ea4d in _project_loaded_cb
(project=<optimized out>, timeline=0x555555c92110, self=0x5555555a4170)
at ../tools/ges-launcher.c:834
#2 0x00007ffff7d1a61e in g_cclosure_marshal_VOID__OBJECTv ()
at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#3 0x00007ffff7d17179 in _g_closure_invoke_va ()
at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#4 0x00007ffff7d307df in g_signal_emit_valist ()
at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#5 0x00007ffff7d309c3 in g_signal_emit ()
at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#6 0x00007ffff7f32308 in ges_project_set_loaded
(project=0x555555c90080, formatter=formatter@entry=0x555555c942a0, error=<optimized out>) at ../ges/ges-project.c:774
#7 0x00007ffff7f34d54 in _loading_done (self=self@entry=0x555555c942a0)
at ../ges/ges-base-xml-formatter.c:534
#8 0x00007ffff7f351aa in new_asset_cb
(source=<optimized out>, res=<optimized out>, passet=<optimized out>)
at ../ges/ges-base-xml-formatter.c:740
#9 0x00007ffff7903319 in g_task_return_now ()
at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#10 0x00007ffff790335d in complete_in_idle_cb ()
at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#11 0x00007ffff7c1fe1f in g_main_context_dispatch ()
at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#12 0x00007ffff7c201c8 in g_main_context_iterate.constprop ()
at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#13 0x00007ffff7c20293 in g_main_context_iteration ()
at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#14 0x00007ffff793276a in g_application_run ()
at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#15 0x000055555555bc56 in main (argc=5, argv=0x7fffffffdde8)
at ../tools/ges-launch.c:35
All of the above was the version of GES and Gstreamer that comes with Fedora 33. If I use the Flatpak for Pitivi master, it's even worse. This step
ges-launch-1.0 +clip test.mkv --save-only test.xges
now seg faults, even though it worked before.
For example, the first command does this:
$ ges-launch-1.0 --load template.xges --save-only test.xges
Press 'k' to see a list of keyboard shortcuts.
Loading project from : template.xges
sys:1: Warning: g_source_remove: assertion 'tag > 0' failed
Segmentation fault (core dumped)
I have a blank GES project, template.xges, which I would like to edit (add clips, etc). But I can't get started -- it segfaults:
$ ges-launch-1.0 --load template.xges --save-only test.xges
(ges-launch-1.0:6794): GStreamer-WARNING **: 12:25:22.736: gst_value_deserialize_g_value_array: unimplemented
[repeated many times]
sys:1: Warning: g_source_remove: assertion 'tag > 0' failed
sys:1: Warning: invalid unclassed pointer in cast to 'GstPipeline'
sys:1: Warning: invalid unclassed pointer in cast to 'GObject'
sys:1: Warning: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(ges-launch-1.0:6794): GES-CRITICAL **: 12:25:22.747: ges_pipeline_set_mode: assertion 'GES_IS_PIPELINE (pipeline)' failed
sys:1: Warning: invalid unclassed pointer in cast to 'GstElement'
(ges-launch-1.0:6794): GStreamer-CRITICAL **: 12:25:22.747: gst_element_set_state: assertion 'GST_IS_ELEMENT (element)' failed
(ges-launch-1.0:6794): GES-ERROR **: 12:25:22.747: Failed to start the pipeline
Trace/breakpoint trap (core dumped)
I get the same behaviour, including seg fault, if I add in clips, e.g.
ges-launch-1.0 --load template.xges +clip test.mkv --save-only test.xges
On the other hand if I make a project from scratch, e.g.
ges-launch-1.0 +clip test.mkv --save-only test.xges
ges-launch-1.0 --load test.xges --save-only test2.xges
then the first command succeeds, and the second command hangs, without seg faulting this time.