Closed Bug 1677388 Opened 5 years ago Closed 5 years ago

Crashes in NitroPDF creator and reader, e.g. in [@ nitropdfdrivercreator11.dll | nitroui11.dll | DocumentPropertySheets]

Categories

(External Software Affecting Firefox :: Other, defect)

All
Windows
defect

Tracking

(firefox-esr78 unaffected, firefox82 wontfix, firefox83 wontfix, firefox84 fixed, firefox85 fixed)

RESOLVED FIXED
Tracking Status
firefox-esr78 --- unaffected
firefox82 --- wontfix
firefox83 --- wontfix
firefox84 --- fixed
firefox85 --- fixed

People

(Reporter: aryx, Assigned: bobowen)

Details

(Keywords: crash)

Crash Data

Attachments

(1 file)

There are various crash signatures from Nitro PDF affecting Nightly and early Beta (no reports for 83.0b7+ or 83.0rcs).

Bob, please triage these. They are often initiated by nsPrinterWin::CopyDefaultDevmodeW and triggered on pages which are PDFs, e.g. http://www.ddepotosi.gob.bo/Convo_Inscripcion_2021.pdf An exception is https://am.jpmorgan.com/ie/en/asset-management/institutional/insights/market-insights/guide-to-the-markets/# but this has a button for calling window.print() - the condition might just be the initiating of the print feature.

Crash report: https://crash-stats.mozilla.org/report/index/3619c8bf-5ab9-4be8-93ab-a2fde0201028

Reason: EXCEPTION_ACCESS_VIOLATION_READ

Top 10 frames of crashing thread:

0 nitropdfdrivercreator11.dll nitropdfdrivercreator11.dll@0x34fd8 
1 nitroui11.dll nitroui11.dll@0x6597 
2 nitroui11.dll nitroui11.dll@0x6636 
3 nitroui11.dll nitroui11.dll@0x6b53 
4 nitroui11.dll nitroui11.dll@0x3149 
5 nitroui11.dll nitroui11.dll@0x42a0 
6 winspool.drv DocumentPropertySheets 
7 winspool.drv long __stdcall DocumentPropertiesWNative 
8 xul.dll nsPrinterWin::CopyDefaultDevmodeW const widget/windows/nsPrinterWin.cpp:66
9 xul.dll nsPrinterWin::DefaultSettings const widget/windows/nsPrinterWin.cpp:84
Flags: needinfo?(bobowencode)

I can reproduce this if I install an old unsupported version of NitroPDF (10 or 11).
It looks like the driver has a threading issue, so when we are using it on multiple background threads to pull back capabilities and settings you get the crash.

I guess this might be an issue with other (perhaps older) drivers as well.

I think I've found a solution to this where we pass in a copy of our cached default devmode to the DeviceCapabilitiesW calls.

Assignee: nobody → bobowencode
Status: NEW → ASSIGNED
Flags: needinfo?(bobowencode)

This is to prevent threading issues that some drivers seem to have when they
access their own default DEVMODE internally.

Pushed by bobowencode@gmail.com: https://hg.mozilla.org/integration/autoland/rev/88fbeefb2838 Pass a copy of our cached default DEVMODE into DeviceCapabilitiesW calls. r=jfkthame
Crash Signature: [@ nitropdfdrivercreator10.dll | nitroui10.dll | DocumentPropertySheets] [@ nitropdfdrivercreator11.dll | nitroui11.dll | DocumentPropertySheets] [@ nitropdfreaderdriver5.dll | nitroreaderui5.dll | DocumentPropertySheets] → [@ nitropdfdrivercreator10.dll | nitroui10.dll | DocumentPropertySheets] [@ nitropdfdrivercreator11.dll | nitroui11.dll | DocumentPropertySheets] [@ nitropdfreaderdriver5.dll | nitroreaderui5.dll | DocumentPropertySheets] [@ nitropdfdrivercreator11x64.…
Crash Signature: nitropdfdrivercreator11x64.dll | nitroui11.dll | DriverInfo1Fields ] → nitropdfdrivercreator11x64.dll | nitroui11.dll | DriverInfo1Fields ] [@ nitropdfdrivercreator10x64.dll | nitroui10.dll | nitropdfdrivercreator10x64.dll | nitroui10.dll | winspool.drv@0x5a3f ]
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Crash Signature: nitropdfdrivercreator11x64.dll | nitroui11.dll | DriverInfo1Fields ] [@ nitropdfdrivercreator10x64.dll | nitroui10.dll | nitropdfdrivercreator10x64.dll | nitroui10.dll | winspool.drv@0x5a3f ] → nitropdfdrivercreator11x64.dll | nitroui11.dll | DriverInfo1Fields ] [@ nitropdfdrivercreator10x64.dll | nitroui10.dll | nitropdfdrivercreator10x64.dll | nitroui10.dll | winspool.drv@0x5a3f ] [@ nitropdfdrivercreator11x64.dll | nitroui11.dll | nitropdf…

The patch landed in nightly and beta is affected.
:bobowen, is this bug important enough to require an uplift?
If not please set status_beta to wontfix.

For more information, please visit auto_nag documentation.

Flags: needinfo?(bobowencode)

(In reply to Release mgmt bot [:sylvestre / :calixte / :marco for bugbug] from comment #7)

The patch landed in nightly and beta is affected.
:bobowen, is this bug important enough to require an uplift?
If not please set status_beta to wontfix.

For more information, please visit auto_nag documentation.

I have concerns that we might see this and similar issues more in release, so I think it probably should be uplifted.
We've not passed a DEVMODE into this system function before, so I wanted to let it bake a little on Nightly.
Although as I type this, given our currently short Beta cycle maybe uplifting earlier is better, so it has time to display any issues if there are any on Beta.
I'll request the uplift.

Flags: needinfo?(bobowencode)

Comment on attachment 9189204 [details]
Bug 1677388: Pass a copy of our cached default DEVMODE into DeviceCapabilitiesW calls. r=jfkthame!

Beta/Release Uplift Approval Request

  • User impact if declined: Users with printer drivers that don't handle being called on separate threads, especially when accessing shared information like their default DEVMODE will experience full browser crashes.
  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Medium
  • Why is the change risky/not risky? (and alternatives if risky): I'm saying medium, because although the patch is fairly simple, we are passing in a DEVMODE to DeviceCapabilitiesW, which we haven't before.
    The documentation says that if you don't pass in a DEVMODE then the default one is used and that is what we are passing in, so in theory the outcome should be the same.
  • String changes made/needed: None
Attachment #9189204 - Flags: approval-mozilla-beta?

Comment on attachment 9189204 [details]
Bug 1677388: Pass a copy of our cached default DEVMODE into DeviceCapabilitiesW calls. r=jfkthame!

approved for 84.0b5

Attachment #9189204 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: