metamask-extension
metamask-extension copied to clipboard
Version 8.1.9 freezes while importing keystore
Describe the bug After importing a metamask wallet from a seed and trying to import a keystore json file into this account, metamask freezes until chrome asks to "wait" or "exit" the tab
Steps to reproduce (REQUIRED) Steps to reproduce the behavior, libraries used with version number, and/or any setup information to easily reproduce:
- Install metamask 8.1.9
- Import wallet from seed
- Click on import account
- Select type "Json"
- Enter your password
- Experience a freeze of the metamask tab
Expected behavior Account gets imported
Browser details (please complete the following information):
- OS: Linux
- Hardware Wallet: No
- Browser: Version 87.0.4280.66 (Official Build) Arch Linux (64-bit)
- MetaMask Version: 8.1.9
Additional context (Error Messages, etc.)
Downgrading MetaMask to 8.1.5 fixed the issue
After installing and import, but before getting to the home page, are you accepting participating in the metrics page? Sounds like a #10097.
After installing and import, but before getting to the home page, are you accepting participating in the metrics page? Sounds like a #10097.
No i haven't actually
Where was the json file account created? I've imported a json account created from Mycrypto.
Where was the json file account created? I've imported a json account created from Mycrypto.
directly in geth
I'm seeing the same issue with MetaMask, Chrome on macOS. MetaMask pegs a CPU core for several minutes until killed when attempting to import a JSON keystore file.
Can confirm this on my end as well. Brave on macOS. Running Big Sur on the Apple M1.
Same issue, Ubuntu 20, Chrome 87.0.4280.88.
Thought I had this same issue on Intel Mac running Big Sur, CPU at 100% and fan lifting off. Metamask extension completely unresponsive. About 15min later it pops up and wallet was imported. Used to import from JSON instantly Chrome 87.0.4280.88
same issue happening, on chrome 87.0.4280.88 , metamask 8.1.9 , when importing JSON key it hangs and never recovers
8.1.10 is live on Firefox and is rolling out to Chrome and Brave as we speak. Can someone please confirm whether the issue persists with the new version?
I was unable to reproduce the issue before but I can confirm my configuration continues to import wallets with the same freezing behavior on 8.1.10
Thank you. We just tried changing an Infura API configuration. We're not sure how long it will take to have an effect, but we may see some improvements in the next 24 hours, potentially much sooner. We will continue to monitor this issue for your feedback.
Same issue!
Metamask 8.1.11
Both on Chrome & Brave
Both using the standard Infura RPC, and a custom RPC
Linux
I´ve got the same issue with Chrome (up-to-date Version 87.0.4280.141 ) and the latest (first ever installed) version of Metamask (Version 8.1.1.1) on macOS BigSur. Wanted to import an fresh Account, created yesterday locally with geth. Tried to import the json-File.
Thanks in advance.
I have reproduced the freezing locally in Chrome on develop while importing a wallet file created by geth account new. We are investigating the cause and will report back once we have more information.
Hi there, I am also experiencing this issue.
It was working fine last week, until I upgraded Chrome (current: 88.0.4324.96) and now it freezes, with no errors AFAIK.
Heads up, 9.0.4 seems to trigger this error when loading unpacked:

Here are my findings from reproducing this issue. When importing an account from a JSON file, we end up making this call to ethereumjs-wallet. The extension freezes on this line in that dependency. Ultimately I believe it hangs somewhere in the smix function in the scryptsy package. The extension recovers on a reload of the background process.
The current versions of the aforementioned dependencies were introduced in #9725. That was merged in October/November 2020. It's likely that this functionality has been broken since then. Importing a wallet from a JSON file works with the parent commit of the merge for #9725.
We don't yet have a timeline for a fix, but it should hopefully be straightforward. We will update this issue if we find anything else, but may just close it when a fix it merge. It should then go out in the subsequent release.
Still a game breaking issue the background logs, a lot of 3. party issues:
initSentry.js:1 Setting up Sentry Remote Error Reporting for 'production': SENTRY_DSN initSentry.js:8 Removing intrinsics.Promise.any initSentry.js:8 Removing intrinsics.Reflect.@@toStringTag initSentry.js:8 Removing intrinsics.%StringPrototype%.replaceAll bg-libs.js:16 Invalid asm.js: Unexpected token initSentry.js:8 MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 "update" listeners added. Use emitter.setMaxListeners() to increase limit. (anonymous) @ initSentry.js:8 api.segment.io/v1/batch:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED api.segment.io/v1/batch:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED api.segment.io/v1/batch:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED api.segment.io/v1/batch:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED api.segment.io/v1/batch:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED api.segment.io/v1/batch:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED api.segment.io/v1/batch:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED api.segment.io/v1/batch:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED api.segment.io/v1/batch:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED api.segment.io/v1/batch:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED api.segment.io/v1/batch:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED api.segment.io/v1/batch:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED api.segment.io/v1/batch:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED api.segment.io/v1/batch:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED api.segment.io/v1/batch:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED api.segment.io/v1/batch:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED initSentry.js:8 MetaMask - Account Tracker single call balance fetch failed Object (anonymous) @ initSentry.js:8 api.segment.io/v1/batch:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED api.segment.io/v1/batch:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED api.segment.io/v1/batch:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED ipfs.3box.io/config?address=0x69441dc0d22365b7f8108b43fe4299c865f50903:1 Failed to load resource: the server responded with a status of 404 () api.segment.io/v1/batch:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED api.segment.io/v1/batch:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED api.segment.io/v1/batch:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED api.segment.io/v1/batch:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED DevTools failed to load SourceMap: Could not load content for chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/sourcemaps/initSentry.js.map: HTTP error: status code 404, net::ERR_UNKNOWN_URL_SCHEME DevTools failed to load SourceMap: Could not load content for chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/sourcemaps/bg-libs.js.map: HTTP error: status code 404, net::ERR_UNKNOWN_URL_SCHEME DevTools failed to load SourceMap: Could not load content for chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/sourcemaps/background.js.map: HTTP error: status code 404, net::ERR_UNKNOWN_URL_SCHEME initSentry.js:1 [Violation] 'setInterval' handler took 53ms initSentry.js:1 POST https://api.segment.io/v1/batch net::ERR_NAME_NOT_RESOLVED (anonymous) @ initSentry.js:1 (anonymous) @ initSentry.js:8 (anonymous) @ background.js:18 t.exports @ background.js:18 t.exports @ background.js:18 Promise.then (async) c.request @ background.js:18 (anonymous) @ background.js:18 flush @ background.js:12 c @ initSentry.js:1 setTimeout (async) (anonymous) @ initSentry.js:1 enqueue @ background.js:12 page @ background.js:12 trackPage @ background.js:1 (anonymous) @ background.js:1 c.apply @ background.js:51 c.handle @ background.js:51 a.handle @ background.js:51 a.write @ background.js:51 m @ background.js:116 h @ background.js:34 a.emit @ background.js:34 _ @ background.js:116 w @ background.js:116 v.push @ background.js:116 _write @ background.js:110 v @ background.js:116 (anonymous) @ background.js:116 b.write @ background.js:116 m @ background.js:116 h @ background.js:34 a.emit @ background.js:34 _ @ background.js:116 w @ background.js:116 v.push @ background.js:116 _onMessage @ background.js:80 (anonymous) @ background.js:80 initSentry.js:1 [Violation] 'setInterval' handler took 53ms initSentry.js:1 POST https://api.segment.io/v1/batch net::ERR_NAME_NOT_RESOLVED (anonymous) @ initSentry.js:1 (anonymous) @ initSentry.js:8 (anonymous) @ background.js:18 t.exports @ background.js:18 t.exports @ background.js:18 Promise.then (async) c.request @ background.js:18 (anonymous) @ background.js:18 flush @ background.js:12 c @ initSentry.js:1 setTimeout (async) (anonymous) @ initSentry.js:1 enqueue @ background.js:12 page @ background.js:12 trackPage @ background.js:1 (anonymous) @ background.js:1 c.apply @ background.js:51 c.handle @ background.js:51 a.handle @ background.js:51 a.write @ background.js:51 m @ background.js:116 h @ background.js:34 a.emit @ background.js:34 _ @ background.js:116 w @ background.js:116 v.push @ background.js:116 _write @ background.js:110 v @ background.js:116 (anonymous) @ background.js:116 b.write @ background.js:116 m @ background.js:116 h @ background.js:34 a.emit @ background.js:34 _ @ background.js:116 w @ background.js:116 v.push @ background.js:116 _onMessage @ background.js:80 (anonymous) @ background.js:80 initSentry.js:1 POST https://api.segment.io/v1/batch net::ERR_NAME_NOT_RESOLVED (anonymous) @ initSentry.js:1 (anonymous) @ initSentry.js:8 (anonymous) @ background.js:18 t.exports @ background.js:18 t.exports @ background.js:18 Promise.then (async) c.request @ background.js:18 (anonymous) @ background.js:18 flush @ background.js:12 c @ initSentry.js:1 setTimeout (async) (anonymous) @ initSentry.js:1 enqueue @ background.js:12 track @ background.js:12 (anonymous) @ background.js:1 _track @ background.js:1 trackEvent @ background.js:1 (anonymous) @ background.js:1 c.apply @ background.js:51 c.handle @ background.js:51 a.handle @ background.js:51 a.write @ background.js:51 m @ background.js:116 h @ background.js:34 a.emit @ background.js:34 _ @ background.js:116 w @ background.js:116 v.push @ background.js:116 _write @ background.js:110 v @ background.js:116 (anonymous) @ background.js:116 b.write @ background.js:116 m @ background.js:116 h @ background.js:34 a.emit @ background.js:34 _ @ background.js:116 w @ background.js:116 v.push @ background.js:116 _onMessage @ background.js:80 (anonymous) @ background.js:80
Import works, but this is not ok :)
Also having the same problem.
Lost access to my Metamask-wallet and I can't import account via my json-file. Metamask gets stuck and crashes everytime. I have no seed phrase available though. Is there any way to recover? ... it's getting frustrating
I tried to recover with vault encryptor, but since the vault encryptor only saves the data from the last mnenomic wallet active on the browser, there is no way to recover older ones - or is that so?
@sebastiank9 you should be able to import the json file into another wallet like MEW. It is less secure though.
https://kb.myetherwallet.com/en/getting-started/how-to-access-your-wallet/
To connect with Keystore/JSON + Password:
This is not a recommended way to connect. We highly suggest using MEW offline for this option.
Step 1. On the MEW front page, select ‘Access My Wallet’.
Step 2. Choose the ‘Software’ option to connect, then select ‘JSON File’ and click ‘Continue’.
Step 3. Locate your Keystore/JSON file in the pop-up window. It should begin with ‘UTC–’.
Step 4. Enter your password, and click ‘Unlock wallet’.
Step 5. You’re done!
Any update on this issue?
I had the same issue yesterday on my desktop. But it worked on my laptop after about 5 minutes of it appearing frozen. Desktop has not worked yet.
Edit: it worked on my desktop too. Took about 10 minutes.
Took long enough to google up and read this issue, but importing finished quickly after that (like 6 minutes). So be patient. That was on a i7-7700HQ notebook. I guess import speed depends on CPU power available.
Still the same issue on metamask version 9.1.1 using chrome version 89 on a normal core-i5 notebook took long enough (about 10 minutes) but it did finish successfully.
We have identified the cause of this issue and are working to find and ship a fix. We asses that a recent change we made to our JavaScript environment for security purposes slows down the JavaScript engine's execution of the cryptographic operations performed when importing a JSON wallet.
From our own testing, we can confirm that importing a JSON wallet still works, it just takes an extremely long time to complete, probably somewhere in the 5-20 minute range depending on your device, CPU/memory load, and possibly how busy your browser is (open tabs, running extensions etc.).
We will update this issue with any new information that comes to light, and probably close it once a fixed is merged and on its way to production.
check regExp in source code (probably)
From our own testing, we can confirm that importing a JSON wallet still works, it just takes an extremely long time to complete, probably somewhere in the 5-20 minute range depending on your device, CPU/memory load, and possibly how busy your browser is (open tabs, running extensions etc.).
We will update this issue with any new information that comes to light, and probably close it once a fixed is merged and on its way to production.
I can confirm it still happens in Brave. But that it indeed works if you are patient. Quite an interesting issue :)
Just wanted to throw my hat into the ring and say I'm seeing the same issue in Metamask V9.5.9 on Chrome Version 91.0.4472.77 (Official Build) (64-bit).
still having this issue today on windows 10 with brave, chrome, edge browsers...
still having this issue
- windows 10
- chrome Version 92.0.4515.159 (Official Build) (64-bit)
- MetaMask Version 10.0.3