Skip to content

Conversation

tomasz-karczewski-red
Copy link

Seems that conservative GC root scanning is going too deep into the stack and this may prevent the collection of objects - see:

#1363

The change introduces 'stack guards' that prevent this in particular cases, that is - if there is gloop main loop routine in the stack the GC root stack search will not go deeper that this frame. This avoids some 'false positives' conservative roots that can make the app hold a lot of memory - in the typical replication scenario around 200MB of memory was often left behind after exiting sky store/show apps (https://stv.prd.sky.ch/store/, https://stv.prd.sky.ch/show/), leading to oom's.

Turns out that conservative GC root scanning is going too deep into the stack
and this may prevent the collection of objects - see:

WebPlatformForEmbedded#1363

The change introduces 'stack guards' that prevent this in particular cases,
that is - if there is gloop main loop routine in the stack the GC root stack search
will not go deeper that this frame. This avoids some 'false positives' conservative roots
that can make the app hold a lot of memory.
@tomasz-karczewski-red tomasz-karczewski-red force-pushed the RDK-588_LimitConservativeScanStackRange branch from a301af9 to 1c94a4a Compare October 28, 2024 14:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

Successfully merging this pull request may close these issues.

3 participants