GNOME Bugzilla – Bug 610025
Position query failed in WebKitGTK+'s test media/audio-delete-while-slider-thumb-clicked.html
Last modified: 2010-12-30 14:27:13 UTC
This test also stops passing when upgrading to 0.10.26. I'll upload failing, and passing logs, too. This test makes sure that if you're dragging the position slider when the audio element is deleted, that the grab is not held.
Failed log: http://people.collabora.co.uk/~kov/slider.failing.log.gz Passed log: http://people.collabora.co.uk/~kov/slider.passing.log.gz
Marking as blocker and moving to -base for now so we don't forget about this. Should have a look at this before the release if possible.
Is there some way to reproduce this? Or some way to run this test easily? :)
Gustavo: could you phrase the test failure in GStreamer terms somehow? What is the pipeline being tested exactly? (presumably playbin2?) And what is it that fails or changed behaviour on the GStreamer side exactly?
(In reply to comment #4) > Gustavo: could you phrase the test failure in GStreamer terms somehow? I think Sebatian or Philippe might be able to dive in a bit more, and provide more detail. My understanding of GStreamer is far more limited than theirs. > What is the pipeline being tested exactly? (presumably playbin2?) playbin2 with a custom source (written by Sebastian), and a custom video sink that paints the frames to a cairo surface (written a long time ago by Alp, and Pier-luc, I belive, and poked by me, slomo, and philn) > And what is it that fails or changed behaviour on the GStreamer side exactly? The only information I have myself are the logs I posted. They are taken from my machine, with the new version of GStreamer packages installed for the failing ones, and then with the old versions installed again, for the passing one. Here's how you can run one single test yourselves: first of all clone this git repository: git://gitorious.org/qtwebkit/testfonts.git Then export the WEBKIT_TESTFONTS variable to its full path. Run ./Programs/DumpRenderTree - Then paste the full path to the test file in its stdin (/home/kov/src/WebKit/LayoutTests/media/audio-delete-while-slider-thumb-clicked.html here). The DumpRenderTree path above is from a custom built WebKit, but I think you can likely get away with checking out just that directory off the svn server, and using the DumpRenderTree that is installed by your WebKit package, if your distro ships it (/usr/lib/webkit-1.0-2/libexec/DumpRenderTree in Debian). You'll see something like this: /home/kov/src/WebKit/LayoutTests/media/audio-data-url.html Test that audio element can use a data: url EVENT(loadstart) EVENT(durationchange) EVENT(loadedmetadata) EVENT(loadeddata) EVENT(canplay) EVENT(canplaythrough) EXPECTED (mediaElement.duration.toFixed(2) == '2.94'), OBSERVED 'Infinity' FAIL END OF TEST So in this case (this is audio-data-url.html), the duration was queried and returned an unexpected value, but it seems to be caused by the audio sink being considered not available. Both tests do not seem to be fully reproducible in my machine, but they are 100% not reproducible with the previous version of GST.
Well I can't reproduce the test failure here with current gst git, on 32/64 release/debug builds either with pulse or alsa sinks :( Gustavo, this bug is about media/audio-delete-while-slider-thumb-clicked.html, not about data-url ;)
(In reply to comment #6) > Well I can't reproduce the test failure here with current gst git, on 32/64 > release/debug builds either with pulse or alsa sinks :( > > Gustavo, this bug is about media/audio-delete-while-slider-thumb-clicked.html, > not about data-url ;) I know, but the test used to explain running one test doesn't matter, does it?
Still no idea what the actual problem is in GStreamer terms, and Phil can't reproduce it locally, and no one seems to be working on this, so un-marking as blocker.
Just run this command, here's the output: thiagoss@karmic32:~$ /usr/lib/webkit-1.0-2/libexec/DumpRenderTree - ** (DumpRenderTree:4646): DEBUG: NP_Initialize ** (DumpRenderTree:4646): DEBUG: NP_Initialize succeeded ** (DumpRenderTree:4646): DEBUG: NP_Initialize ** (DumpRenderTree:4646): DEBUG: NP_Initialize succeeded ** (DumpRenderTree:4646): DEBUG: NP_Initialize ** (DumpRenderTree:4646): DEBUG: NP_Initialize succeeded ** (DumpRenderTree:4646): DEBUG: NP_Initialize ** (DumpRenderTree:4646): DEBUG: NP_Initialize succeeded /home/thiagoss/devel/WebKit/LayoutTests/media/audio-data-url.html Test that audio element can use a data: url EVENT(loadstart) EVENT(durationchange) EVENT(loadedmetadata) EVENT(loadeddata) EVENT(canplay) EVENT(canplaythrough) EXPECTED (mediaElement.duration.toFixed(2) == '2.94') OK END OF TEST #EOF #EOF #EOF I guess it didn't fail for me.
heh, apparently I used the wrong file :P Here is the correct one. I guess this one fails. thiagoss@karmic32:~/gst/head$ /usr/lib/webkit-1.0-2/libexec/DumpRenderTree - ** (DumpRenderTree:15065): DEBUG: NP_Initialize ** (DumpRenderTree:15065): DEBUG: NP_Initialize succeeded ** (DumpRenderTree:15065): DEBUG: NP_Initialize ** (DumpRenderTree:15065): DEBUG: NP_Initialize succeeded ** (DumpRenderTree:15065): DEBUG: NP_Initialize ** (DumpRenderTree:15065): DEBUG: NP_Initialize succeeded ** (DumpRenderTree:15065): DEBUG: NP_Initialize ** (DumpRenderTree:15065): DEBUG: NP_Initialize succeeded /home/thiagoss/devel/WebKit/LayoutTests/media/audio-delete-while-slider-thumb-clicked.html FAIL: Timed out waiting for notifyDone to be called FAIL: Timed out waiting for notifyDone to be called This tests that events don't continue to target a slider thumb if the media element is deleted while scrubbing. #EOF #EOF #EOF
(In reply to comment #9) > EXPECTED (mediaElement.duration.toFixed(2) == '2.94') OK > END OF TEST This one seems to be racy, it works for me, from time to time, too, but it failed consistently on the bot.
Bisecting gst-plugins-base, this seems to be the commit that causes this problem: commit af34d2c1f8c70c9e02d0621a5b72003164fba759 Author: Sebastian Dröge <sebastian.droege@collabora.co.uk> Date: Wed Nov 18 09:22:39 2009 +0100 playbin2: Don't handle DURATION queries during group switches During a group switch return the cached duration of the old group because the old group still didn't finish playback. If we have no cached duration return FALSE. Fixes bug #585969. I was going to also try reverting it on top of master to see if the problem would go away there, but I got a bunch of conflicts, and gave up.
Reopening as I think the requested information has been provided.
I just unskipped the test on the WebKitGTK buildslaves that have latest GStreamer release. No failure so far, can this bug be closed?
Probably, please reopen otherwise.