Startup crash with old DisplayLink drivers in @0x0 | CContext::ID3D11DeviceContext1_SetSamplers_<int, 5>(ID3D11DeviceContext1*, unsigned int, unsigned int, ID3D11SamplerState* const*)

RESOLVED FIXED in Firefox 39

Status

()

Core
Graphics
--
critical
RESOLVED FIXED
3 years ago
3 years ago

People

(Reporter: dmajor, Assigned: jrmuizel)

Tracking

({crash, topcrash-win})

39 Branch
mozilla41
x86
Windows NT
crash, topcrash-win
Points:
---

Firefox Tracking Flags

(firefox38.0.5 wontfix, firefox39+ fixed, firefox40 fixed, firefox41 fixed)

Details

(crash signature)

Attachments

(1 attachment, 3 obsolete attachments)

(Reporter)

Description

3 years ago
+++ This bug was initially created as a clone of Bug #1026893 +++

(In reply to Tyler Downer [:Tyler] from bug 1026893 comment #33)
> [Tracking Requested - why for this release]:
> 
> Have a user reporting that this has resurfaced in 38 Beta
> 
> https://crash-stats.mozilla.com/report/index/0c9cf2f3-98f0-4b68-83fb-
> 73a7e2150429
> 
> https://support.mozilla.org/en-US/questions/1059732

(In reply to philipp from bug 1026893 comment #39)
> next to the sumo question in tyler's comment 33, we also got feedback on irc
> by an affected user that updating the displaylink drivers on the system did
> solve this crash. 
> (reportedly safemode/disabling hwa didn't help, neither did an update to
> firefox 39 beta)

Comment 1

3 years ago
in case it's of help - the crash report by the second referenced user was https://crash-stats.mozilla.com/report/index/757b001b-98a0-4418-9eec-a48922150603
(Reporter)

Comment 2

3 years ago
[Tracking Requested - why for this release]: Based on the flag from the clone's parent bug
status-firefox38.0.5: --- → wontfix
status-firefox39: --- → affected
tracking-firefox39: --- → ?
(Reporter)

Comment 3

3 years ago
Bug 1026893 added a try/except bandaid to the d3d11CreateDevice call in gfxWindowsPlatform::GetD3D11Device. 

According to the crash reports in comment 0 and comment 1, we can also get a d3d11CreateDevice call from libGLES. Should we add the same bandaid?

Note that this only happens with old DisplayLink drivers, so alternatively maybe we could block something based on that.
Flags: needinfo?(jmuizelaar)
Sounds like this would be good to add to the blocklist if we can figure out the specific drivers causing it. 

Is this crash still happening in 39 at a high volume?
tracking-firefox39: ? → +
I just double checked and the second signature listed has around 250 crashes for 39.0b1.
According to https://bugzilla.mozilla.org/show_bug.cgi?id=1026893#c39, some of these crashes were happening in the safemode as well - are those gone, or is there one of those we can tag here?
So, we had the bug 1149864 that made sure we don't create any devices while in the safemode, but haven't done it for WebGL as a few have pointed out.  Should be a quick enough fix.
Assignee: nobody → jmuizelaar
(Reporter)

Comment 8

3 years ago
That sounds like something we should definitely have as a backup, but can we do anything for the non-safemode crashes? I'm wondering if it's as simple as adding another __try/__except.

Comment 9

3 years ago
(In reply to Milan Sreckovic [:milan] from comment #6)
> According to https://bugzilla.mozilla.org/show_bug.cgi?id=1026893#c39, some
> of these crashes were happening in the safemode as well - are those gone, or
> is there one of those we can tag here?

no, i only got that as feedback in writing from the user without an associated id: https://scrollback.io/sumo/all/all-messages?t=1433335959158

searching for the characteristics of that one machine in crash-stats leaves me to believe that the signature of this crash changed to https://crash-stats.mozilla.com/report/list?product=Firefox&signature=%400x0+|+dlumd64.dll%400x23758 once the user tried to run firefox 39 beta though...

Updated

3 years ago
Crash Signature: [@ @0x0 | CContext::ID3D11DeviceContext1_SetSamplers_<int, 5>(ID3D11DeviceContext1*, unsigned int, unsigned int, ID3D11SamplerState* const*)] [@ @0x0 | CContext::ID3D11DeviceContext1_SetSamplers_<int, 1>(ID3D11DeviceContext1*, unsigned int, unsign&hellip; → [@ @0x0 | CContext::ID3D11DeviceContext1_SetSamplers_<int, 5>(ID3D11DeviceContext1*, unsigned int, unsigned int, ID3D11SamplerState* const*)] [@ @0x0 | CContext::ID3D11DeviceContext1_SetSamplers_<int, 1>(ID3D11DeviceContext1*, unsigned int, unsign&hellip;
(Assignee)

Comment 10

3 years ago
Created attachment 8615628 [details] [diff] [review]
Quick and dirty patch

This is a patch for all the trees. I plan on doing a more thorough rearrange of things to make more sane tomorrow.
Flags: needinfo?(jmuizelaar)
Attachment #8615628 - Flags: review?(bas)
Attachment #8615628 - Flags: review?(bas) → review+
(In reply to David Major [:dmajor] from comment #8)
> That sounds like something we should definitely have as a backup, but can we
> do anything for the non-safemode crashes? I'm wondering if it's as simple as
> adding another __try/__except.

Yes, Jeff's patch on this bug, or something similar, is Windows only and something we'd want as a first aid and simple enough to uplift.  The safe mode patch is bug 1171682, we can have a separate discussion whether we uplift that or not, as it would be multiplatform.
Created attachment 8616219 [details] [diff] [review]
Disallow D3D11 ANGLE with old DisplayLink drivers.  Carry r=bas

Jeff's patch, just updated patch comments.
Attachment #8615628 - Attachment is obsolete: true
Attachment #8616219 - Flags: review+
Comment on attachment 8616219 [details] [diff] [review]
Disallow D3D11 ANGLE with old DisplayLink drivers.  Carry r=bas

Actually, this shouldn't compile.
Attachment #8616219 - Flags: review+ → review-
Created attachment 8616241 [details] [diff] [review]
Disallow D3D11 ANGLE with old DisplayLink drivers. Carry r=bas

Ugly, but appropriate for uplift.
Attachment #8616219 - Attachment is obsolete: true
Attachment #8616241 - Flags: review+

Comment 15

3 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/56e2e974eae2
Milan or Jeff - If you can request uplift once this looks ok on m-c, we can get it into the Beta 4 build  Monday morning.
Flags: needinfo?(milan)
Flags: needinfo?(jmuizelaar)
(Assignee)

Comment 17

3 years ago
Created attachment 8616518 [details] [diff] [review]
Disallow D3D11 ANGLE with old DisplayLink drivers

Approval Request Comment
[Feature/regressing bug #]: D3D11 ANGLE
[User impact if declined]: crashes on WebGL content for people with old DisplayLink drivers
[Describe test coverage new/current, TreeHerder]: Not really tested. I don't think we have the hardware to reproduce this.
[Risks and why]: Should be pretty low risk because it's disabling stuff.
Attachment #8616241 - Attachment is obsolete: true
Flags: needinfo?(jmuizelaar)
Attachment #8616518 - Flags: review+
Attachment #8616518 - Flags: approval-mozilla-beta?
Attachment #8616518 - Flags: approval-mozilla-aurora?
status-firefox40: --- → affected
status-firefox41: --- → affected
https://hg.mozilla.org/mozilla-central/rev/56e2e974eae2
Status: NEW → RESOLVED
Last Resolved: 3 years ago
status-firefox41: affected → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla41
Comment on attachment 8616518 [details] [diff] [review]
Disallow D3D11 ANGLE with old DisplayLink drivers

Approved for uplift to aurora and beta.
Attachment #8616518 - Flags: approval-mozilla-beta?
Attachment #8616518 - Flags: approval-mozilla-beta+
Attachment #8616518 - Flags: approval-mozilla-aurora?
Attachment #8616518 - Flags: approval-mozilla-aurora+
https://hg.mozilla.org/releases/mozilla-aurora/rev/e566a3e330a7
status-firefox40: affected → fixed
https://hg.mozilla.org/releases/mozilla-beta/rev/da14f82d9caf
status-firefox39: affected → fixed
Flags: needinfo?(milan)
You need to log in before you can comment on or make changes to this bug.