-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Misc memory leak fixes #7224
Misc memory leak fixes #7224
Conversation
Current Playwright Test Results Summary✅ 153 Passing - Run may still be in progress, this comment will be updated as current testing workflow or job completes... (Last updated on 11/13/2023 09:09:44pm UTC)
|
Test Case | Last 7 days Failures | Last 7 days Flakes |
---|---|---|
Restricted Notebook with a page locked and with an embed @addinit Allows embeds to be deleted if page unlocked @addinit
Retry 1 • Initial Attempt |
0% (0)0 / 130 runsfailed over last 7 days |
48.46% (63)63 / 130 runsflaked over last 7 days |
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## master #7224 +/- ##
==========================================
+ Coverage 55.31% 55.41% +0.09%
==========================================
Files 671 671
Lines 27002 27010 +8
Branches 2630 2631 +1
==========================================
+ Hits 14936 14967 +31
+ Misses 11344 11323 -21
+ Partials 722 720 -2
*This pull request uses carry forward flags. Click here to find out more.
... and 11 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
|
@@ -23,7 +23,7 @@ | |||
<div v-if="loaded" class="js-plot-options-browse"> | |||
<ul v-if="!isStackedPlotObject" class="c-tree" aria-label="Plot Series Properties"> | |||
<h2 class="--first" title="Plot series display properties in this object">Plot Series</h2> | |||
<plot-options-item v-for="series in plotSeries" :key="series.key" :series="series" /> | |||
<PlotOptionsItem v-for="series in plotSeries" :key="series.keyString" :series="series" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oof, nice catch
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Works well. Tested various components for functionality, and changes make sense from a memory perspective.
@@ -99,7 +99,10 @@ export default class ViewLargeAction { | |||
} | |||
); | |||
this.preview = vNode.componentInstance; | |||
this.destroy = destroy; | |||
this.destroy = () => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not really applicable to this PR, but it looks like PreviewContainer throws a Vue warning when reusing an existing component (e.g., using viewLargeAction in a DisplayLayout):
[Vue warn]: Maximum recursive updates exceeded. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.
... repeating a zillion times ...
flushJobs @ runtime-core.esm-bundler.js:372
flushJobs @ runtime-core.esm-bundler.js:372
flushJobs @ runtime-core.esm-bundler.js:372
flushJobs @ runtime-core.esm-bundler.js:372
flushJobs @ runtime-core.esm-bundler.js:372
flushJobs @ runtime-core.esm-bundler.js:372
flushJobs @ runtime-core.esm-bundler.js:372
flushJobs @ runtime-core.esm-bundler.js:372
flushJobs @ runtime-core.esm-bundler.js:372
flushJobs @ runtime-core.esm-bundler.js:372
flushJobs @ runtime-core.esm-bundler.js:372
flushJobs @ runtime-core.esm-bundler.js:372
flushJobs @ runtime-core.esm-bundler.js:372
flushJobs @ runtime-core.esm-bundler.js:372
flushJobs @ runtime-core.esm-bundler.js:372
Promise.then (async)
queueFlush @ runtime-core.esm-bundler.js:275
queuePostFlushCb @ runtime-core.esm-bundler.js:295
queueEffectWithSuspense @ runtime-core.esm-bundler.js:1665
componentUpdateFn @ runtime-core.esm-bundler.js:5770
run @ reactivity.esm-bundler.js:178
instance.update @ runtime-core.esm-bundler.js:5861
setupRenderEffect @ runtime-core.esm-bundler.js:5869
mountComponent @ runtime-core.esm-bundler.js:5659
processComponent @ runtime-core.esm-bundler.js:5612
patch @ runtime-core.esm-bundler.js:5087
mountChildren @ runtime-core.esm-bundler.js:5331
mountElement @ runtime-core.esm-bundler.js:5238
processElement @ runtime-core.esm-bundler.js:5203
patch @ runtime-core.esm-bundler.js:5075
mountChildren @ runtime-core.esm-bundler.js:5331
mountElement @ runtime-core.esm-bundler.js:5238
processElement @ runtime-core.esm-bundler.js:5203
patch @ runtime-core.esm-bundler.js:5075
componentUpdateFn @ runtime-core.esm-bundler.js:5755
run @ reactivity.esm-bundler.js:178
instance.update @ runtime-core.esm-bundler.js:5861
setupRenderEffect @ runtime-core.esm-bundler.js:5869
mountComponent @ runtime-core.esm-bundler.js:5659
processComponent @ runtime-core.esm-bundler.js:5612
patch @ runtime-core.esm-bundler.js:5087
mountChildren @ runtime-core.esm-bundler.js:5331
mountElement @ runtime-core.esm-bundler.js:5238
processElement @ runtime-core.esm-bundler.js:5203
patch @ runtime-core.esm-bundler.js:5075
componentUpdateFn @ runtime-core.esm-bundler.js:5755
run @ reactivity.esm-bundler.js:178
instance.update @ runtime-core.esm-bundler.js:5861
setupRenderEffect @ runtime-core.esm-bundler.js:5869
mountComponent @ runtime-core.esm-bundler.js:5659
processComponent @ runtime-core.esm-bundler.js:5612
patch @ runtime-core.esm-bundler.js:5087
componentUpdateFn @ runtime-core.esm-bundler.js:5755
run @ reactivity.esm-bundler.js:178
instance.update @ runtime-core.esm-bundler.js:5861
setupRenderEffect @ runtime-core.esm-bundler.js:5869
mountComponent @ runtime-core.esm-bundler.js:5659
processComponent @ runtime-core.esm-bundler.js:5612
patch @ runtime-core.esm-bundler.js:5087
render @ runtime-core.esm-bundler.js:6379
mount @ runtime-core.esm-bundler.js:3832
app.mount @ runtime-dom.esm-bundler.js:1449
mount @ mount.js:10
_getPreview @ viewLargeAction.js:81
_expand @ viewLargeAction.js:65
invoke @ viewLargeAction.js:51
action.onItemClicked @ MenuAPI.js:81
callWithErrorHandling @ runtime-core.esm-bundler.js:158
callWithAsyncErrorHandling @ runtime-core.esm-bundler.js:166
invoker @ runtime-dom.esm-bundler.js:595
eventHelpers.js:38 [Violation] Added non-passive event listener to a scroll-blocking 'wheel' event. Consider marking event handler as 'passive' to make the page more responsive. See https://www.chromestatus.com/feature/5745543795965952
listenTo @ eventHelpers.js:38
initCanvas @ MctPlot.vue:885
callWithErrorHandling @ runtime-core.esm-bundler.js:158
callWithAsyncErrorHandling @ runtime-core.esm-bundler.js:166
emit @ runtime-core.esm-bundler.js:669
visibilityChanged @ MctChart.vue:300
Seems to happen with any type of component in a DisplayLayout, so probably an issue with PreviewContainer.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
N/A
Describe your changes:
Various memory leak and performance related fixes discovered while investigating complex displays memory/cpu usage
All Submissions:
Author Checklist
Reviewer Checklist