Intermittent test_seek.html | Exited with code 1 during test run from "Assertion failure: !aOther.IsNull() && "Cannot compute with aOther null value", at ../../dist/include/mozilla/TimeStamp.h:220"

RESOLVED FIXED in Firefox -esr10

Status

()

Core
Audio/Video
RESOLVED FIXED
6 years ago
5 years ago

People

(Reporter: philor, Assigned: kinetik)

Tracking

({assertion, intermittent-failure})

Trunk
mozilla13
x86_64
Linux
assertion, intermittent-failure
Points:
---

Firefox Tracking Flags

(firefox-esr10 fixed)

Details

(Whiteboard: [test which aborts the suite])

Attachments

(1 attachment, 1 obsolete attachment)

(Reporter)

Description

6 years ago
https://tbpl.mozilla.org/php/getParsedLog.php?id=6734173&tree=Mozilla-Inbound
Rev3 Fedora 12x64 mozilla-inbound debug test mochitests-1/5 on 2011-10-07 14:57:14 PDT for push e27c6941c340

78703 INFO TEST-PASS | /tests/content/media/test/test_seek.html | bug516323.indexed.ogv seek test 1: seeking should be readonly - true should equal true
Assertion failure: !aOther.IsNull() && "Cannot compute with aOther null value", at ../../dist/include/mozilla/TimeStamp.h:220
WARNING: shutting down early because of crash!: file /builds/slave/m-in-lnx64-dbg/build/dom/plugins/ipc/PluginModuleChild.cpp, line 741
WARNING: plugin process _exit()ing: file /builds/slave/m-in-lnx64-dbg/build/dom/plugins/ipc/PluginModuleChild.cpp, line 706
TEST-UNEXPECTED-FAIL | /tests/content/media/test/test_seek.html | Exited with code 1 during test run
INFO | automation.py | Application ran for: 0:23:58.515881
INFO | automation.py | Reading PID log: /tmp/tmppdwfPzpidlog
==> process 2240 launched child process 2267
INFO | automation.py | Checking for orphan process with PID: 2267
PROCESS-CRASH | /tests/content/media/test/test_seek.html | application crashed (minidump found)
Crash dump filename: /tmp/tmpMSP1p0/minidumps/7824ab02-640a-c820-716f7c67-3bd92165.dmp
Operating system: Linux
                  0.0.0 Linux 2.6.31.5-127.fc12.x86_64 #1 SMP Sat Nov 7 21:11:14 EST 2009 x86_64
CPU: amd64
     family 6 model 23 stepping 10
     2 CPUs

Crash reason:  SIGABRT
Crash address: 0x1f4000008c0

Thread 18 (crashed)
 0  libpthread-2.11.so + 0xee6b
    rbx = 0x000000dc   r12 = 0x00000000   r13 = 0xf1a1b068   r14 = 0x00000000
    r15 = 0x00000003   rip = 0xd360ee6b   rsp = 0xd6e22a38   rbp = 0xd6e22a40
    Found by: given as instruction pointer in context
 1  libxul.so!CrashInJS [jsutil.cpp:e27c6941c340 : 95 + 0x9]
    rip = 0xf28b5932   rsp = 0xd6e22a40
    Found by: stack scanning
 2  libxul.so!JS_Assert [jsutil.cpp:e27c6941c340 : 103 + 0x4]
    rip = 0xf28b598b   rsp = 0xd6e22a50
    Found by: stack scanning
 3  libxul.so!mozilla::TimeStamp::operator- [TimeStamp.h : 220 + 0x27]
    rip = 0xf0a467f0   rsp = 0xd6e22a90
    Found by: stack scanning
 4  libxul.so!nsBuiltinDecoderStateMachine::AdvanceFrame [nsBuiltinDecoderStateMachine.cpp:e27c6941c340 : 1747 + 0x22]
    rip = 0xf17da2c8   rsp = 0xd6e22ac0
    Found by: stack scanning
 5  libxul.so!nsRunnable::Release [nsThreadUtils.cpp:e27c6941c340 : 55 + 0x68]
    rip = 0xf2206d1d   rsp = 0xd6e22af0
    Found by: stack scanning
 6  libxul.so!nsCOMPtr<nsIRunnable>::~nsCOMPtr [nsCOMPtr.h : 556 + 0x1c]
    rip = 0xf0a457de   rsp = 0xd6e22b20
    Found by: stack scanning
 7  libxul.so!nsBuiltinDecoderStateMachine::StartDecodeThread [nsBuiltinDecoderStateMachine.cpp:e27c6941c340 : 1094 + 0xb]
    rip = 0xf17d750a   rsp = 0xd6e22b40
    Found by: stack scanning
 8  libxul.so!nsBuiltinDecoderStateMachine::GetDecodedAudioDuration [nsBuiltinDecoderStateMachine.cpp:e27c6941c340 : 288 + 0x6]
    rip = 0xf17d43d2   rsp = 0xd6e22b78
    Found by: stack scanning
...
(Reporter)

Updated

6 years ago
OS: Mac OS X → Linux
Hardware: x86 → x86_64
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
(Assignee)

Updated

6 years ago
Whiteboard: [orange][test which aborts the suite] → [orange][test which aborts the suite][fixed by 623444?]
(Assignee)

Comment 10

6 years ago
Oops, not this one.
Whiteboard: [orange][test which aborts the suite][fixed by 623444?] → [orange][test which aborts the suite]
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
(Assignee)

Comment 73

6 years ago
I can't reproduce this locally, but from code inspection it appears that the problem is that DecodeSeek runs on the decode thread at the time AdvanceFrame drops the decoder monitor to call RenderVideoFrame.  DecodeSeek calls StopPlayback, which nulls mPlayStartTime.  Inside the currentFrame conditional, mPlayStartTime must have been valid (before dropping the monitor) to calculate presTime, but has become null by the time the now calculation is reached.
(Assignee)

Updated

6 years ago
Assignee: nobody → kinetik
Status: NEW → ASSIGNED
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
(Assignee)

Comment 76

6 years ago
Created attachment 602787 [details] [diff] [review]
patch v0

This is actually easy to reproduce locally by adding a short sleep inside the RenderVideoFrame block (where the decoder lock is dropped) in AdvanceFrame.

The attached patch causes AdvanceFrame to bails early if the state machine is no longer playing, as the current frame is likely out of date due to a seek having completed on the decode thread.

The attached fix also removes the fix added in bug 673698, as I think this fix makes that one redundant.

Tests pass locally and on try with and without the debugging sleep.
Attachment #602787 - Flags: review?(cpearce)
Attachment #602787 - Flags: review?(cpearce) → review+
(Assignee)

Comment 77

6 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/8706180542ed
Target Milestone: --- → mozilla13
(Assignee)

Comment 78

6 years ago
(In reply to Matthew Gregan [:kinetik] from comment #76)
> The attached fix also removes the fix added in bug 673698, as I think this
> fix makes that one redundant.

Turns out I was wrong, so I backed out that part of the patch:

http://hg.mozilla.org/integration/mozilla-inbound/rev/87ad615157d4
https://hg.mozilla.org/mozilla-central/rev/8706180542ed
Status: ASSIGNED → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
https://hg.mozilla.org/mozilla-central/rev/87ad615157d4
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
kinetik, would this be safe enough to uplift to esr10?
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Created attachment 654991 [details] [diff] [review]
Patch+followup folded

[Approval Request Comment]
If this is not a sec:{high,crit} bug, please state case for ESR consideration: Reducing orange.
User impact if declined: No idea
Fix Landed on Version: mozilla13
Risk to taking this patch (and alternatives if risky): Low
String or UUID changes made by this patch: None

See https://wiki.mozilla.org/Release_Management/ESR_Landing_Process for more info.
Attachment #654991 - Flags: approval-mozilla-esr10?
Comment on attachment 654991 [details] [diff] [review]
Patch+followup folded

We're going to build on ESR10.0.7 today, but this is nptob so go ahead with this at your leisure.
Attachment #654991 - Flags: approval-mozilla-esr10? → approval-mozilla-esr10+

Updated

5 years ago
Attachment #654991 - Attachment is obsolete: true
https://hg.mozilla.org/releases/mozilla-esr10/rev/f971b47a5c95
status-firefox-esr10: --- → fixed
Keywords: intermittent-failure
Whiteboard: [orange][test which aborts the suite] → [test which aborts the suite]
You need to log in before you can comment on or make changes to this bug.