Closed Bug 1176672 Opened 10 years ago Closed 9 years ago

Crash when trying to watch a VP9 video on Windows XP SP3 and Intel Haswell as libvpx attempts to execute an AVX2 instruction

Categories

(Core :: Audio/Video: Playback, defect, P1)

38 Branch
x86
Windows XP
defect

Tracking

()

RESOLVED FIXED
Tracking Status
firefox42 --- affected
firefox43 --- affected
firefox44 --- affected
firefox45 --- affected
firefox46 --- affected

People

(Reporter: victor1950, Unassigned)

References

Details

(Keywords: crash)

Crash Data

User Agent: Mozilla/5.0 (Windows NT 5.1; rv:38.0) Gecko/20100101 Firefox/38.0 Build ID: 20150525141253 Steps to reproduce: Open this link in Firefox 38.x on Windows XP SP3 AND Intel Haswell CPU: http://base-n.de/webm/VP9%20Sample.html It does not matter if Firefox runs in "safe mode" or not. Actual results: Instant EXCEPTION_ILLEGAL_INSTRUCTION crash such as this: https://crash-stats.mozilla.com/report/index/5e1ec086-ec17-47dd-bda4-9df582150622 because libvpx attempted to execute an AVX2 instruction. AVX and AVX2 instructions are not supported on Windows XP SP3. Expected results: The video should have started to play.
OS: Unspecified → Windows XP
Hardware: Unspecified → x86
Severity: normal → major
Crash Signature: https://crash-stats.mozilla.com/report/list?signature=vp9_lpf_horizontal_16_avx2
Keywords: crash
Crash Signature: https://crash-stats.mozilla.com/report/list?signature=vp9_lpf_horizontal_16_avx2 → vp9_lpf_horizontal_16_avx2
Crash Signature: vp9_lpf_horizontal_16_avx2 → [@ vp9_lpf_horizontal_16_avx2 ]
Component: Untriaged → Video/Audio
Product: Firefox → Core
Component: Audio/Video → Audio/Video: Playback
How can a CPU instructions not be supported by an OS? More likely, the address isn't 64-bytes aligned which would indicate a memory allocation issue.
Blocks: 1101885
No longer blocks: 1213498
Blocks: 1225217
It took libvpx in chromium quite a few iterations to get the avx2 cpu detection code correct: https://code.google.com/p/chromium/issues/detail?id=480586 IIRC the final determination was that on WinXP the hardware might return support for AVX2 despite the OS not handling it. The relevant change I believe was: https://chromium.googlesource.com/webm/libvpx/+/abff8b24b935f134fd6c09a659dcb2c3fd6a1051 with additional changes in the log for that file: https://chromium.googlesource.com/webm/libvpx/+log/master/vpx_ports/x86.h
Ralph - is there something to fix here?
Flags: needinfo?(giles)
The change from comment #3 was merged in our update to libvpx e67d45d4ce92 in bug 1178215. This should be fixed in Firefox 40 and later. Sorry for the hassle, and please re-open if it happens with a more recent release.
Status: UNCONFIRMED → RESOLVED
Closed: 9 years ago
Flags: needinfo?(giles)
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.