Closed Bug 1756974 Opened 3 years ago Closed 3 years ago

WhatsApp Web bug with login through QR Code on Firefox 97.0.1 (64-bit)

Categories

(Core :: Storage: IndexedDB, defect, P3)

Firefox 97
Desktop
Windows 10
defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: gheorhios, Unassigned, NeedInfo)

References

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0

Steps to reproduce:

Login through QR Code https://web.whatsapp.com/ using strict mode

Actual results:

Page refresh non-stop loop

Expected results:

Normal login like previous version

Not some kind of exploitable security issue that needs to stay hidden.

Group: firefox-core-security

The Bugbug bot thinks this bug should belong to the 'Core::Graphics: WebRender' component, and is moving the bug to that component. Please revert this change in case you think the bot is wrong.

Component: Untriaged → Graphics: WebRender
Product: Firefox → Core
Component: Graphics: WebRender → DOM: Navigation

Morpheus: with "strict mode" ETP strict mode is meant?

If so, could you be so kind to try to reproduce the issue in ETP standard mode and report the result here?

Flags: needinfo?(gheorhios)

Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0

Hi,

I have tested your issue in Release 97, Beta 98, and the latest Nightly build 99.0a1 (2022-03-02) but could not reproduce it using Windows 10. I can successfully login into whatsupp web with strict mode enabled as well.
If the issue is still reproducible on your end, can you please retest this using the latest Nightly build (https://nightly.mozilla.org/) using a new clean Firefox profile (https://goo.gl/AWo6h8) to eliminate the potential causes?

Thanks for the report.

Hello there,

I just found these error happens on the following situations:

  1. Firefox 97.0.1 (64-bit)
  2. If user disable "remember history"
  3. All user modes

Thanks you for helping.

Flags: needinfo?(gheorhios)

@Alin: can you please retest the issue with Settings -> Privacy & Security -> History -> "Never remember history" selected. That seems to be the reporter's scenario.

@Morpheus: if your Firefox uses any plugins, that'd be helpful to know.

Flags: needinfo?(alin.ilea)

(In reply to Mirko Brodesser (:mbrodesser) from comment #6)

@Alin: can you please retest the issue with Settings -> Privacy & Security -> History -> "Never remember history" selected. That seems to be the reporter's scenario.

Just tried using the comment 5 scenarios (Fx 97.0.1 64bit, History -> "Never remember history") but I get the same results, works ok on my end, I am able to log into WhatsApp web in a few seconds using the QR code without any issues on Windows 10. Also verified using both standard and strict Enhanced Tracking Protection options.

@Morpheus: if your Firefox uses any plugins, that'd be helpful to know.

Flags: needinfo?(alin.ilea) → needinfo?(gheorhios)

(In reply to Mirko Brodesser (:mbrodesser) from comment #6)

@Alin: can you please retest the issue with Settings -> Privacy & Security -> History -> "Never remember history" selected. That seems to be the reporter's scenario.

@Morpheus: if your Firefox uses any plugins, that'd be helpful to know.

@mbrodesser only the following:

  • OpenH264 Video Codec provided by Cisco Systems, Inc.
  • Widevine Content Decryption Module provided by Google Inc.

Thank you

Flags: needinfo?(gheorhios)

After new Firefox installation still impossible to login to Whats App Web under these conditions:

  • Strict mode
  • Never remember history

I believe the login is made in "two steps" now each means the App reads qr code twice.

Thank you

The problem of the page refresh non-stop loop persists also in Firefox 97.0.2.
In Edge, WhatsApp Web works regularly.

The severity field is not set for this bug.
:annevk, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(annevk)

I managed to reproduce this on Fx 98, Win11, if I joined "What's app "multi-device beta."
Morpheus or Vincenzo, did you join "multi-device beta" when you saw the problem? Thank you.

Flags: needinfo?(viscas2001)
Flags: needinfo?(gheorhios)
Flags: needinfo?(annevk)

I got these errors in console on Fx 98:

Firefox can’t establish a connection to the server at wss://web.whatsapp.com/ws. bootstrap_qr.79aba964bea38dbcc501.js:12:186640

I couldn't reproduce this issue on nightly. Do we have behavior differences in Nightly and Release?

Moving to Networking: WebSockets component due to the error message.

Component: DOM: Navigation → Networking: WebSockets
Flags: needinfo?(viscas2001)

Hi everyone and thanks for your interest in my problem.
I am not sure, but I believe that, unintentionally, I joined "What's app "multi-device beta."
I don't know how to get out of the "multi-device beta".
I don't have any problems on Microsoft Edge, though.

Regards
Vincenzo

Microsoft Windows 10 Home 21H1 19043.1586

Firefox 97.0.1 - 98.0.1 (64-bit)

Plugins

  • OpenH264 Video Codec provided by Cisco Systems, Inc.
  • Widevine Content Decryption Module provided by Google Inc.

WhatsApp Web login through QR code page refresh non-stop loop

  1. If user disable "remember history"
  2. All user modes

I created a new firefox profile and did not join whatsapp "multi-device beta".

Thank you

Flags: needinfo?(gheorhios)

Could you try to record a http log?
Please also add nsWebSocket:5 to MOZ_LOG.
Thanks.

Flags: needinfo?(gheorhios)

I have the same issues with Firefox 98.0 on Fedora 34. I did not join the Whatsapp Beta but today Whatsapp asked me to update Whatsapp Web (no mention of Beta anymore). And after I did that, whenever I open https://web.whatsapp.com and try to scan the QR code with my phone, the code will immediately disappear and a spinning wait symbol appears in place of the QR code. If my mouse is in the window I can also see that in the lower left corner the Firefox link preview "web.whatsapp.com" is flickering very fast. After a minute or so, the Whatsapp page completely reloads with a red banner at the top saying "A database error occurred on your browser. Please restart your computer and relink your device."

The problem only appears when I tell Firefox not to remember history.

I recorded an http log with export MOZ_LOG=timestamp,rotate:200,nsHttp:5,cache2:5,nsSocketTransport:5,nsHostResolver:5,cookie:5,nsWebSocket:5. Unfortunately, it is too large to append as an attachment to this ticket. So I have uploaded it to mega.nz:
https://mega.nz/file/BUMggZBJ#105BrpKq8jwsJapTAey-3kpfyvYYpfjhgUp2JTC56wE

Flags: needinfo?(kershaw)

I am having the same problem. Although I can reproduce it only if I am opening a private window on Firefox 99. In non-provivate window it is working fine but login on https://web.whatsapp.com/ is impossible in private window.
So it might be related to history or strict mode which might be handled differently in private mode.

Interestingly I am using Whatsapp 2.22.7.74 on two phones. One of them allowing me to join and leave multi-device beta. The other one (the one I am trying to connect to WA web) isn't offering this option.

So perhaps someone can confirm this issue in private mode.

Thanks for the log.
I've seen that the websocket connection is closed by the server. Looks like Firefox did nothing wrong.

2022-04-05 19:51:10.936215 UTC - [Parent 334689: Socket Thread]: D/nsWebSocket WebSocketChannel:: close received
2022-04-05 19:51:10.936218 UTC - [Parent 334689: Socket Thread]: D/nsWebSocket WebSocketChannel:: close recvd code 1000

Could you go to about:config and set network.http.spdy.websockets to false and see if this helps?
Thanks.

Flags: needinfo?(kershaw) → needinfo?(rashid_usm)

For me disabling network.http.spdy.websockets did not do any change for Whatsapp Web in private window.
Firefox seems to loop/redirect continously (also losing focus on URL bar, being unable to overwrite the URL as constantly the URL is being refreshed).

Sometimes after reloading the page several times I am getting the error "A database error occurred on your browser. Please restart your computer and relink your device." which makes me believe it might be related also to local storage access. I did also face similar issues after getting an incomplete/inconsistent storage database in "<profile-folder>\storage" folder. This folder is by the way still stored in the completely wrong directory on Windows (within the roaming rather than the local path of the user profile) causing various issues with roaming user profiles including also incomplete sync and Firefox failing to work properly.
Sometimes the only way to solve it is to remove the "storage" folder entirely, then going to firefox settings (about:preferences#privacy) and deleting all data in "Manage Data..." section. Then restarting Firefox.
Firefox seems to have huge issues dealing with broken/inconsistent data in this folder and unfortunately isn't handling it properly either. So this is a common and known issue since years.
However in this case here I can reproduce the issue always (also with a fresh profile) in a private window.

Thanks. I can reproduce this locally in a private window.
I also noticed lots of error message below. When tested this in a normal window, the following error messages didn't show.

[Parent 79805, Main Thread] WARNING: QM_TRY failure (ERROR): 'CheckPermission(contentParent) failed with resultCode 0x80660006, resultName NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR', file dom/indexedDB/ActorsParent.cpp:15220
[Parent 79805, Main Thread] WARNING: QM_TRY failure (ERROR): 'ToResult(Open()) failed with resultCode 0x80660006, resultName NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR', file dom/indexedDB/ActorsParent.cpp:15739
[Parent 79805, Main Thread] WARNING: QM_TRY failure (ERROR): 'CheckPermission(contentParent) failed with resultCode 0x80660006, resultName NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR', file dom/indexedDB/ActorsParent.cpp:15220
[Parent 79805, Main Thread] WARNING: QM_TRY failure (ERROR): 'ToResult(Open()) failed with resultCode 0x80660006, resultName NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR', file dom/indexedDB/ActorsParent.cpp:15739
[Parent 79805, Main Thread] WARNING: QM_TRY failure (ERROR): 'CheckPermission(contentParent) failed with resultCode 0x80660006, resultName NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR', file dom/indexedDB/ActorsParent.cpp:15220
[Parent 79805, Main Thread] WARNING: QM_TRY failure (ERROR): 'ToResult(Open()) failed with resultCode 0x80660006, resultName NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR', file dom/indexedDB/ActorsParent.cpp:15739
[Parent 79805, Main Thread] WARNING: QM_TRY failure (ERROR): 'CheckPermission(contentParent) failed with resultCode 0x80660006, resultName NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR', file dom/indexedDB/ActorsParent.cpp:15220
[Parent 79805, Main Thread] WARNING: QM_TRY failure (ERROR): 'ToResult(Open()) failed with resultCode 0x80660006, resultName NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR', file dom/indexedDB/ActorsParent.cpp:15739
[Parent 79805, Main Thread] WARNING: QM_TRY failure (ERROR): 'CheckPermission(contentParent) failed with resultCode 0x80660006, resultName NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR', file dom/indexedDB/ActorsParent.cpp:15220
[Parent 79805, Main Thread] WARNING: QM_TRY failure (ERROR): 'ToResult(Open()) failed with resultCode 0x80660006, resultName NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR', file dom/indexedDB/ActorsParent.cpp:15739
[Parent 79805, Main Thread] WARNING: QM_TRY failure (ERROR): 'CheckPermission(contentParent) failed with resultCode 0x80660006, resultName NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR', file dom/indexedDB/ActorsParent.cpp:15220
[Parent 79805, Main Thread] WARNING: QM_TRY failure (ERROR): 'ToResult(Open()) failed with resultCode 0x80660006, resultName NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR', file dom/indexedDB/ActorsParent.cpp:15739
[Parent 79805, Main Thread] WARNING: QM_TRY failure (ERROR): 'CheckPermission(contentParent) failed with resultCode 0x80660006, resultName NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR', file dom/indexedDB/ActorsParent.cpp:15220
[Parent 79805, Main Thread] WARNING: QM_TRY failure (ERROR): 'ToResult(Open()) failed with resultCode 0x80660006, resultName NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR', file dom/indexedDB/ActorsParent.cpp:15739
[Parent 79805, Main Thread] WARNING: QM_TRY failure (ERROR): 'CheckPermission(contentParent) failed with resultCode 0x80660006, resultName NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR', file dom/indexedDB/ActorsParent.cpp:15220
[Parent 79805, Main Thread] WARNING: QM_TRY failure (ERROR): 'ToResult(Open()) failed with resultCode 0x80660006, resultName NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR', file dom/indexedDB/ActorsParent.cpp:15739
[Parent 79805, Main Thread] WARNING: QM_TRY failure (ERROR): 'CheckPermission(contentParent) failed with resultCode 0x80660006, resultName NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR', file dom/indexedDB/ActorsParent.cpp:15220
[Parent 79805, Main Thread] WARNING: QM_TRY failure (ERROR): 'ToResult(Open()) failed with resultCode 0x80660006, resultName NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR', file dom/indexedDB/ActorsParent.cpp:15739
[Parent 79805, Main Thread] WARNING: QM_TRY failure (ERROR): 'CheckPermission(contentParent) failed with resultCode 0x80660006, resultName NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR', file dom/indexedDB/ActorsParent.cpp:15220
[Parent 79805, Main Thread] WARNING: QM_TRY failure (ERROR): 'ToResult(Open()) failed with resultCode 0x80660006, resultName NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR', file dom/indexedDB/ActorsParent.cpp:15739
[Parent 79805, Main Thread] WARNING: QM_TRY failure (ERROR): 'CheckPermission(contentParent) failed with resultCode 0x80660006, resultName NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR', file dom/indexedDB/ActorsParent.cpp:15220
[Parent 79805, Main Thread] WARNING: QM_TRY failure (ERROR): 'ToResult(Open()) failed with resultCode 0x80660006, resultName NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR', file dom/indexedDB/ActorsParent.cpp:15739
[Parent 79805, Main Thread] WARNING: QM_TRY failure (ERROR): 'CheckPermission(contentParent) failed with resultCode 0x80660006, resultName NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR', file dom/indexedDB/ActorsParent.cpp:15220
[Parent 79805, Main Thread] WARNING: QM_TRY failure (ERROR): 'ToResult(Open()) failed with resultCode 0x80660006, resultName NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR', file dom/indexedDB/ActorsParent.cpp:15739
[Parent 79805, Main Thread] WARNING: QM_TRY failure (ERROR): 'CheckPermission(contentParent) failed with resultCode 0x80660006, resultName NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR', file dom/indexedDB/ActorsParent.cpp:15220

I think this bug is more related to Storage component.

Component: Networking: WebSockets → Storage: IndexedDB

Hello to all

I was able to solve the problem with Firefox 99.0.
In privacy and security by removing the anonymous browsing and putting a flag in “delete cronology only when leaving Firefox”, now Whatsapp Web works well.

Best regards
Vincenzo

Thanks @Vincenzo, it was already suspected to be related to the Storage component. Storage is handled differently in private browsing sessions as well as if history is disabled. So the problem remeins in private browsing sessions as well as it does for people having history disabled. None of those should actually break any web applications but should potentially just make sure this data is not stored permanently.

(In reply to Vincenzo from comment #22)

Hello to all

I was able to solve the problem with Firefox 99.0.
In privacy and security by removing the anonymous browsing and putting a flag in “delete cronology only when leaving Firefox”, now Whatsapp Web works well.

Best regards
Vincenzo

Hello there,

If that work for you, seems a work around not a solution.

Thanks you for helping.
Morpheus

Flags: needinfo?(gheorhios)

So for the IndexedDB part: Bug 1639542 tracks the (currently missing) support for IndexedDB in private browsing mode.
Same goes for Service Workers (I believe, whatsapp needs those, too): bug 1320796.

See Also: → 1320796
Severity: -- → S3
Priority: -- → P3
OS: Unspecified → Windows 10
Hardware: Unspecified → Desktop
Status: UNCONFIRMED → RESOLVED
Closed: 3 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: