Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Brave crashed when the user clicked on the Brave VPN menu option via the Hamburger menu in a Brave VPN enabled profile #41084

Closed
1 of 6 tasks
GeetaSarvadnya opened this issue Sep 16, 2024 · 7 comments · Fixed by brave/brave-core#25595

Comments

@GeetaSarvadnya
Copy link

Description

Brave crashed when the user clicked on the Brave VPN menu option via the Hamburger menu in a Brave VPN enabled profile

Steps to reproduce

  1. Clean profile 1.70.111
  2. Enable Brave VPN
  3. Click on the Brave VPN menu option via Hamburger menu

Actual result

Brave crashed

Uploaded Crash Report ID:	42291100-9ce4-970c-0000-000000000000
Upload Time:	Monday, September 16, 2024 at 12:50:50 PM

Expected result

should not be any crash

Reproduces how often

Easily reproduced

Brave version (brave://version info)

Brave 1.70.111 Chromium: 129.0.6668.42 (Official Build) (64-bit)
Revision 91de01e6c866fe9e10c8262e47cc8c292c792de1
OS Windows 10 Version 22H2 (Build 19045.4894)

Channel information

  • release (stable)
  • beta
  • nightly

Reproducibility

  • with Brave Shields disabled
  • with Brave Rewards disabled
  • in the latest version of Chrome

Miscellaneous information

cc: @brave/qa-team @mattmcalister @rebron

@mattmcalister mattmcalister added priority/P1 A very extremely bad problem. We might push a hotfix for it. release-notes/exclude labels Sep 16, 2024
@rebron
Copy link
Collaborator

rebron commented Sep 16, 2024

My crash ID: 1afa1200-9ce4-970c-0000-000000000000

Using:

Brave 1.71.87 Chromium: 129.0.6668.42 (Official Build) beta (arm64)
Revision 5c708d5d9bcfc56422a4c7356708ff1d5cce9df5
OS macOS Version 15.0 (Build 24A5298h)
JavaScript V8 12.9.202.16
User Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36

@rebron rebron added this to General Sep 16, 2024
@rebron rebron moved this to In progress in General Sep 16, 2024
@kjozwiak kjozwiak added this to the 1.70.x - Release milestone Sep 16, 2024
@bsclifton bsclifton self-assigned this Sep 16, 2024
@bsclifton
Copy link
Member

bsclifton commented Sep 16, 2024

I'm suspecting that the root cause is the solution in https://issues.chromium.org/issues/40232718

Basically, there was several CL's fixing this (see issue for exact links to each).

This line is what causes the recursion (causing the freeze/crash):
https://github.com/brave/brave-core/blob/c398669775f2d2b545704132abf8678bc079e5ba/browser/ui/views/toolbar/brave_vpn_status_label.cc#L90

GetHeightForWidth was updated to call CalculatePreferredSize - which is the method we're in 😂
https://source.chromium.org/chromium/chromium/src/+/main:ui/views/view.cc;l=619;drc=bed9c3c2d1a3ff77ac16e062572a2cefb99a1309

Working on a fix

@bsclifton
Copy link
Member

OK found a solution

The CalculatePreferredSize was put in place to solve a UI bug:
#22742
disconnecting

The views code upstream must now be doing the calculation properly. When I remove this override, it looks correct now:
image

Will push a fix here soon to 1.70.x first - then to master

bsclifton added a commit to brave/brave-core that referenced this issue Sep 17, 2024
This is no longer needed; it was put in place with
#13374 but recent changes in
Chromium 129 have made this obsolete (and it causes recursion).

See https://issues.chromium.org/issues/40232718 for more info

Fixes brave/brave-browser#41084
bsclifton added a commit to brave/brave-core that referenced this issue Sep 17, 2024
This is no longer needed; it was put in place with
#13374 but recent changes in
Chromium 129 have made this obsolete (and it causes recursion).

See https://issues.chromium.org/issues/40232718 for more info

Fixes brave/brave-browser#41084
@kjozwiak
Copy link
Member

kjozwiak commented Sep 17, 2024

Closing as brave/brave-core#25594 was merged into 1.70.x. The above requires 1.70.114 or higher for 1.70.x verification 👍 @LaurenWags added QA/Test-All-Platforms so it's checked on Win & macOS as this one was pretty bad and caused crashes my simply hovering over the VPN item within the Hamburger Menu.

@GeetaSarvadnya
Copy link
Author

GeetaSarvadnya commented Sep 17, 2024

Verification PASSED on

Brave | 1.70.114 Chromium: 129.0.6668.42 (Official Build) (64-bit)
-- | --
Revision | 62ac7fa937404b201bf90c3848127b18e9d7a9b1
OS | Windows 10 Version 22H2 (Build 19045.4894)
New user_PASSED
  1. Clean profile 1.69.168
  2. Click on the VPN icon in the toolbar
  3. Click on Start 7-days free trial
  4. The https://account.brave.com/... page opens up
  5. Enter the brave email address and click on start free trial
  6. Verify the email
  7. Confirmed that https://account.brave.com/account/... page is loaded with active subscriptions for Leo and VPN
  8. Confirmed that credentials are loaded for Firewall + VPN
  9. Click on the VPN icon in the toolbar and toggle the VPN button
  10. Confirmed that VPN is connected to default region Singapore and VPN status is green
  11. Click on the Brave VPN menu option via Hamburger menu and ensured that there is no crash and all the VPN sub options are shown under Brave VPN
  12. Open ipleak.net and ensure that the VPN connected region IP is shown correctly
  13. Connect and disconnect VPN via toolbar VPN icon and ensured that VPN is connected/disconnected accordingly
  14. Connect and disconnect VPN via Brave VPN menu option via Hamburger menu and ensured that VPN is connected/disconnected accordingly
  15. Change the region via VPN panel and ensured that region is changed successfully
  16. Open ipleak.net and ensure that the VPN connected region IP is shown correctly
1.70.114 1.70.114 1.70.114 1.70.114 1.70.114 1.70.114 1.70.114
image image image image image image image
Existing user with VPN enabled_PASSED
  1. Clean profile 1.69.168
  2. Click on the VPN icon in the toolbar
  3. Click on Start 7-days free trial
  4. The https://account.brave.com/... page opens up
  5. Enter the brave email address
  6. Verify the email
  7. Confirmed that https://account.brave.com/account/... page is loaded with active subscriptions for Leo and VPN
  8. Confirmed that credentials are loaded for Firewall + VPN
  9. Click on the VPN icon in the toolbar and toggle the VPN button
  10. Confirmed that VPN is connected to default region Singapore and VPN status is green
  11. Click on the Brave VPN menu option via Hamburger menu and ensured all the VPN sub options are shown under Brave VPN
  12. Open ipleak.net and ensure that the VPN connected region IP is shown correctly
  13. Connect and disconnect VPN via toolbar VPN icon and ensured that VPN is connected/disconnected accordingly
  14. Connect and disconnect VPN via Brave VPN menu option via Hamburger menu and ensured that VPN is connected/disconnected accordingly
  15. Change the region via VPN panel and ensured that region is changed successfully
1.69.x 1.69.x 1.69.x 1.69.x 1.69.x 1.69.x 1.69.x
image image image image image image image
  1. Upgrade the profile to 1.70.114
  2. Confirmed that VPN still in connected state after upgrade
  3. Click on Brave VPN menu option via Hamburger menu and ensured that there is no crash
  4. Disconnect and connect VPN via toolbar VPN icon and ensured that VPN is disconnected/connected accordingly
  5. Disconnect and connect VPN via Brave VPN menu option via Hamburger menu and ensured that VPN is disconnected/connected accordingly
  6. Change the region via VPN panel and ensured that region is changed successfully
  7. Open ipleak.net and ensure that the VPN connected region IP is shown correctly
1.70.114 1.70.114 1.70.114 1.70.114 1.70.114
image image image image image
Existing user without VPN enabled_PASSED
  1. Clean profile 1.69.168
    image
  2. Upgrade the profile to 1.70.114
  3. Click on the VPN icon in the toolbar
  4. Click on Start 7-days free trial
  5. The https://account.brave.com/... page opens up
  6. Enter the brave email address and click on start free trial
  7. Verify the email
  8. Confirmed that https://account.brave.com/account/... page is loaded with active subscriptions for Leo and VPN
  9. Confirmed that credentials are loaded for Firewall + VPN
  10. Click on the VPN icon in the toolbar and toggle the VPN button
  11. Confirmed that VPN is connected to default region Singapore and VPN status is green
  12. Click on the Brave VPN menu option via Hamburger menu and ensured that there is no crash and all the VPN sub options are shown under Brave VPN
  13. Open ipleak.net and ensure that the VPN connected region IP is shown correctly
  14. Connect and disconnect VPN via toolbar VPN icon and ensured that VPN is connected/disconnected accordingly
  15. Connect and disconnect VPN via Brave VPN menu option via Hamburger menu and ensured that VPN is connected/disconnected accordingly
  16. Change the region via VPN panel and ensured that region is changed successfully
  17. Open ipleak.net and ensure that the VPN connected region IP is shown correctly
1.70.114 1.70.114 1.70.114 1.70.114 1.70.114 1.70.114 1.70.114
image image image image image image image
Refresh Firewall+VPN credentials_PASSED
  1. Clean profile 1.70.114
  2. Open https://account.brave.com/account/
  3. Enter the email address
  4. Confirmed that the https://account.brave.com/account/... page loaded with active subscriptions for Leo and Firewall+VPN
  5. Confirmed that there is Refresh Firewall+VPN button below the Firewall+VPN account
  6. Refresh/reload the Refresh Firewall+VPN by clicking on it
  7. Confirmed that VPN credentials are loaded without any crash
  8. Click on VPN icon in the toolbar and enable the VPN
  9. Click on the Brave VPN menu option via Hamburger menu and ensured that there is no crash and all the VPN sub options are shown under Brave VPN
  10. Open ipleak.net and ensure that the VPN connected region IP is shown correctly
  11. Connect and disconnect VPN via toolbar VPN icon and ensured that VPN is connected/disconnected accordingly
  12. Connect and disconnect VPN via Brave VPN menu option via Hamburger menu and ensured that VPN is connected/disconnected accordingly
  13. Change the region via VPN panel and ensured that region is changed successfully
  14. Open ipleak.net and ensure that the VPN connected region IP is shown correctly
1.70.114 1.70.114 1.70.114 1.70.114 1.70.114 1.70.114 1.70.114 1.70.114
image image image image image image image image

@MadhaviSeelam
Copy link

MadhaviSeelam commented Sep 17, 2024

Verification PASSED using

Brave | 1.70.114 Chromium: 129.0.6668.42 (Official Build) (64-bit)
-- | --
Revision | 62ac7fa937404b201bf90c3848127b18e9d7a9b1
OS | Windows 11 Version 23H2 (Build 22631.4169)
New VPN subscriber - PASSED
  1. Installed 1.70.114
  2. launched Brave
  3. opened account.bravesoftware.com in a new tab
  4. subscribed to VPN as a new user (brave41084newuser@mailinator.com)
  5. enabled VPN via VPN panel
  6. verified VPN connected to default region - USA (West)
  7. clicked on the Brave VPN menu via Hamburger menu
  8. confirmed there is no crash happened
  9. enabled/disabled Brave VPN via hamburger menu
  10. verified Brave VPN worked as expected
  11. opened whatismyipaddress.com in a new tab
  12. switched to different region (Portugal) via VPN panel and ensured that region is changed successfully
  13. opened whatismyipaddress.com and confirmed that the VPN connected region IP is shown correctly
step 6 step 7 step 12 step 13
image image image image
Existing VPN Subscriber - PASSED
  1. Installed 1.70.114
  2. launched Brave
  3. opened account.bravesoftware.com in a new tab
  4. subscribed to VPN as an existing (refresh39132vpn627@mailinator.com)
  5. clicked Refresh Firewall + VPN button
  6. clicked on the Brave VPN menu via Hamburger menu
  7. confirmed there is no crash happened
  8. enabled/disabled Brave VPN via hamburger menu
  9. verified VPN connected to default region - USA (West)
  10. verified Brave VPN worked as expected
  11. opened whatismyipaddress.com in a new tab
  12. switched to different region (Ireland) via VPN panel and ensured that region is changed successfully
  13. opened whatismyipaddress.com and confirmed that the VPN connected region IP is shown correctly
step 6 - 7 step 8 step 9 step 13
image image image image
Upgrade - PASSED
  1. Installed 1.69.168
  2. launched Brave
  3. logged into account.bravesoftware.com with basic auth
  4. subscribed to VPN as a new user (vpn41084brave@mailinator.com)
  5. enabled Brave VPN via VPN panel
  6. clicked on the Brave VPN via Hamburger menu
  7. verified Brave didn't crash
  8. Brave VPN worked as expected when enabled/disabled
  9. closed Brave
  10. installed 1.70.114
  11. relaunched Brave
  12. clicked on Brave VPN via hamburger menu
  13. confirmed Brave didn't crash
  14. enabled/disabled Brave VPN via hamburger menu
  15. verified Brave VPN worked as expected
  16. opened whatismyipaddress.com in a new tab
  17. switched to different region via VPN panel and ensured that region is changed successfully
  18. opened whatismyipaddress.com and confirmed that the VPN connected region IP is shown correctly
step 1 step 7- 8 step 10 step 12 step 18
image image image image image

@MadhaviSeelam
Copy link

MadhaviSeelam commented Sep 18, 2024

Verification PASSED using

Brave | 1.70.114 Chromium: 129.0.6668.42 (Official Build) (arm64)
-- | --
Revision | 62ac7fa937404b201bf90c3848127b18e9d7a9b1
OS | macOS Version 14.6.1 (Build 23G93)
New VPN subscriber - PASSED
  1. Installed 1.70.114
  2. launched Brave
  3. opened account.bravesoftware.com in a new tab
  4. subscribed to VPN as a new user (brave41084macosvpn@mailinator.com)
  5. clicked VPN button and toggled on via VPN panel
  6. clicked Allow
  7. verified VPN connected to default region - USA (West)
  8. clicked on the Brave VPN menu via Hamburger menu
  9. confirmed there is no crash happened
  10. enabled/disabled Brave VPN via hamburger menu
  11. verified Brave VPN worked as expected
  12. opened whatismyipaddress.com in a new tab
  13. switched to different region (Switzerland) via VPN panel and ensured that region is changed successfully
  14. opened whatismyipaddress.com and confirmed that the VPN connected region IP is shown correctly
step 5-6 step 7 step 8 step 10 step 14
Screenshot at Sep 17 17-10-18 Screenshot at Sep 17 17-10-33 Screenshot at Sep 17 17-10-49 Screenshot at Sep 17 17-11-03 Screenshot at Sep 17 17-11-42
Existing VPN Subscriber -PASSED
  1. Installed 1.70.114
  2. launched Brave
  3. opened account.bravesoftware.com in a new tab
  4. subscribed to VPN as an existing (refresh39132vpn627@mailinator.com)
  5. clicked Refresh Firewall + VPN button
  6. clicked on the Brave VPN menu via Hamburger menu
  7. confirmed there is no crash happened
  8. enabled/disabled Brave VPN via hamburger menu
  9. verified VPN connected to default region - USA (West)
  10. verified Brave VPN worked as expected
  11. opened whatismyipaddress.com in a new tab
  12. switched to different region (Ireland) via VPN panel and ensured that region is changed successfully
  13. opened whatismyipaddress.com and confirmed that the VPN connected region IP is shown correctly
step 5 step 6 - 7 step 9 step 13
Screenshot at Sep 18 09-31-09 Screenshot at Sep 18 09-31-30 Screenshot at Sep 18 09-39-45 Screenshot at Sep 18 09-32-33
Upgrade - PASSED
  1. Installed 1.69.169
  2. launched Brave
  3. logged into account.brave.com as an existing VPN user (used my brave email address)
  4. enabled Brave VPN via VPN panel
  5. clicked on the Brave VPN via Hamburger menu
  6. verified Brave didn't crash
  7. Brave VPN worked as expected when enabled/disabled
  8. opened whatismyipaddress.com in a new tab
  9. switched to different region via VPN panel and ensured that region is changed successfully
  10. opened whatismyipaddress.com and confirmed that the VPN connected region IP is shown correctly10. closed Brave
  11. installed 1.70.114
  12. relaunched Brave
  13. clicked on Brave VPN via hamburger menu
  14. confirmed Brave didn't crash
  15. enabled/disabled Brave VPN via hamburger menu
  16. verified Brave VPN worked as expected
  17. verified correct region shown via whatismyipaddress.com
step 6 step 15 step 18
Screenshot at Sep 18 10-12-13 Screenshot at Sep 18 10-17-35 Screenshot at Sep 18 10-17-52

</details.

@rebron rebron removed this from General Oct 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment