Seek stops working when getting "asyncDoneNotReceivedCb: we didn't get async done, this is a bug"
Closed, ResolvedPublic

Description

I get this error while rendering the video:

ERROR 00:04:17 pipeline          pitivi+utils+pipeline+pipeline0 _asyncDoneNotReceivedCb: we didn't get async done, this is a bug (../../../../../../app/lib/pitivi/python/pitivi/utils/pipeline.py:295)
ERROR 00:04:17 pipeline          pitivi+utils+pipeline+pipeline0 _recover: Pipeline error detected during playback, resetting -- num tries: 0 (../../../../../../app/lib/pitivi/python/pitivi/utils/pipeline.py:456)
ERROR 00:05:47 pipeline          pitivi+utils+pipeline+pipeline0 _asyncDoneNotReceivedCb: we didn't get async done, this is a bug (../../../../../../app/lib/pitivi/python/pitivi/utils/pipeline.py:295)
ERROR 00:05:47 pipeline          pitivi+utils+pipeline+pipeline0 _recover: Pipe
shakaran created this task.Nov 22 2016, 4:44 PM
aleb updated the task description. (Show Details)Nov 22 2016, 7:27 PM
aleb triaged this task as High priority.
aleb edited projects, added Pitivi (0.99); removed Pitivi.

Please share the assets and the project and also tell us what exact format you are rendering to so we can reproduce and fix.

Thanks!

it is hard to remember since it was several weeks ago. I think that it was several videos in MP4 (recorded in Android, Google Nexus 4), the output format was for youtube (using HTML5 presets or so).

Probably it is a good idea add some lines in the traceback or debug output which shows the exact format and info to other reports. Also I cannot share the assets since I have with my client a NDA and it is not public content.

aleb moved this task from Backlog to In progress on the Pitivi (0.99) board.Dec 1 2016, 11:19 AM
aleb renamed this task from asyncDoneNotReceivedCb: we didn't get async done, this is a bug to Timeline freezing when getting "asyncDoneNotReceivedCb: we didn't get async done, this is a bug".Dec 6 2016, 3:38 PM
aleb renamed this task from Timeline freezing when getting "asyncDoneNotReceivedCb: we didn't get async done, this is a bug" to Seek stops working when getting "asyncDoneNotReceivedCb: we didn't get async done, this is a bug".Dec 6 2016, 4:05 PM
aleb added a comment.Dec 6 2016, 4:09 PM

In _addWaitingForAsyncDoneTimeout there are two fields set which indicate that an async operation is performed: _timeout_async_id and _waiting_for_async_done. When the timeout expires, only _timeout_async_id is reset (in _removeWaitingForAsyncDoneTimeout) and _waiting_for_async_done remains True. This causes simple_seek to postpone the seek.. and the Pipeline fails to recover.

     def _addWaitingForAsyncDoneTimeout(self, timeout=WATCHDOG_TIMEOUT):
         self._removeWaitingForAsyncDoneTimeout()
 
         self._timeout_async_id = GLib.timeout_add_seconds(timeout,
                                                           self._asyncDoneNotReceivedCb)
-        self._waiting_for_async_done = True
aleb closed this task as Closed.Dec 13 2016, 8:41 PM
aleb reopened this task as Open.Dec 13 2016, 8:41 PM
aleb moved this task from In progress to Needs review on the Pitivi (0.99) board.Mar 5 2017, 12:19 AM
aleb changed git URI from https://github.com/aleb/pitivi.git#wip/phab/T7626-async to git://git.pitivi.org/pitivi.git#refs/tags/phabricator/diff/5856.
aleb added a comment.Apr 17 2017, 10:00 PM

The current state (at D1721) is much better but I see this problem:

  • create a new project
  • import first tears_of_steel
  • import second simpsons
  • add to the timeline two clips: tears and simpsons (unproxied),
  • drag the right handle of the first clip to the left, a few times, until it gets to .250 or .220, notice in the console "we didn't get async done" .. this does look like an error, it should not happen in this simple case. After it prints the error once, it prints it another two times, then it shows the dialog about unrecoverable error and I have to close Pitivi. At this time the viewer is black.

@thiblahute we need to figure out why this happens.

aleb added a comment.Apr 30 2017, 12:41 AM

The very-related problem described in the last comment can be seen by running the unittest in this commit: https://github.com/aleb/pitivi/commit/90d5a108a2f0e4f313d4c534bee7464eecf2e196
@thiblahute Do you think it's a problem in Pitivi, or in GES/Gst?

erusan added a subscriber: erusan.Jul 4 2017, 5:38 AM

Is there a workaround for this?

I have a large project that is basically complete, but I cannot load the project to complete and render it without running into this bug. The entire interface freezes upon loading.

aleb added a comment.Jul 4 2017, 9:25 AM

Oops, I was waiting for a review on D1550 but the ball is on my side.

aleb moved this task from Needs review to In progress on the Pitivi (0.99) board.Jul 7 2017, 10:58 PM
aleb added a comment.Jul 7 2017, 11:03 PM

The test in https://github.com/aleb/pitivi/commit/90d5a108a2f0e4f313d4c534bee7464eecf2e196 does not fail anymore, so it's good to push I think, once D1550 is green @thiblahute

aleb claimed this task.Jul 8 2017, 7:12 PM
aleb moved this task from In progress to Done on the Pitivi (0.99) board.Jul 8 2017, 7:12 PM

Has this been pushed to the flatpak builds? I am running the updated flatpak but still encountering this error.

aleb added a comment.Aug 1 2017, 10:28 PM

The mechanism has been updated, but the error can still appear when the background operation takes too much time.
Could you update Pitivi master with flatpak --user update org.pitivi.Pitivi and run flatpak run org.pitivi.Pitivi//master and if you still get it, file a bug?

erusan added a comment.Aug 2 2017, 1:58 AM

I do indeed still get the error. Bug filed here: https://phabricator.freedesktop.org/T7805

GitLab Migration Automatic Message

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/pitivi/issues/1944.