racket / racket/drracket

memory leak when memory limit hit

Open
#310 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Racket
Stars
516
Forks
103
PR merge metrics
No merged PRs in 30d

Description

I have drracket set to have a 512MB memory limit. If I start drracket and enter this program:

#lang racket
(let loop ([x empty])
  (loop (cons x x)))

The memory indicator says I ame using ~400 MB of memory.

When I run this program until i get the "out of memory error" the memory usage indicator now says ~1100 MB. If i repeat this process each time a few hundred MB is added. But if I click on the memory count to trigger a major GC the memory count says well above 1100MB. (for example when at ~5000MB a major GC only brings it down to ~3000MB). Causing three successive major GC's doesn't change the result.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the issue in DrRacket with a 512MB limit and the recursive cons program shown in the report. Observe the memory indicator after out-of-memory errors and successive major GCs; done means the reported memory behavior is understood and the indicator no longer accumulates unexplained usage.

Written by the indexing model from the issue text.

Assessment

Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.