electron / electron/remote

MaxListenersExceededWarning: Possible EventEmitter memory leak detected

Open
#139 0 comments 2 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
411
Forks
53
Avg merge
3m
Merged PRs (30d)
1

Description

If remote is in use in the renderer and the page is reloaded >10 times (via `location.reload()` or `webContents.reload()`), the following scary sounding warning appears in the Node console:
```
MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 render-view-deleted listeners added to [EventEmitter]. Use emitter.setMaxListeners() to increase limit
```
Took me a while to trace it to this package but I was able to isolate and confirm. Happens since at least Electron 15 all the way through latest v21, on Win and Mac. Basically if you run this code in a renderer 10 times:
```
console.log(require('@electron/remote').app.getPath('exe'));
location.reload();
```
the warning is thrown. Looks like merely doing `require('@electron/remote')` alone won't trigger the warning but actually accessing any object through remote will. I wonder if there is some cleanup that's not being done on page reloads? I know the docs say to make sure to clean up interprocess references when using remote, but something as simple as `require('@electron/remote').app.getPath('exe')` isn't even creating a persistent reference so I'm not sure what I could be doing wrong.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.