Crash when loading project with missing proxy
When loading in Pitivi a project with a missing proxy file, it crashes due to ges_asset_finish_proxy
calling itself recursively forever:
[many ges_asset_finish_proxy calls....]
#261849 0x00007ffff4db6565 in ges_asset_finish_proxy (proxy=proxy@entry=0x55555707e100 [GESUriClipAsset]) at ../ges/ges-asset.c:879
#261850 0x00007ffff4db6565 in ges_asset_finish_proxy (proxy=proxy@entry=0x55555707e320 [GESUriClipAsset]) at ../ges/ges-asset.c:879
#261851 0x00007ffff4db6565 in ges_asset_finish_proxy (proxy=proxy@entry=0x55555707e100 [GESUriClipAsset]) at ../ges/ges-asset.c:879
#261852 0x00007ffff4db6565 in ges_asset_finish_proxy (proxy=proxy@entry=0x55555707e320 [GESUriClipAsset]) at ../ges/ges-asset.c:879
#261853 0x00007ffff4db6565 in ges_asset_finish_proxy (proxy=0x55555707e100 [GESUriClipAsset]) at ../ges/ges-asset.c:879
#261854 0x00007ffff4dbdf18 in _loading_done (self=self@entry=0x555556f02b00 [GESXmlFormatter]) at ../ges/ges-base-xml-formatter.c:512
#261855 0x00007ffff4dbe833 in new_asset_cb (source=0x55555707e100 [GESUriClipAsset], res=<optimized out>, passet=passet@entry=0x55555702b890) at ../ges/ges-base-xml-formatter.c:736
#261856 0x00007ffff6df5579 in g_task_return_now (task=0x7fffd0006ec0 [GTask]) at ../gio/gtask.c:1212
#261857 0x00007ffff6df614d in g_task_return (task=0x7fffd0006ec0 [GTask], type=<optimized out>) at ../gio/gtask.c:1281
#261858 0x00007ffff704c870 in g_list_foreach (list=<optimized out>, list@entry=0x555556704860 = {...}, func=func@entry=0x7ffff4db3830 <_gtask_return_true>, user_data=user_data@entry=0x0) at ../glib/glist.c:1069
#261859 0x00007ffff4db404e in ges_asset_cache_set_loaded (extractable_type=<optimized out>, id=id@entry=0x555557202470 "file:///home/aleb/dev/pitivi/pitivi/tests/samples/tears_of_steel.webm", error=error@entry=0x0) at ../ges/ges-asset.c:718
#261860 0x00007ffff4db86ea in discoverer_discovered_cb (discoverer=<optimized out>, info=<optimized out>, err=<optimized out>, user_data=<optimized out>) at ../ges/ges-uri-asset.c:516
#261861 0x00007ffff7394b78 in ffi_call_unix64 () at ../src/x86/unix64.S:76
#261862 0x00007ffff7394374 in ffi_call (cif=cif@entry=0x7fffffffd010, fn=fn@entry=0x7ffff4db8230 <discoverer_discovered_cb>, rvalue=<optimized out>, avalue=avalue@entry=0x7fffffffcf20) at ../src/x86/ffi64.c:525
#261863 0x00007ffff6f7b746 in g_cclosure_marshal_generic_va (closure=<optimized out>, return_value=<optimized out>, instance=<optimized out>, args_list=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=<optimized out>) at ../gobject/gclosure.c:1614
#261864 0x00007ffff6f7a996 in _g_closure_invoke_va (closure=0x555557068330, return_value=0x0, instance=0x555555b68b00, args=0x7fffffffd2b0, n_params=2, param_types=0x55555593ec60) at ../gobject/gclosure.c:873
#261865 0x00007ffff6f973bc in g_signal_emit_valist (instance=0x555555b68b00, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffd2b0) at ../gobject/gsignal.c:3306
#261866 0x00007ffff6f97a03 in g_signal_emit (instance=instance@entry=0x555555b68b00, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3453
#261867 0x00007ffff510bcae in emit_discovererd (dc=dc@entry=0x555555b68b00 [GstDiscoverer]) at ../gst-libs/gst/pbutils/gstdiscoverer.c:1399
#261868 0x00007ffff510fec0 in discoverer_collect (dc=dc@entry=0x555555b68b00 [GstDiscoverer]) at ../gst-libs/gst/pbutils/gstdiscoverer.c:1539
#261869 0x00007ffff5110e79 in discoverer_bus_cb (bus=0x555556f771d0 [GstBus], msg=0x555557065720, dc=0x555555b68b00 [GstDiscoverer]) at ../gst-libs/gst/pbutils/gstdiscoverer.c:1989
#261870 0x00007ffff5110e79 in discoverer_bus_cb (bus=bus@entry=0x555556f771d0 [GstBus], msg=msg@entry=0x555557065720, dc=0x555555b68b00 [GstDiscoverer]) at ../gst-libs/gst/pbutils/gstdiscoverer.c:1980
#261871 0x00007ffff6f7db96 in g_cclosure_marshal_VOID__BOXEDv (closure=0x55555707d880, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x5555558a3e10) at ../gobject/gmarshal.c:1686
#261872 0x00007ffff6f7a996 in _g_closure_invoke_va (closure=0x55555707d880, return_value=0x0, instance=0x555556f771d0, args=0x7fffffffd680, n_params=1, param_types=0x5555558a3e10) at ../gobject/gclosure.c:873
#261873 0x00007ffff6f973bc in g_signal_emit_valist (instance=0x555556f771d0, signal_id=<optimized out>, detail=398, var_args=var_args@entry=0x7fffffffd680) at ../gobject/gsignal.c:3306
#261874 0x00007ffff6f97a03 in g_signal_emit (instance=instance@entry=0x555556f771d0, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3453
#261875 0x00007ffff5351c6c in gst_bus_async_signal_func (bus=0x555556f771d0 [GstBus], message=0x555557065720, data=<optimized out>) at ../gst/gstbus.c:1294
#261876 0x00007ffff5352c36 in gst_bus_source_dispatch (source=0x5555570683b0, callback=0x7ffff5351c10 <gst_bus_async_signal_func>, user_data=0x0) at ../gst/gstbus.c:851
#261877 0x00007ffff705057e in g_main_dispatch (context=0x5555557b7090) at ../glib/gmain.c:3216
#261878 0x00007ffff705057e in g_main_context_dispatch (context=context@entry=0x5555557b7090) at ../glib/gmain.c:3881
#261879 0x00007ffff7050930 in g_main_context_iterate (context=context@entry=0x5555557b7090, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:3954
#261880 0x00007ffff70509d3 in g_main_context_iteration (context=context@entry=0x5555557b7090, may_block=may_block@entry=1) at ../glib/gmain.c:4015
#261881 0x00007ffff6e23135 in g_application_run (application=0x555555b68330 [pitivi+application+Pitivi], argc=<optimized out>, argv=<optimized out>) at ../gio/gapplication.c:2559
#261882 0x00007ffff7394b78 in ffi_call_unix64 () at ../src/x86/unix64.S:76
#261883 0x00007ffff7394374 in ffi_call (cif=cif@entry=0x5555565795e8, fn=<optimized out>, rvalue=<optimized out>, rvalue@entry=0x7fffffffda78, avalue=<optimized out>) at ../src/x86/ffi64.c:525
#261884 0x00007ffff71578a5 in pygi_invoke_c_callable (function_cache=0x555556579540, state=<optimized out>, py_args=<optimized out>, py_kwargs=<optimized out>) at ../gi/pygi-invoke.c:684
#261885 0x00007ffff71593dc in pygi_function_cache_invoke (function_cache=<optimized out>, py_args=<optimized out>, py_kwargs=<optimized out>) at ../gi/pygi-cache.c:862
#261886 0x00007ffff7bb2435 in PyObject_Call (callable=callable@entry=0x7ffff64f58f0, args=args@entry=0x7ffff0d5e0f0, kwargs=kwargs@entry=0x7ffff0d64aa0) at ../Objects/call.c:245
#261887 0x00007ffff7b6bef7 in do_call_core (kwdict=0x7ffff0d64aa0, callargs=0x7ffff0d5e0f0, func=0x7ffff64f58f0) at ../Python/ceval.c:4645
#261888 0x00007ffff7b6bef7 in _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:3191
#261889 0x00007ffff7c11d7b in _PyEval_EvalCodeWithName (_co=_co@entry=0x7ffff655f930, globals=<optimized out>, locals=locals@entry=0x0, args=args@entry=0x555555fc0960, argcount=2, kwnames=0x0, kwargs=0x555555fc0970, kwcount=0, kwstep=1, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0, name=0x7ffff763f770, qualname=0x7ffff64eb870) at ../Python/ceval.c:3930
#261890 0x00007ffff7c120b9 in _PyFunction_FastCallKeywords (func=<optimized out>, stack=0x555555fc0960, nargs=<optimized out>, kwnames=<optimized out>) at ../Objects/call.c:433
#261891 0x00007ffff7b6a7e5 in call_function (pp_stack=pp_stack@entry=0x7fffffffded0, oparg=<optimized out>, kwnames=kwnames@entry=0x0) at ../Python/ceval.c:4616
#261892 0x00007ffff7b6e5b9 in _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:3110
#261893 0x00007ffff7b6a62b in function_code_fastcall (co=<optimized out>, args=<optimized out>, nargs=0, globals=<optimized out>) at ../Objects/call.c:283
#261894 0x00007ffff7c121d2 in _PyFunction_FastCallKeywords (func=<optimized out>, stack=<optimized out>, nargs=<optimized out>, kwnames=<optimized out>) at ../Objects/call.c:415
#261895 0x00007ffff7b6a7e5 in call_function (pp_stack=pp_stack@entry=0x7fffffffe0a8, oparg=<optimized out>, kwnames=kwnames@entry=0x0) at ../Python/ceval.c:4616
#261896 0x00007ffff7b6c384 in _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:3124
#261897 0x00007ffff7c11d7b in _PyEval_EvalCodeWithName (_co=_co@entry=0x7ffff746fa50, globals=globals@entry=0x7ffff7622be0, locals=locals@entry=0x7ffff7622be0, args=args@entry=0x0, argcount=argcount@entry=0, kwnames=kwnames@entry=0x0, kwargs=0x0, kwcount=0, kwstep=2, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0, name=0x0, qualname=0x0) at ../Python/ceval.c:3930
#261898 0x00007ffff7c11ffe in PyEval_EvalCodeEx (_co=_co@entry=0x7ffff746fa50, globals=globals@entry=0x7ffff7622be0, locals=locals@entry=0x7ffff7622be0, args=args@entry=0x0, argcount=argcount@entry=0, kws=kws@entry=0x0, kwcount=0, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0) at ../Python/ceval.c:3959
#261899 0x00007ffff7c1202b in PyEval_EvalCode (co=co@entry=0x7ffff746fa50, globals=globals@entry=0x7ffff7622be0, locals=locals@entry=0x7ffff7622be0) at ../Python/ceval.c:524
#261900 0x00007ffff7cae6a1 in run_mod (mod=mod@entry=0x555555649f88, filename=filename@entry=0x7ffff749ff30, globals=globals@entry=0x7ffff7622be0, locals=locals@entry=0x7ffff7622be0, flags=flags@entry=0x7fffffffe3a0, arena=arena@entry=0x7ffff7638770) at ../Python/pythonrun.c:1035
#261901 0x00007ffff7caf192 in PyRun_FileExFlags (fp=fp@entry=0x555555559310, filename_str=filename_str@entry=0x7ffff7662dc0 "/home/aleb/dev/pitivi/pitivi/bin/pitivi", start=start@entry=257, globals=globals@entry=0x7ffff7622be0, locals=locals@entry=0x7ffff7622be0, closeit=closeit@entry=1, flags=0x7fffffffe3a0) at ../Python/pythonrun.c:988
#261902 0x00007ffff7ccb98b in PyRun_SimpleFileExFlags (fp=fp@entry=0x555555559310, filename=<optimized out>, closeit=closeit@entry=1, flags=flags@entry=0x7fffffffe3a0) at ../Python/pythonrun.c:429
#261903 0x00007ffff7ccbe1c in PyRun_AnyFileExFlags (fp=fp@entry=0x555555559310, filename=<optimized out>, closeit=closeit@entry=1, flags=flags@entry=0x7fffffffe3a0) at ../Python/pythonrun.c:84
#261904 0x00007ffff7ccfe3a in pymain_run_file (p_cf=0x7fffffffe3a0, filename=<optimized out>, fp=0x555555559310) at ../Modules/main.c:427
#261905 0x00007ffff7ccfe3a in pymain_run_filename (cf=0x7fffffffe3a0, pymain=0x7fffffffe4b0) at ../Modules/main.c:1606
#261906 0x00007ffff7ccfe3a in pymain_run_python (pymain=0x7fffffffe4b0) at ../Modules/main.c:2867
#261907 0x00007ffff7ccfe3a in pymain_main (pymain=pymain@entry=0x7fffffffe4b0) at ../Modules/main.c:3028
#261908 0x00007ffff7cd00b9 in _Py_UnixMain (argc=<optimized out>, argv=<optimized out>) at ../Modules/main.c:3063
#261909 0x00007ffff7e27173 in __libc_start_main (main=0x555555555060 <main>, argc=2, argv=0x7fffffffe608, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe5f8) at ../csu/libc-start.c:308
#261910 0x000055555555509e in _start () at ../sysdeps/x86_64/start.S:120
To reproduce, edit the paths in the following file: c.xges
(ptv-flatpak) $ ls -l /home/aleb/dev/pitivi/pitivi/tests/samples/tears_of_steel.webm*
-rw-r--r-- 1 aleb users 223340 Apr 30 21:46 /home/aleb/dev/pitivi/pitivi/tests/samples/tears_of_steel.webm
(ptv-flatpak) $ pitivi c.xges
Running in sandbox: /home/aleb/dev/pitivi/pitivi/bin/pitivi c.xges
flatpak build --socket=x11 --socket=wayland --talk-name=org.freedesktop.Flatpak --socket=session-bus --socket=pulseaudio --share=network --env=PITIVI_DEVELOPMENT=1 --env=PYTHONUSERBASE=/app/ --env=CC=ccache gcc --env=CXX=ccache g++ --device=dri --env=LANG=en_US.utf8 --env=DISPLAY=:1 --env=PITIVI_REPO_DIR=/home/aleb/dev/pitivi/pitivi --env=GST_ENCODING_TARGET_PATH=/app/share/gstreamer-1.0/encoding-profiles/:/app/share/pitivi/encoding-profiles/: --env=GST_PLUGIN_SYSTEM_PATH=/app/lib/gstreamer-1.0/: --env=FREI0R_PATH=/app/lib/frei0r-1/: --env=GST_PRESET_PATH=/app/share/gstreamer-1.0/presets/:/app/share/pitivi/gstpresets/: /home/aleb/dev/pitivi/pitivi-prefix /home/aleb/dev/pitivi/pitivi/bin/pitivi c.xges
(pitivi:2): GStreamer-WARNING **: 07:22:33.870: gst_value_deserialize_g_value_array: unimplemented
(pitivi:2): GStreamer-WARNING **: 07:22:33.870: gst_value_deserialize_g_value_array: unimplemented
(pitivi:2): GStreamer-WARNING **: 07:22:33.870: gst_value_deserialize_g_value_array: unimplemented
(pitivi:2): GStreamer-CRITICAL **: 07:22:34.095: The created element should be floating, this is probably caused by faulty bindings
(pitivi:2): GStreamer-CRITICAL **: 07:22:34.096: The created element should be floating, this is probably caused by faulty bindings
(ptv-flatpak) 139 <<<< RETURNED CODE
Edited by Alexandru Băluț