Closed Bug 1568770 Opened 6 years ago Closed 6 years ago

Hundreds of console errors are displayed after setting up a profile to receive Normandy stage recipes

Categories

(Firefox :: Remote Settings Client, defect, P5)

70 Branch
Desktop
All
defect

Tracking

()

RESOLVED INVALID
Tracking Status
firefox68 --- unaffected
firefox69 --- unaffected
firefox70 --- fix-optional

People

(Reporter: ppop, Unassigned)

Details

(Keywords: regression)

Attachments

(1 file)

[Affected Platforms]:

  • All Windows
  • All Mac
  • All Linux

[Affected Versions]:

  • Firefox Nightly 70.0a1, Build ID 20190724220024

[Prerequisites]:

  • Have the "security.content.signature.root_hash" pref set to "DB:74:CE:58:E4:F9:D0:9E:E0:42:36:BE:6C:C5:C4:F6:6A:E7:74:7D:C0:21:42:7A:03:BC:2F:57:0C:8B:9B:90".
  • Have the "extensions.shield-recipe-client.api_url" pref set to "https://stage.normandy.nonprod.cloudops.mozgcp.net/api/v1".
  • Have the "app.normandy.dev_mode" pref set to "true".
  • Have the "app.normandy.logging.level" pref set to "0"
  • Have the "services.settings.server" pref set to "https://settings.stage.mozaws.net/v1".

[Steps to reproduce]:

  1. Open the browser with the profile from prerequisites.
  2. Open the browser console and wait for ~1 minute.
  3. Observe the console output.

[Expected result]:

  • No errors are displayed.

[Actual result]:

  • Several warnings are displayed followed by 400 lines of errors.

[Regression Window]:

  • This issue is definitely a regression as it is not reproducible on Beta and Release. I will search for a regression windows as soon as I can.

[Notes]:

  • The following console warnings are displayed:
    services.settings: Signature verified failed for main/normandy-recipes. Retry from scratch RemoteSettingsClient.jsm:519
    services.settings: Signature verified failed for main/cfr-fxa. Retry from scratch RemoteSettingsClient.jsm:519
  • The following errors are displayed:
    Failed to fetch https://firefox-settings-attachments-cdn.stage.mozaws.net/se…ging/intermediates/50703850-cc99-4156-803a-48fed64fa2df.pem: 403 RemoteSecuritySettings.jsm:604
    Failed to download attachment: undefined RemoteSecuritySettings.jsm:634
  • I have attached a screen recording of the issue:

Michael could you take a look at this one as well?

Flags: needinfo?(mcooper)

Yesterday from approximately 13:00 PDT to 18:00 PDT there was an outage that caused signing to fail on Remote Settings. We fixed the problem on production, but it is possible that the problem still exists on stage.

Flags: needinfo?(mcooper)

These error messages are not really Normandy-related but have to do with failure to fetch attachments on the security-state/intermediates collection. The URL from the error message is really https://firefox-settings-attachments-cdn.stage.mozaws.net/security-state-staging/intermediates/50703850-cc99-4156-803a-48fed64fa2df.pem. This was computed by:

Unfortunately, this record is not from the staging server. It's from prod. You can see by looking at https://firefox.settings.services.mozilla.com/v1/buckets/security-state/collections/intermediates/records?attachment.location=security-state-staging/intermediates/50703850-cc99-4156-803a-48fed64fa2df.pem vs. https://settings.stage.mozaws.net/v1/buckets/security-state/collections/intermediates/records?attachment.location=security-state-staging/intermediates/50703850-cc99-4156-803a-48fed64fa2df.pem . In other words, the root of the error is that we're trying to get an attachment for a prod record using the staging S3 bucket.

I guess the reason this happened is because we start with data from the prod bucket. Perhaps this comes from a DB dump or maybe we did a sync. Then, we change the server URL to stage. This doesn't clear out the intermediates records, and the records don't track what server they came from, so when it comes time to download attachments, we try to download them from stage. I'm not sure what the best fix is, but for now I'm going to call it a bug in the Remote Settings client.

Component: Normandy Client → Remote Settings Client

I guess the reason this happened is because we start with data from the prod bucket. Perhaps this comes from a DB dump or maybe we did a sync. Then, we change the server URL to stage.

Good catch, this seems very likely indeed, but it could also be about JSON dumps.

We recommend switching envs using the Remote Settings Devtools, which make sure that we don't load JSON dumps on STAGE (since they come from prod).

I'm not sure what the best fix is, but for now I'm going to call it a bug in the Remote Settings client.

Switching from PROD to STAGE isn't really a situation that we cover in the Remote Settings client.

Instead I would say that the Remote Settings Dev Tools should clear the local DB when switching envs, and that if users wants to switch envs manually like it's described in this ticket, they should disable JSON dumps loading as well as clearing the local DB if a sync happened before.

The priority flag is not set for this bug.
:leplatrem, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(mathieu)

Bugbug thinks this bug is a regression, but please revert this change in case of error.

Keywords: regression

Should we close this bug as Invalid?

Flags: needinfo?(mathieu)

The priority flag is not set for this bug.
:leplatrem, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(mathieu)
Flags: needinfo?(mathieu)
Priority: -- → P5

How much does this interfere with your testing? Unless it makes it actually hard to test I think we'll wontfix this bug.

Flags: needinfo?(patriciu.pop)

Hi Liz, this issue doesn't affect our testing at all, except from creating a lot of noise that we sometimes have to sift through. We logged it as a concern because at that time we didn't know what was causing it. From a QA point of view we would like to see it fixed, but we can manage without it.

Flags: needinfo?(patriciu.pop)

Does it happen when using the Remote Settings DevTools?

Closing this for lack of activity/feedback.

Switching from stage to prod (or prod to stage) may require to clear the local data.

Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: