← Back to team overview

desktop-packages team mailing list archive

[Bug 1466273] Re: gstreamer fails intermittently

 

One other important piece of data...

While I was tinkering with this, I had a test failure on Jenkins in the
Arm build. I was watching the console log at the time and noticed that
compilation was unusually slow. Presumably, the build machine was loaded
more than usual. Then I got the following test failure. Please read
through all of what is below, BECAUSE IT'S IMPORTANT!

1: [ RUN      ] ThumbnailerTest.slow_vs_thumb
1: thumbnailer-service: [04:03:09.103] Critical: The schema com.canonical.Unity.Thumbnailer is missing
1: thumbnailer-service: [04:03:09.103] Critical: The schema com.canonical.Unity.Thumbnailer is missing
1: thumbnailer-service: [04:03:19.886] timeout, state = 2
1: thumbnailer-service: [04:03:19.886] killing process 11654
1: thumbnailer-service: [04:03:19.886] calling waitpid for process 11654
1: thumbnailer-service: [04:03:19.887] waitpid for process 11654 returned 11654
1: /tmp/buildd/thumbnailer-1.4bzr237pkg0wily144/tests/slow-vs-thumb/slow-vs-thumb_test.cpp:41: Failure
1: Value of: spy.wait(15000)
1:   Actual: false
1: Expected: true
1: thumbnailer-service: [04:03:23.882] Warning: QProcess: Destroyed while process ("/tmp/buildd/thumbnailer-1.4bzr237pkg0wily144/tests/slow-vs-thumb/slow/vs-thumb") is still running.
1: [  FAILED  ] ThumbnailerTest.slow_vs_thumb (44810 ms)
1: [----------] 1 test from ThumbnailerTest (44810 ms total)

Note the time stamps: This time, waitpid returned straight away.
However, the test did not finish for another 30 seconds. Reason: The
QProcess destructor also waits for completion of the child, with a
30-second timeout. The QProcess destructor thinks the process is still
running and doesn't get notification of the child death either and,
after 30 seconds, times out.

However, THERE IS NO GSTREAMER AT ALL IN THIS TEST!

The test uses a fake vs-thumb. Instead, vs-thumb is a shell script: exec
/bin/sleep 10

We are using the fake vs-thumb just so we can test that our timeout code
works as intended.

This suggests that the SIGKILL problem is not caused by gstreamer per
se, but might be load related. Possibly, we are seeing this because all
the vs-thumb processes are putting heavy CPU load on the system,
possibly interfering with signal delivery somehow?

I've attached the build log. You can find the slow_vs_thumb test in test
/slow-vs-thumb. (It's currently disabled. Use revision 237 to get the
enabled test.)

** Attachment added: "build_log.tar"
   https://bugs.launchpad.net/ubuntu/+source/gstreamer1.0/+bug/1466273/+attachment/4420244/+files/build_log.tar

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to gstreamer1.0 in Ubuntu.
https://bugs.launchpad.net/bugs/1466273

Title:
  gstreamer fails intermittently

Status in Thumbnail generator for all kinds of files:
  New
Status in gstreamer package in Ubuntu:
  New
Status in gstreamer1.0 package in Ubuntu:
  New

Bug description:
  gstreamer occasionally fails to extract a thumbnail from a video file.
  It's clearly a race condition because, almost all of the time, it
  succeeds. To reproduce:

  Check out the thumbnailer/devel branch at r217 and build it. Then:

  cd build/src/vs-thumb

  ./vs-thumb fd://0 ./x.jpg <../../../tests/media/testvideo.ogg

  Point a browser at the generated x.jpg file and check that the image
  was extracted correctly.

  Now run

  while ./vs-thumb fd://0 ./x.jpg <../../../tests/media/testvideo.ogg ;
  do :; done

  Within maybe a hundred iterations or so, I get:

  Error creating thumbnail: ThumbnailExtractor: change_state(): reading
  async messages: GStreamer error: negotiation problem.

To manage notifications about this bug go to:
https://bugs.launchpad.net/thumbnailer/+bug/1466273/+subscriptions