Closed Bug 1574450 Opened 5 months ago Closed 5 months ago

[Windows] Safe Browsing cannot be updated after updating to Firefox 69

Categories

(Toolkit :: Safe Browsing, defect, P1)

Desktop
Windows
defect

Tracking

()

VERIFIED FIXED
mozilla70
Tracking Status
firefox-esr60 --- unaffected
firefox-esr68 --- unaffected
firefox68 --- unaffected
firefox69 --- verified
firefox70 --- verified

People

(Reporter: cosmin.muntean, Assigned: dimi)

References

(Regression)

Details

(Keywords: regression)

Attachments

(5 files)

Attached image mozilla provider.gif

[Notes]:

  • The issue is not reproducible on new profiles created with Firefox 69. It's only reproducible after updating the browser from an older version of Firefox to 69.

[Affected Versions]:

  • Firefox Beta 69.0b13

[Affected Platforms]

  • All Windows

[Prerequisites]

  • Have a new Firefox profile created on Beta 68.0b14.

[Steps to reproduce]:

  1. Open Firefox Beta 68.0b14 with the profile from prerequisites.
  2. Update the browser to Firefox 69.0b12.
  3. Navigate to "about:url-classifier" page.
  4. Click the "Trigger Update" button from "mozilla" provider.
  5. Observe the behavior.

[Expected results]:

  • The list is successfully updated.

[Actual results]:

  • The "update error (NS_ERROR_FILE_IS_LOCKED)" error is displayed.

[Notes]:

  • The issue is not reproducible on Mac OS and Linux.
  • Attached a screen recording with the issue.
Flags: needinfo?(amarchesini)
Assignee: nobody → dlee
Status: NEW → ASSIGNED
Component: Privacy: Anti-Tracking → Safe Browsing
Flags: needinfo?(amarchesini)
Product: Core → Toolkit

hi cosmin,
can you help upload the safebrowsing directory? thanks!
You should be able to find it by opening about:profile, and check the directory in "Local Directory".
There should be a "safebrowsing" directory in it.

Flags: needinfo?(cosmin.muntean)

Can you also help dump the log after step4 by clicking the "Set Log Modules" & "Set Log File" buttons in about:url-classifier. thanks!

Attached file safebrowsing logs.7z
Flags: needinfo?(cosmin.muntean)
Attached file safebrowsing.zip

Cosmin, thanks for your help!
The log seems to be the update result for provider "google", not "mozilla".
Can you help dump the log again by using the same step in Comment 2? but besides "Set Log Module" & "Set Log File", also set the "Set JS Log" checkbox.
Thanks!

Please let me know if you need more information.

Priority: -- → P1

mInputStream holds a reference to the current opened HashStore file.
While resetting the file, mInputStream should be closed first, otherwise,
the file->Remove returns failure code NS_ERROR_FILE_IS_LOCKED.
(This only happens in Windows platform)

Pushed by dlee@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b4a0f4026d4d
Close inputstream before reseting HashStore file. r=gcp
Regressed by: 1531354
Summary: [Windows] The "mozilla" provider cannot be updated from "about:url-classifier" page after updating to Firefox 69 → [Windows] Safe Browsing cannot be updated after updating to Firefox 69
Status: ASSIGNED → RESOLVED
Closed: 5 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla70

Comment on attachment 9086330 [details]
Bug 1574450 - Close inputstream before reseting HashStore file. r?gcp

Beta/Release Uplift Approval Request

  • User impact if declined:
    If users update Firefox to 69(or versions after) with an existing Safe Browsing database in the profile, it triggers this issue. This issue has two impacts:
  1. Tracking protection, flash blocking don't work
  2. Firefox cannot update SafeBrowsing database
  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: Yes
  • If yes, steps to reproduce: Steps to reproduce:
  1. Install Firefox 68(or versions before). Make sure Safe Browsing databases exist (databases can be found in the safebrowsing directory under profile folder, check there are files with extensions .pset and .sbstore)
  2. Update firefox to 69
  3. Open about:url-classifier, click the “Trigger Update” button in the Provider->mozilla section.
  4. It should show “success”
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky):
  1. This patch only affects how we migrate from older version Safe Browsing to newer version, it doesn’t change any behavior with normal flow. For users already have updated Safe Browsing database or they install Firefox from a new profile, the patch doesn’t change anything.
  2. This patch only frees the resource before closing, it doesn’t introduce any new behavior change
  • String changes made/needed: None
Attachment #9086330 - Flags: approval-mozilla-release?
Attachment #9086330 - Flags: approval-mozilla-beta?
Flags: qe-verify+

Comment on attachment 9086330 [details]
Bug 1574450 - Close inputstream before reseting HashStore file. r?gcp

Fixes users not being able to update SafeBrowsing databases after upgrading to Fx69. Approved for 69.0b15. Doesn't sound like we need this for a 68 dot release, though, so not approving for release.

Attachment #9086330 - Flags: approval-mozilla-release?
Attachment #9086330 - Flags: approval-mozilla-release-
Attachment #9086330 - Flags: approval-mozilla-beta?
Attachment #9086330 - Flags: approval-mozilla-beta+
QA Whiteboard: [qa-triaged]

I have verified this issue and is no longer reproducible on latest Firefox Beta 69.0b15 and latest Nightly 70.0a1 (2019-08-20) build on Windows 7 x64 and Windows 10 x64.

  • The "mozilla" provider can be successfully updated from "about:url-classifier" page after updating to Firefox 69 or 70.
  • I have also tested on Mac 10.14 and Ubuntu 16.04 x64 to make sure that there are no regressions after the fix laned.
Status: RESOLVED → VERIFIED
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.