Crash attempting to play webm using intel HW decoder

VERIFIED FIXED in Firefox 48

Status

()

Core
Audio/Video: Playback
VERIFIED FIXED
2 years ago
a year ago

People

(Reporter: jya, Unassigned)

Tracking

unspecified
mozilla48
x86
Windows 10
Points:
---

Firefox Tracking Flags

(firefox48 verified)

Details

MozReview Requests

()

Submitter Diff Changes Open Issues Last Updated
Loading...
Error loading review requests:

Attachments

(1 attachment)

(Reporter)

Description

2 years ago
This is a regression as it used to play

Set media.webm.intel_decoder.enabled to true/

open:
http://people.mozilla.org/~ajones/frame-drop-test/bbb-11.webm


Exception thrown at 0x6C53811F (d3d11.dll) in firefox.exe: 0xC0000005: Access violation writing location 0x00000003.

 	d3d11.dll!CDevice::CreateTexture1D_Worker(struct D3D11_TEXTURE1D_DESC const *,enum D3D11_TEXTURE_LAYOUT,struct D3D11_SUBRESOURCE_DATA const *,struct ID3D11Texture1D * *,struct SD3D11SharedResourceCreationArgs *,bool,bool)	Unknown
 	d3d11.dll!CDevice::CreateTexture1D(struct D3D11_TEXTURE1D_DESC const *,struct D3D11_SUBRESOURCE_DATA const *,struct ID3D11Texture1D * *)	Unknown
 	libmfxhw32.dll!5ae68eb8()	Unknown
 	[Frames below may be incorrect and/or missing, no symbols loaded for libmfxhw32.dll]	
 	libmfxhw32.dll!5ae5f1cd()	Unknown
 	mfx_mft_vp9vd_32.dll!67ce4841()	Unknown
 	mfx_mft_vp9vd_32.dll!67d002b2()	Unknown
 	mfx_mft_vp9vd_32.dll!67ce2ca6()	Unknown
 	mfx_mft_vp9vd_32.dll!67cc2bfa()	Unknown
>	xul.dll!mozilla::MFTDecoder::SendMFTMessage(_MFT_MESSAGE_TYPE aMsg, unsigned long aData) Line 118	C++
 	xul.dll!mozilla::WMFVideoMFTManager::InitInternal(bool aForceD3D9) Line 267	C++
 	xul.dll!mozilla::WMFVideoMFTManager::Init() Line 218	C++
 	xul.dll!mozilla::WMFDecoderModule::CreateVideoDecoder(const mozilla::VideoInfo & aConfig, mozilla::layers::LayersBackend aLayersBackend, mozilla::layers::ImageContainer * aImageContainer, mozilla::FlushableTaskQueue * aVideoTaskQueue, mozilla::MediaDataDecoderCallback * aCallback) Line 113	C++
 	xul.dll!mozilla::PDMFactory::CreateDecoderWithPDM(mozilla::PlatformDecoderModule * aPDM, const mozilla::TrackInfo & aConfig, mozilla::FlushableTaskQueue * aTaskQueue, mozilla::MediaDataDecoderCallback * aCallback, mozilla::layers::LayersBackend aLayersBackend, mozilla::layers::ImageContainer * aImageContainer) Line 228	C++
 	xul.dll!mozilla::PDMFactory::CreateDecoder(const mozilla::TrackInfo & aConfig, mozilla::FlushableTaskQueue * aTaskQueue, mozilla::MediaDataDecoderCallback * aCallback, mozilla::layers::LayersBackend aLayersBackend, mozilla::layers::ImageContainer * aImageContainer) Line 166	C++
 	xul.dll!mozilla::MediaFormatReader::EnsureDecoderCreated(mozilla::TrackInfo::TrackType aTrack) Line 402	C++
 	xul.dll!mozilla::MediaFormatReader::HandleDemuxedSamples(mozilla::TrackInfo::TrackType aTrack, mozilla::AbstractMediaDecoder::AutoNotifyDecoded & aA) Line 874	C++
 	xul.dll!mozilla::MediaFormatReader::Update(mozilla::TrackInfo::TrackType aTrack) Line 1154	C++
 	xul.dll!nsRunnableMethodImpl<void (__thiscall mozilla::AbstractCanonical<__int64>::*)(mozilla::AbstractMirror<__int64> *),1,StorensRefPtrPassByPtr<mozilla::AbstractMirror<__int64> > >::Run() Line 706	C++
 	xul.dll!mozilla::AutoTaskDispatcher::TaskGroupRunnable::Run() Line 195	C++
 	xul.dll!mozilla::TaskQueue::Runner::Run() Line 172	C++
 	xul.dll!nsThreadPool::Run() Line 230	C++
 	xul.dll!nsThread::ProcessNextEvent(bool aMayWait, bool * aResult) Line 994	C++
 	xul.dll!NS_ProcessNextEvent(nsIThread * aThread, bool aMayWait) Line 297	C++
 	xul.dll!mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate * aDelegate) Line 369	C++
 	xul.dll!MessageLoop::RunHandler() Line 224	C++
 	xul.dll!MessageLoop::Run() Line 204	C++
 	xul.dll!nsThread::ThreadFunc(void * aArg) Line 398	C++
 	nss3.dll!_PR_NativeRunThread(void * arg) Line 419	C
 	nss3.dll!pr_root(void * arg) Line 95	C
 	[External Code]	

system will recover however if you ignore it.
(Reporter)

Updated

2 years ago
OS: Unspecified → Windows 10
Hardware: Unspecified → x86
(Reporter)

Comment 1

2 years ago
Forcing initialisation via D3D9 avoid the issue.

The Intel hardware VP8 decoder also doesn't work when using D3D11, initialisation of DXVA2 manager always fail when the GUID is set to VP8
Flags: needinfo?(matt.woodrow)
(Reporter)

Comment 2

2 years ago
For some reason, MFT_MESSAGE_SET_D3D_MANAGER can't be set on D3D1 dxva manager.

I tried to look for the DXVA2_ModeVP9_VLD_Profile0, 0x463707f8, 0xa1d0,0x4585,0x87,0x6d,0x83,0xaa,0x6d,0x60,0xb8,0x9e); as they do in FFmpeg, but MFT_MESSAGE_SET_D3D_MANAGER still fail when attempting to use with a VP8 MFT Decoder.

So until then, just force d3D9 for now
(Reporter)

Comment 3

2 years ago
Created attachment 8741831 [details]
MozReview Request: Bug 1264925: Force D3D9 when attempting to decode VP8 or VP9. r?mattwoodrow

Review commit: https://reviewboard.mozilla.org/r/46789/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/46789/
Attachment #8741831 - Flags: review?(matt.woodrow)
Comment on attachment 8741831 [details]
MozReview Request: Bug 1264925: Force D3D9 when attempting to decode VP8 or VP9. r?mattwoodrow

https://reviewboard.mozilla.org/r/46789/#review43433
Attachment #8741831 - Flags: review?(matt.woodrow) → review+
Flags: needinfo?(matt.woodrow)
(Reporter)

Comment 5

2 years ago
this landed 3 days ago:
https://hg.mozilla.org/integration/mozilla-inbound/rev/55fd1f69a9fdafe14b79add4ba135ecbc4737b59

Comment 6

2 years ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/55fd1f69a9fd
Status: NEW → RESOLVED
Last Resolved: 2 years ago
status-firefox48: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla48
Flags: qe-verify+
VERIFIED as FIXED in Firefox Beta 48.0b2 build2 (20160620091522) on Windows 10 x86.
Status: RESOLVED → VERIFIED
status-firefox48: fixed → verified
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.