MetaMask / MetaMask/metamask-extension

MetaMask has become unusable due to persistent memory leaks and recent regressions

Open
#44,321 1 comment 0 reactions 0 assignees View on GitHub
external-contributor
Dominant language
TypeScript
Stars
13.2k
Forks
5.6k
Avg merge
2d 5h
Merged PRs (30d)
451

Description

### What is this about?

This is not a general bug report about a single console warning or one broken dapp integration. This is feedback about the current state of MetaMask as a product.

MetaMask has had serious memory leak issues for months, and they still do not appear to be properly fixed. The browser extension keeps leaking memory, producing repeated provider/stream-related warnings, and causing increasingly unstable behavior during normal wallet usage. This has been reported in different forms for a long time, yet the user experience is still getting worse instead of better.

Since the latest update, the situation has become unacceptable. The extension is no longer just noisy or mildly annoying — it is effectively unusable in real-world dapp flows.

Examples of the kind of failures I am seeing:

MaxListenersExceededWarning: Possible EventEmitter memory leak detected
ObjectMultiplex - orphaned data for stream "metamask-multichain-provider"
StreamMiddleware - Unknown response id
Sender: Failed to send batch TypeError: NetworkError when attempting to fetch resource.
mm-sdk-analytics.api.cx.metamask.io/v2/events
Random crashes in normal situations

These issues happen during normal wallet connection and authentication flows. The problem is not limited to one minor browser quirk. I have seen the same class of problems across browsers, and the behavior points to MetaMask / MetaMask SDK / provider handling, not a random website issue.

The most frustrating part is that the extension keeps behaving like this while handling financial assets. A crypto wallet is not a normal browser toy extension. If it leaks memory, breaks provider streams, spams failed internal requests, and becomes unstable after updates, that directly damages user trust.

At this point, I no longer feel comfortable keeping funds in MetaMask. I have moved to another wallet provider because I do not trust the current stability of the extension.

Please do not treat this as just another minor console warning. The bigger issue is that MetaMask has become unreliable for basic dapp usage, and long-running memory leak problems still do not seem to be resolved properly.

Expected behavior:

MetaMask should not leak memory during normal usage.
Provider streams should not repeatedly produce orphaned data / unknown response warnings.
The extension should remain stable across long browser sessions.
Updates should not make the wallet unusable.
Users should be able to trust the wallet enough to keep funds in it.

Actual behavior:

Memory usage and instability persist over time.
Provider and stream-related warnings repeat constantly.
Dapp connection flows become noisy and unreliable.
The latest update appears to have made the situation significantly worse.
User trust is damaged to the point where I migrated away from MetaMask.

This needs to be treated as a serious product reliability issue, not as cosmetic console noise.

Addon:

I tried to reinstall, reinstalled even the browser, but the issues persist.
Also Polymarket policy blocks MetaMask SDK analytics request
Flooding my dev tool console logs with tons of data, i cannot even imagine how, some is close to sensitive data leak, is the code written inisde a console.log() call itself? No words.

### Scenario

_No response_

### Design

_No response_

### Technical Details

_No response_

### Threat Modeling Framework

_No response_

### Acceptance Criteria

_No response_

### Stakeholder review needed before the work gets merged

- [x] Engineering (needed in most cases)
- [ ] Design
- [x] Product
- [x] QA (automation tests are required to pass before merging PRs but not all changes are covered by automation tests - please review if QA is needed beyond automation tests)
- [x] Security
- [ ] Legal
- [ ] Marketing
- [ ] Management (please specify)
- [ ] Other (please specify)

### References

_No response_

Contributor guide

Open the contributing guide

Research direction

No file, test, or entry point is identified. Begin by reproducing the leak across a long browser session and separating provider or stream warnings, failed analytics requests, and crashes; done requires a narrowed cause, a reproducible case, and passing regression coverage.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend, performance
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.