Summary: | media-video/pitivi-2021.05-r1 cannot continue editing a saved file after revisiting project | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Anthony Guevara <amboxer21> |
Component: | Current packages | Assignee: | Gentoo Linux Gnome Desktop Team <gnome> |
Status: | UNCONFIRMED --- | ||
Severity: | normal | CC: | alopatindev, gnome, gstreamer |
Priority: | Normal | Keywords: | PullRequest |
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
See Also: | https://github.com/gentoo/gentoo/pull/35614 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | emerge-info.txt |
Description
Anthony Guevara
2022-09-05 16:00:01 UTC
Does this happen with version 2022.06? Looks like this is no longer happening with version 2022.06. I tried cutting and splicing multiple clips without any issues and or crashing. anthony@ghost ~/Movies/RecordMyDesktopV2 $ eix pitivi [I] media-video/pitivi Available versions: 0.999-r3^t[1] 2022.06 {test v4l PYTHON_SINGLE_TARGET="python3_6 python3_7 python3_8 python3_9 python3_10"} Installed versions: 2022.06(07:50:14 PM 09/15/2022)(PYTHON_SINGLE_TARGET="python3_9 -python3_8 -python3_10") Homepage: https://www.pitivi.org Description: A non-linear video editor using the GStreamer multimedia framework [1] "gentoo" /var/db/repos/gentoo anthony@ghost ~/Movies/RecordMyDesktopV2 $ stderr output: https://gist.github.com/amboxer21/87ab2201a5ceac427e143a0139670902 Excellent, thank you for testing! Sorry but I made a mistake and thought that pitivi crashed after cutting/splicing a clip but I missed the header info and realized that I had to edit a saved xges file. The program is still crashing. STDERR: anthony@ghost ~/Movies/RecordMyDesktopV2 $ pitivi Missing soft dependency: - cvtracker GStreamer element not found on the system -> enables object tracking Missing soft dependency: - librosa not found on the system -> enables beat detection functionality (pitivi:10386): GStreamer-Video-CRITICAL **: 15:49:37.034: gst_video_frame_map_id: assertion 'info->height <= meta->height' failed (pitivi:10386): GStreamer-Video-CRITICAL **: 15:49:38.790: gst_video_frame_map_id: assertion 'info->width <= meta->width' failed ** GES:ERROR:../gst-editing-services-1.20.3/ges/ges-track.c:1310:ges_track_remove_element_full: assertion failed: (track->priv->valid_thread == g_thread_self()) Bail out! GES:ERROR:../gst-editing-services-1.20.3/ges/ges-track.c:1310:ges_track_remove_element_full: assertion failed: (track->priv->valid_thread == g_thread_self()) Aborted anthony@ghost ~/Movies/RecordMyDesktopV2 $ Sorry again! Could you open a bug upstream at https://gitlab.gnome.org/GNOME/pitivi/-/issues ? This isn't really something distro maintainers can fix. Bug has been opened on Pitivi's Gitlab https://gitlab.gnome.org/GNOME/pitivi/-/issues/2633 Still reproduces. > Bug has been opened on Pitivi's Gitlab They closed it: > If you can reproduce the error with https://flathub.org/apps/details/org.pitivi.Pitivi then please reopen the issue. Otherwise one option is to contact the support group of your Linux distribution. Thanks Who's currently maintaining the media-video/pitivi ebuild? $ cat media-video/pitivi/metadata.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>gnome@gentoo.org</email> <name>Gentoo GNOME Desktop</name> </maintainer> <maintainer type="project"> <email>gstreamer@gentoo.org</email> <name>GStreamer package maintainers</name> </maintainer> <upstream> <remote-id type="gnome-gitlab">GNOME/pitivi</remote-id> </upstream> </pkgmetadata> Issue keeps reproducing on =media-video/pitivi-2023.03-r2 (amd64) even after installing missing dependencies (https://gitlab.gnome.org/GNOME/pitivi/-/blob/2023.03.0/build/flatpak/org.pitivi.Pitivi.json#L31): =media-plugins/gst-plugins-opencv-1.22.3-r2 =media-libs/gsound-1.0.3 =media-plugins/frei0r-plugins-1.8.0 pip3 install --user --break-system-packages --force-reinstall librosa==0.10.1 (or even 0.9.2) Proper steps to reproduce: 1. rm -rfv ~/.local/share/recently-used.xbel ~/.cache/matplotlib ~/.cache/pitivi ~/.local/share/pitivi ~/.config/pitivi ~/.cache/gstreamer* ; pitivi 2. Click "New" 3. Import mp4 file with AVC video and AAC LC audio ("+ Import" button) 5. Drag the imported media on timeline 6. Observe unexpected messages: Traceback (most recent call last): File "/usr/lib64/pitivi/python/pitivi/timeline/elements.py", line 1465, in _child_added_cb self._add_child(ges_timeline_element) File "/usr/lib64/pitivi/python/pitivi/timeline/elements.py", line 1503, in _add_child widget = self._create_child_widget(ges_source) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/pitivi/python/pitivi/timeline/elements.py", line 1539, in _create_child_widget self.audio_widget = AudioUriSource(ges_source, self.timeline) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/pitivi/python/pitivi/timeline/elements.py", line 1105, in __init__ TimelineElement.__init__(self, element, timeline) File "/usr/lib64/pitivi/python/pitivi/timeline/elements.py", line 664, in __init__ self.previewer = self._get_previewer() ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/pitivi/python/pitivi/timeline/elements.py", line 1109, in _get_previewer previewer = AudioPreviewer(self._ges_elem, self.timeline.app.settings.previewers_max_cpu) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/pitivi/python/pitivi/timeline/previewers.py", line 1198, in __init__ self.become_controlled() File "/usr/lib64/pitivi/python/pitivi/timeline/previewers.py", line 386, in become_controlled Previewer.manager.add_previewer(self) File "/usr/lib64/pitivi/python/pitivi/timeline/previewers.py", line 310, in add_previewer self._start_previewer(previewer) File "/usr/lib64/pitivi/python/pitivi/timeline/previewers.py", line 317, in _start_previewer previewer.start_generation() File "/usr/lib64/pitivi/python/pitivi/timeline/previewers.py", line 1370, in start_generation self._start_levels_discovery() File "/usr/lib64/pitivi/python/pitivi/timeline/previewers.py", line 1218, in _start_levels_discovery self._launch_pipeline() File "/usr/lib64/pitivi/python/pitivi/timeline/previewers.py", line 1244, in _launch_pipeline clock = GObject.new(GObject.type_from_name("GstCpuThrottlingClock")) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/gi/overrides/GObject.py", line 303, in type_from_name raise RuntimeError('unknown type name: %s' % name) RuntimeError: unknown type name: GstCpuThrottlingClock Traceback (most recent call last): File "/usr/lib64/pitivi/python/pitivi/timeline/elements.py", line 818, in __selected_changed_cb if not self.keyframe_curve and self.__controlled_property and \ ^^^^^^^^^^^^^^^^^^^ AttributeError: 'AudioUriSource' object has no attribute 'keyframe_curve' Traceback (most recent call last): File "/usr/lib64/pitivi/python/pitivi/timeline/elements.py", line 818, in __selected_changed_cb if not self.keyframe_curve and self.__controlled_property and \ ^^^^^^^^^^^^^^^^^^^ AttributeError: 'AudioUriSource' object has no attribute 'keyframe_curve' (pitivi:15600): GStreamer-CRITICAL **: 04:05:23.792: gst_object_unref: assertion 'object != NULL' failed (pitivi:15600): GES-CRITICAL **: 04:05:23.792: ges_layer_get_auto_transition: assertion 'GES_IS_LAYER (layer)' failed 7. Save the project 8. Close Pitivi 9. pitivi 10. Open the project from recent projects list 11. Observe unexpected messages: Traceback (most recent call last): File "/usr/lib64/pitivi/python/pitivi/editorperspective.py", line 485, in _project_manager_new_project_loaded_cb self.timeline_ui.set_project(project) File "/usr/lib64/pitivi/python/pitivi/timeline/timeline.py", line 1607, in set_project self.timeline.set_project(project) File "/usr/lib64/pitivi/python/pitivi/timeline/timeline.py", line 507, in set_project self._add_layer(ges_layer) File "/usr/lib64/pitivi/python/pitivi/timeline/timeline.py", line 1144, in _add_layer layer = Layer(ges_layer, self) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/pitivi/python/pitivi/timeline/layer.py", line 322, in __init__ self._add_clip(ges_clip) File "/usr/lib64/pitivi/python/pitivi/timeline/layer.py", line 396, in _add_clip widget = ui_type(self, ges_clip) ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/pitivi/python/pitivi/timeline/elements.py", line 1527, in __init__ SourceClip.__init__(self, layer, ges_clip) File "/usr/lib64/pitivi/python/pitivi/timeline/elements.py", line 1483, in __init__ Clip.__init__(self, layer, ges_clip) File "/usr/lib64/pitivi/python/pitivi/timeline/elements.py", line 1202, in __init__ self._add_child(ges_timeline_element) File "/usr/lib64/pitivi/python/pitivi/timeline/elements.py", line 1503, in _add_child widget = self._create_child_widget(ges_source) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/pitivi/python/pitivi/timeline/elements.py", line 1539, in _create_child_widget self.audio_widget = AudioUriSource(ges_source, self.timeline) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/pitivi/python/pitivi/timeline/elements.py", line 1105, in __init__ TimelineElement.__init__(self, element, timeline) File "/usr/lib64/pitivi/python/pitivi/timeline/elements.py", line 664, in __init__ self.previewer = self._get_previewer() ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/pitivi/python/pitivi/timeline/elements.py", line 1109, in _get_previewer previewer = AudioPreviewer(self._ges_elem, self.timeline.app.settings.previewers_max_cpu) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/pitivi/python/pitivi/timeline/previewers.py", line 1198, in __init__ self.become_controlled() File "/usr/lib64/pitivi/python/pitivi/timeline/previewers.py", line 386, in become_controlled Previewer.manager.add_previewer(self) File "/usr/lib64/pitivi/python/pitivi/timeline/previewers.py", line 310, in add_previewer self._start_previewer(previewer) File "/usr/lib64/pitivi/python/pitivi/timeline/previewers.py", line 317, in _start_previewer previewer.start_generation() File "/usr/lib64/pitivi/python/pitivi/timeline/previewers.py", line 1370, in start_generation self._start_levels_discovery() File "/usr/lib64/pitivi/python/pitivi/timeline/previewers.py", line 1218, in _start_levels_discovery self._launch_pipeline() File "/usr/lib64/pitivi/python/pitivi/timeline/previewers.py", line 1244, in _launch_pipeline clock = GObject.new(GObject.type_from_name("GstCpuThrottlingClock")) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/gi/overrides/GObject.py", line 303, in type_from_name raise RuntimeError('unknown type name: %s' % name) RuntimeError: unknown type name: GstCpuThrottlingClock Traceback (most recent call last): File "/usr/lib64/pitivi/python/pitivi/utils/pipeline.py", line 631, in _bus_message_cb self.app.gui.editor.timeline_ui.timeline.update_visible_overlays() File "/usr/lib64/pitivi/python/pitivi/timeline/timeline.py", line 719, in update_visible_overlays self.app.gui.editor.viewer.overlay_stack.set_current_sources(sources) File "/usr/lib64/pitivi/python/pitivi/viewer/overlay_stack.py", line 145, in set_current_sources overlay = self.__overlay_for_source(source) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/pitivi/python/pitivi/viewer/overlay_stack.py", line 87, in __overlay_for_source overlay = MoveScaleOverlay(self, self.app.action_log, source) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/pitivi/python/pitivi/viewer/move_scale_overlay.py", line 300, in __init__ Overlay.__init__(self, stack, source) File "/usr/lib64/pitivi/python/pitivi/viewer/overlay.py", line 41, in __init__ self._source.selected.connect("selected-changed", self.__source_selected_changed_cb) ^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'VideoUriSource' object has no attribute 'selected' ERROR 04:06:24 pipeline pitivi+utils+pipeline+pipeline0 _async_done_not_received_cb: Async operation timed out after 5 seconds, aborting: set_simple_state: <enum GST_STATE_PAUSED of type Gst.State> (../../usr/lib64/pitivi/python/pitivi/utils/pipeline.py:303) ERROR 04:06:24 pipeline pitivi+utils+pipeline+pipeline0 _recover: Resetting pipeline because error detected during playback. Try 1 (../../usr/lib64/pitivi/python/pitivi/utils/pipeline.py:475) Traceback (most recent call last): File "/usr/lib64/pitivi/python/pitivi/utils/pipeline.py", line 631, in _bus_message_cb self.app.gui.editor.timeline_ui.timeline.update_visible_overlays() File "/usr/lib64/pitivi/python/pitivi/timeline/timeline.py", line 719, in update_visible_overlays self.app.gui.editor.viewer.overlay_stack.set_current_sources(sources) File "/usr/lib64/pitivi/python/pitivi/viewer/overlay_stack.py", line 145, in set_current_sources overlay = self.__overlay_for_source(source) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/pitivi/python/pitivi/viewer/overlay_stack.py", line 87, in __overlay_for_source overlay = MoveScaleOverlay(self, self.app.action_log, source) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/pitivi/python/pitivi/viewer/move_scale_overlay.py", line 300, in __init__ Overlay.__init__(self, stack, source) File "/usr/lib64/pitivi/python/pitivi/viewer/overlay.py", line 41, in __init__ self._source.selected.connect("selected-changed", self.__source_selected_changed_cb) ^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'VideoUriSource' object has no attribute 'selected' 12. Expected mp4 is not on timeline anymore 13. Dragging the mp4 to timeline fails with Traceback (most recent call last): File "/usr/lib64/pitivi/python/pitivi/utils/pipeline.py", line 631, in _bus_message_cb self.app.gui.editor.timeline_ui.timeline.update_visible_overlays() File "/usr/lib64/pitivi/python/pitivi/timeline/timeline.py", line 719, in update_visible_overlays self.app.gui.editor.viewer.overlay_stack.set_current_sources(sources) File "/usr/lib64/pitivi/python/pitivi/viewer/overlay_stack.py", line 145, in set_current_sources overlay = self.__overlay_for_source(source) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/pitivi/python/pitivi/viewer/overlay_stack.py", line 87, in __overlay_for_source overlay = MoveScaleOverlay(self, self.app.action_log, source) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/pitivi/python/pitivi/viewer/move_scale_overlay.py", line 300, in __init__ Overlay.__init__(self, stack, source) File "/usr/lib64/pitivi/python/pitivi/viewer/overlay.py", line 41, in __init__ self._source.selected.connect("selected-changed", self.__source_selected_changed_cb) ^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'VideoUriSource' object has no attribute 'selected' ERROR 04:07:29 pipeline pitivi+utils+pipeline+pipeline0 _async_done_not_received_cb: Async operation timed out after 5 seconds, aborting: set_simple_state: <enum GST_STATE_PAUSED of type Gst.State> (../../usr/lib64/pitivi/python/pitivi/utils/pipeline.py:303) ERROR 04:07:29 pipeline pitivi+utils+pipeline+pipeline0 _recover: Resetting pipeline because error detected during playback. Try 2 (../../usr/lib64/pitivi/python/pitivi/utils/pipeline.py:475) Traceback (most recent call last): File "/usr/lib64/pitivi/python/pitivi/utils/pipeline.py", line 631, in _bus_message_cb self.app.gui.editor.timeline_ui.timeline.update_visible_overlays() File "/usr/lib64/pitivi/python/pitivi/timeline/timeline.py", line 719, in update_visible_overlays self.app.gui.editor.viewer.overlay_stack.set_current_sources(sources) File "/usr/lib64/pitivi/python/pitivi/viewer/overlay_stack.py", line 145, in set_current_sources overlay = self.__overlay_for_source(source) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/pitivi/python/pitivi/viewer/overlay_stack.py", line 87, in __overlay_for_source overlay = MoveScaleOverlay(self, self.app.action_log, source) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/pitivi/python/pitivi/viewer/move_scale_overlay.py", line 300, in __init__ Overlay.__init__(self, stack, source) File "/usr/lib64/pitivi/python/pitivi/viewer/overlay.py", line 41, in __init__ self._source.selected.connect("selected-changed", self.__source_selected_changed_cb) ^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'VideoUriSource' object has no attribute 'selected' Traceback (most recent call last): File "/usr/lib64/pitivi/python/pitivi/timeline/timeline.py", line 1336, in get_layer_at next_ges_layer = ges_layers[i + 1] ~~~~~~~~~~^^^^^^^ IndexError: list index out of range During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib64/pitivi/python/pitivi/timeline/timeline.py", line 1044, in _drag_motion_cb self.__create_clips(x, y) File "/usr/lib64/pitivi/python/pitivi/timeline/timeline.py", line 992, in __create_clips ges_layer, unused_on_sep = self.get_layer_at(y) ^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/pitivi/python/pitivi/timeline/timeline.py", line 1340, in get_layer_at return ges_layer, self._separators[i + 1] ~~~~~~~~~~~~~~~~^^^^^^^ IndexError: list index out of range Traceback (most recent call last): File "/usr/lib64/pitivi/python/pitivi/timeline/timeline.py", line 1336, in get_layer_at next_ges_layer = ges_layers[i + 1] ~~~~~~~~~~^^^^^^^ IndexError: list index out of range During handling of the above exception, another exception occurred: (repeats many times) Created attachment 886469 [details]
emerge-info.txt
Looks like the issue is somewhere in media-libs/gst-plugins-bad. Issue doesn't reproduce with =media-plugins/gst-transcoder-1.14.1-r1 (which was removed from portage tree after commit 38b155fa1bf907617067c98eb4ba3a5d0790eb1a). Requires `addpredict /dev # Prevent sandbox violations bug #570624` fix from media-libs/gst-plugins-bad. With obsolete gst-transcoder I see other messages though: Missing soft dependency: - debugutilsbad GStreamer plug-in not found on the system -> enables a watchdog in the GStreamer pipeline. Use to detect errors happening in GStreamer and recover from them (pitivi:1248): Gtk-WARNING **: 06:29:00.552: Calling org.freedesktop.portal.Inhibit.Inhibit failed: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Inhibit” on object at path /org/freedesktop/portal/desktop (pitivi:1248): Gtk-CRITICAL **: 06:29:01.205: gtk_application_uninhibit: assertion 'cookie > 0' failed Fixed all issues besides (pitivi:14890): Gtk-WARNING **: 08:05:14.276: Calling org.freedesktop.portal.Inhibit.Inhibit failed: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Inhibit” on object at path /org/freedesktop/portal/desktop (pitivi:14890): Gtk-CRITICAL **: 08:05:18.728: gtk_application_uninhibit: assertion 'cookie > 0' failed in https://github.com/gentoo/gentoo/pull/35614 Please merge, thanks. |