Metamask-extension: Blank Screen in Chrome Extension v.7.2.1

Created on 19 Sep 2019  路  9Comments  路  Source: MetaMask/metamask-extension

Describe the bug
Metamask shows blank screen after I login.

To Reproduce
Steps to reproduce the behavior:

  1. Open Metamask first time. Go through creation of new account
  2. Close Metamask for a long time (or turn off and then back on) to cause logout
  3. Metamask asks for password. Enter it.
  4. Metamask asks for password again, but on a differently looking screen. Enter it.
  5. Metamask shows blank screen forever (waited 10+ minutes)

Expected behavior

Screenshots

Browser details (please complete the following information):

  • OS: Ubuntu 16.04
  • Chrome Browser: 77.0.3865.90
  • MetaMask Version 7.2.1

Additional context
Metamask settings: Site access - on all sites, collect errors enabled. Other options disabled.

Most helpful comment

I think I chased the root cause for the issue. When I connect through a VPN, Metamask works, the issue is gone. I am located in Russia and the local Internet provider might have blocked the access to some of the IPs Metamask is trying to access, perhaps even Infura node.

All 9 comments

Step 3:
image

Step 4:
image

Step 5:
image

There is no error output in background page console. All I see is this:

image

I also see this identical behavior on a different computer with different version of Google Chrome (75), but same version of Metamask and same Ubuntu 16.04.

That second password screen is the same as the first, but the CSS styles have broken, because some kind of crash has already occurred.

Did you check the logs in the UI console?

It would be good to get state logs from this event, they might help. If you want maximal privacy, you can send them to [email protected]

To help us diagnose your issue, you can download your "state logs" by following this guide, and then sending them to [email protected] .

I was unable to reproduce this on:

OS: Ubuntu 18.04.2 (newer)
Chrome Browser: 77.0.3865.90 (same)
MetaMask Version 7.2.1 (same)

I wasn't able to reproduce this exactly, but I did reproduce something vaguely similar.

I found an error in Sentry that matches this description somewhat, and it resulted from this error in the UI:

BigNumber Error: times() not a number: null
  at raise(node_modules/bignumber.js/bignumber.js:1190:1)
  at parseNumeric(node_modules/bignumber.js/bignumber.js:1178:1)
  at new K(node_modules/bignumber.js/bignumber.js:193:1)
  at apply(node_modules/bignumber.js/bignumber.js:2092:1)
  at apply(node_modules/ramda/src/invoker.js:38:1)
  at apply(node_modules/ramda/src/internal/_curryN.js:37:1)
  at f(node_modules/ramda/src/internal/_arity.js:5:1)
  at toFunctorFn(node_modules/ramda/src/over.js:37:1)
  at lens(node_modules/ramda/src/lens.js:35:1)
  at fn(node_modules/ramda/src/over.js:37:1)
  at fn(node_modules/ramda/src/internal/_curry3.js:21:1)
  at _b(node_modules/ramda/src/internal/_curry2.js:25:1)
  at apply(node_modules/ramda/src/converge.js:40:1)
  at f1(node_modules/ramda/src/internal/_curry1.js:17:1)
  at fn(node_modules/ramda/src/when.js:33:1)
  at apply(node_modules/ramda/src/internal/_curry3.js:26:1)
  at f1(node_modules/ramda/src/internal/_curry1.js:17:1)
  at apply(node_modules/ramda/src/internal/_pipe.js:3:1)
  at apply(node_modules/ramda/src/internal/_pipe.js:3:1)
  at apply(node_modules/ramda/src/internal/_pipe.js:3:1)
  at apply(node_modules/ramda/src/internal/_pipe.js:3:1)
  at apply(node_modules/ramda/src/internal/_pipe.js:3:1)
  at apply(node_modules/ramda/src/internal/_pipe.js:3:1)
  at converter(node_modules/ramda/src/internal/_arity.js:5:1)
  at conversionUtil(ui/app/helpers/utils/conversion-util.js:127:7)
  at getValueFromWeiHex(ui/app/helpers/utils/confirm-tx.util.js:64:10)
  at mergeProps(ui/app/components/ui/currency-display/currency-display.container.js:31:5)

Ultimately it was caused by conversionRate being set to null, which I suspect was due to a failed network request being mishandled (hence the lack of an error in the background). This is speculation, but the API we use to get that conversion rate had downtime recently: https://status.cryptocompare.com/status/updates?createdOn=1568910944

We should be able to handle a missing conversionRate without crashing of course - we should just not show the converted currency. I've improved the error handling in the controller responsible for the conversionRate here: https://github.com/MetaMask/gaba/pull/157

I was able to reproduce the problem locally by hard-coding a JSON response without the conversion rate in the call to cryptocompare.com. I didn't see the blank page on the lock screen, but I did see it when trying to transfer tokens or add a token.

I think I chased the root cause for the issue. When I connect through a VPN, Metamask works, the issue is gone. I am located in Russia and the local Internet provider might have blocked the access to some of the IPs Metamask is trying to access, perhaps even Infura node.

The same issue with:

Linux
Chrome Version 64.0.3282.167 (Official Build) (64-bit)
MetaMask 7.3.1

After login UI does not work. Worked some time ago with older extension version.

No error message or something. User is left by himself with no acces to wallet.

Fixed in latest version, 7.7.3. If the issue has persisted, please email support.

Was this page helpful?
0 / 5 - 0 ratings