apache / apache/echarts

[Bug] Memory Leak in ECharts Example

Open
#20,751 4 comments 0 reactions 0 assignees View on GitHub
bug en pending
Dominant language
TypeScript
Stars
67.3k
Forks
19.8k
Avg merge
11d 14h
Merged PRs (30d)
8

Description

### Version

5.6

### Link to Minimal Reproduction

https://echarts.apache.org/examples/en/editor.html?c=line-stack&code=PYBwLglsB2AEC8sDeBYAULTtJgDYFMAuZdLM7fADzGIHIAVCXMAW3zHwCdaAaU8zAQBmNWLQDG-aB279MAXz4YsYYMGYQQxVMoFhOEAOaGudAIaUIAZ15zyVgBbAA7sX0BXfHcV2z0CCxmkDDEQma4VvhKZKrqAEbAlNp2ZEL4Qe6cRCS6AlhWZgBu-ACCVgCSgSbasI4uoeGRsD65ebAAJkFmAGoQ-K7ItU4DYRH4zSlY8t7RWAQm0O3JrVidYGbEANqTAgxMYLAAjLxijMywAEwne-cAzNdnBwAsD_uwAKyv5wBsXwcA7H9YAAOE47cg3A4ATiBhwADLDjjxTm9DldkZCjvcMY8ji8cajPgTzodfuCALqzATAAxSUS0YqcSDicK2FaCfAiOgGQwOMBstqqLRiSTSLi0GZ2QwGJY5No8vnENFwyW5SglSxWZaCgCeIGytEgbAFeSsIFwEDAABkINBskghvVsJxPM0qeQLNYrWY4vhcNq2lghDTAmAZHQkAAJSPyQhIFgsWNIKxWeS0WAAegzsHoDmssBYRj5sDt-HasDM7QAVu4rKw6bAIEJsAFxsHOKHINBDI2rNBDbBnDSANa2wzglptBLuRZmTg6gDiZmFo0iqrIOo11gDAmgZjYdAAIvhpfhxgAKAANAEoTXo9QbCuFPHf7ObLTa7TU6gMPONJ3kgRJLATxwnC7pkIW0DEAAtE8EFYHubBWsALLBNBYiFu07QEK-ZBIfgABKwDrBwxBQuB4IEUuwrvJR7IVpq3q-v6gw_m4Lr_qqkS0lqsDbLkOi6vqdAWnaeGIfuBq4ki4I_gAyjqLAJKxf4IZgVgsGoYAOBxnjqQWc7Dp-9rgmQVhMHSDRjAZZBifg8lgDqBA1M4EDtDpxAXMiTkiWInSOGW6YAYGHRdFslJmfkSkqVstDXLQkUMXZPp-t-wzWU00wMSF5BrBs_FRZgmwAEQXHCFzvDBFUwYchxHO8hCHLchDvN8JXInCAB07zvEloXFWVFVVTVdUNU1LXvP8HWwN1TzfP1A2leVlXVRctX1YcjXNa1wIzd1twXItoXLcNa0beNO3vFC-1dcCwLkhS65YEJeS-Qa9kSZgBF0Li6JycMinKeoelRHJWkkbpzr6eCgScMZtqmcl-SWdImVg8jgiI45zn2oO7mebNPkPnQAUOEFbpFWF6xbA6P1iCcm6asQ4GwPZOMuYM4jqDSdBxLgZjiMOwXNMdgZWDFIP8fFGKJbZcypaxDrsbAq5cTlBn5VsVOnato2bdtk3tci8Jdbc_xi20usjetY1bRNrXTSbB0W_Lg0rTbF321de3O11_xHW7_FDXrtsGw710zab3x9U9uS5a995-bQn0GfTmLYgDLhA7F0MY20mnaVDamw0ZJk7uLqOiGrQfs05nMOm5HlQ6z72k2YgXtMFQda_xdNSXQjNbnxrN17jNTc7gvNiPzgvC80otBxLwOsZsMsM5beQCyx6VOmrEwa-CvcCQNwce-dduG61xuXC7m8CNbF_h1dTu32brs6yHnuXxHvtvwH99yCP31pdSaN1kTlS6jHR6DEYFkATuCNuYhU5UQHiic4-Is7OBzlLEuDFC6Q1BgZOGCMvxygGhZAgaNVaNHzgNMeDd8bNxZsTZOZMKa5TaMffuB4GbIiZtuImbNsb1zxpPaetBZ5CxFvIQB5lJar3XvFORCsd5sQyjQsYB82icNWOFQqmMz5nRAd7I2M1bh3yDsAsOoDHbmMsZ_c-Jir7vD_hY_2gdHHGJsaY1q4DYDuOgXHeB7pE7kCQSnRGX0SxoMxESLBODVKcQMgQwmeC2gkPLuQ0KlCrKaMiLXER49BhN0Jq3Em_kO7ky7pTQx3CYm8PXgIkeyIGFiJ5pwPmAtpEL1kUvBRcUEoqMEIrXeIxaHaLyLozAx8vGhy9i4m-oF37DKMfMn-L8ZrLPNqs6xCzf5bO6gAqxX8n62MjsiZZQTYHPUwGEmIFTIniTTrE3EvwUmAwGXnFJEM0nJNLvDLJ9zTRV3RoUu0HM8alJbqwg07CanTLyvozYPCDRD2ZkItpE8OldLnjI1Zy9c5ryGbXUZ6i94TOyjozWyK5nf2fmY5EdEVknKcT4lxr9mU7NZd4_ZPsZrMuOXSs5viLkfG6tctocCpihMQY8lBDF064kBB87OXz0mml-cXf5DFMmIwrgXUF-S6GhSxSUgmMLsCPPhd3Km9T07osEaPIpjDxGdJnt0-e8hF5U0JVLYlstVnbzSuS8ZWiqVTJpTTAxp89kbMZbAb4DjDFxoZXY5ESaWXCucQcjNRzPEptOTmq6_jM2SryNKhQsqGIRIVW0JVbxQSquweqnVBctVEIBaQpGp9cnUJrlTM1jcLUsKtWwqpHCe7ItRYPfhw9R1DtgG63FPTvV9N9V8gNG9SVqOVho_eEaBCItmYWtlfKE3_GTbGot7KI6v0vVm09vL427Rmg-oVT71lprFQ-8tAhK21LIMCzAtaokvMabiGEzbEmdvwR275XagW-qNQOwxi7oWjoiTawDA17WxMdS04RELRHYqnu6yRnr8X9JXoMwNO6Q17opeGicUaConyWje8918ZrAivRxs9L6po8b4ydTjgm_68Y8bssT37_GSb_eQADLQwmgeeXYBtJIETugUq2mGuRUnar05BMu-rsn2BQ7Qgy6GR1CKwxOhFrHaYNLRXOjFzriPFIdMuj1eLemAL9Yokl4Jg1K0dGGrKtzqZsfBKm85N8KKPqtjJ85r8Evcpi8l0Vf8EsfqSwJ2TM0EsKZgcpuwqn8Cvg0wcOqr4dM0YQ_p-DGrMB6rIcB2oFmbLBZdVCmz5Tx2d1tQxPDjSCMLp66RiRUivU-vwZupRctgtksY-F9WIS7Anry8-79N94QiaAZljlUcwKJbyLFrLx382APOy4_xe2oGx1yCVpQKn5VgfU681E_19OfPq812oTW21YFaz2kFVDq6We6x5xhGHbPWvs0Nrh07nOztgM08b0P2lkZXTN9dc36tbuUVZ5bYX0aTKrRt2lDEbsR126bdL1PDt3qjvTj-jP8vnL_nVK7BkaclpZxKx7ZBnvoFe8nOtkkIOokzj9tVf2gcaUB0Z4HJm2tyU6wUqHDkSPmuYXDgb1TEd5BGy5tH87MUTa5jinzq7ZsF3m0FhiIWxlk8PThmZVOttfri1HSBDOvf0pS77_bZA-eTS55A3LZ2mf85NpA4r6BSu5HK5Vz7JJMGy5bfL5Xiui6weM4C0z7W-0Q6607y3w69f9bhQj93SLo0opR3ws3bnWkV6Xdbijvm13-Yd3Rpbu7SfGvJ3Xzb0eOeit2-4_34_ttB5NtPtnAeRUuK5-4qPD8Y9gKjoEoXWARdoDFx9d7uQqsNVq793O_2DP55V4XtX-CNcmvINZqvsL26Dbr2QE3qP0cW8x5NuRtNlRnJH3tugPgxkPgepFmPpvhPoslHNskvrPt7qKq_IcEgddlvq-ibMshvgdvARHHdlcnvpgAfkfqJCfvhGntVu8nYHVlfgrgDnng1gXt2gaijODmClrpCq5H1u_pUp_sesjg6q5k6m3gAVbtjjbrjr3gTgtoAs7qGq7jAZ7igYHpPlHFysgXAXPmgVoSHlgGHjgQ1DzhloQbHqYQ9gBtKonugOgDAongANxAA

### Steps to Reproduce

Hi everyone,

I'm working with an ECharts for a dynamic graph and have noticed a leak issue.

The chart runs fine initially, but over time, it appears to stack the memory usage as if the previously called ones is still there.

This happens even when data updates are handled properly, and I suspect there might be an issue with how series or event listeners are being managed.

I've shared the minimal in the link to minimal reproduction.

The way I use it is all the same with that minimal reproduction but I call it at every second with the maximum of 50 points of data per plot.

When the array size or string size isn't going up at all (only changing numbers every time) the array buffer goes bigger and bigger until it eventually stop.

![Image](https://github.com/user-attachments/assets/1d198413-18a4-4c71-9964-5b4d9145c611)

I would really appreciate any guidance on debugging and fixing this memory issue.

1. Are there common pitfalls in ECharts that could cause memory leaks?
2. Is there a recommended way to clean up or optimize dynamic updates in large datasets?
3. Any tools or techniques for profiling and identifying the root cause?

Thanks in advance for your time and help!

### Current Behavior

The memory still leaking every minutes passing and eventually comes to a stop.

### Expected Behavior

Old called reference should be automatically deleted and not pilling up.

### Environment

```markdown
- OS: Windows 10
- Browser: Mozilla Firefox
- Framework: Javascript
```

### Any additional comments?

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.