Closed Bug 596947 Opened 14 years ago Closed 14 years ago

intermittent failure in test_timeupdate_seek.html | [SimpleTest/SimpleTest.js, window.onerror] An error occurred - uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMHTMLVideoElement.currentTime]"

Categories

(Core :: Audio/Video, defect)

x86
Linux
defect
Not set
normal

Tracking

()

VERIFIED FIXED

People

(Reporter: jfkthame, Unassigned)

References

Details

(Keywords: intermittent-failure)

This failed on mozilla-central tinderbox, but another run on the same changeset passed, so it's apparently intermittent. http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1284633239.1284634078.2686.gz s: talos-r3-fed-046 55692 ERROR TEST-UNEXPECTED-FAIL | /tests/content/media/test/test_timeupdate_seek.html | [SimpleTest/SimpleTest.js, window.onerror] An error occurred - uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMHTMLVideoElement.currentTime]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: http://mochi.test:8888/tests/content/media/test/test_timeupdate_seek.html :: do_loadedmetadata :: line 27" data: no] at :0
Summary: intermittent failure in test_timeupdate_seek.html → intermittent failure in test_timeupdate_seek.html | [SimpleTest/SimpleTest.js, window.onerror] An error occurred - uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMHTMLVideoElement.currentTime]"
Blocks: 438871
This is only failing when test_timeupdate_seek is running on 320x240.ogv. nsHTMLMediaElement::SetCurrentTime() is returning NS_ERROR_FAILURE. This can only happen when we're setting the current time to NaN or a value < 0.0, or if we fail to create the state machine thread. The only way we could set the current time to NaN is if the duration was NaN. We return NaN for duration if we've not got the duration yet. I can't imagine how we'd be able to have fired loadedmetadata (the error happens in its handler) without having a duration. I'll land some debug logging to detect this case however. I can image how we'd fail to create the state machine thread though. If we run out of virtual address space because we've allocated so many threads, we could fail to allocate the state machine thread. It's a bit of a stretch though; I'd expect this test to fail more/most often on Linux x86, and on other files if this were the case. We can prevent running out of virtual address space by setting the src attribute of every media element to "" when we finish each test. This will force the destruction of every decoder and its threads. Previously I'd thought forcing a GC after every test case would help, but that doesn't seem to be enough when I run the tests in a tight loop. This would be good house keeping, and would make me feel safer about increasing the parallelism of our tests.
(In reply to comment #11) > Added debug logging to test_timeupdate_seek: > http://hg.mozilla.org/mozilla-central/rev/099c4f5af5a9 Does comment 12 help you?
(In reply to comment #13) > (In reply to comment #11) > > Added debug logging to test_timeupdate_seek: > > http://hg.mozilla.org/mozilla-central/rev/099c4f5af5a9 > > Does comment 12 help you? Yes, thanks very much for reporting that Natch. The log Natch reported indicates that we're seeing that loadedmetadata is firing when the duration is NaN.
I removed this test in bug 611994, and moved its test functionality into test_seek. If this type of failure shows up again, please file a new bug.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Status: RESOLVED → VERIFIED
Whiteboard: [orange]
You need to log in before you can comment on or make changes to this bug.