Closed Bug 476176 Opened 15 years ago Closed 15 years ago

###!!! ASSERTION: Potential deadlock between media.decoderMonitor@2aaabc33eb40 and Lock@2aaabcf2a300: 'Error', file nsAutoLock.cpp, line 318

Categories

(Core :: Audio/Video, defect, P2)

x86
Linux
defect

Tracking

()

RESOLVED FIXED

People

(Reporter: smaug, Assigned: roc)

Details

(Keywords: fixed1.9.1)

Attachments

(2 files)

I get that assertion few times when running mochitest.
The assertion is something quite new.
Attached file Jesse's stack
I hit this while fuzz-testing or something.
Flags: blocking1.9.1+
Priority: -- → P2
This particular stack will be fixed by my patch in bug 455654. But it seems that across the board we should never be holding both locks at the same time.
With bug 455654, I hit this when a video resumes after a stall in sending data...

http://dolske.net/mozilla/tests/video/slowsend.php?rate=100&stallat=1000000&stallfor=15

This plays for a few seconds, pauses for ~15 seconds, and when it starts getting data again I get a few of these asserts. But it seems to keep working.
Attached patch fixSplinter Review
This fixes at least one set of these assertions. We shouldn't call Available() on the stream while holding the decoder lock; we're actually trying to never hold the stream lock at the same time as the decoder lock. We can avoid calling Available altogether by using mDownloadPosition instead, which is protected by the decoder lock.
Assignee: nobody → roc
Attachment #361235 - Flags: review?(chris.double)
Whiteboard: [needs review]
Attachment #361235 - Flags: review?(chris.double) → review+
Whiteboard: [needs review] → [needs landing]
Pushed http://hg.mozilla.org/mozilla-central/rev/784122b49e33

I'm marking this fixed since we fixed a real bug here. If we hit this assertion again, please file a new bug.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Whiteboard: [needs landing] → [needs 191 landing]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: