racket / racket/drracket

2htdp/image result display in DrRacket exposes internal bitmap.rkt OOM location

Open
#810 2 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

Displaying a large 2htdp/image value in DrRacket can expose an internal racket/draw source loc (draw/private/bitmap.rkt:169:2) with out of memory. This differs from behavior in other situations, where such errors are reported as plain out of memory.

I think the result-rendering failure should probably be reported without blaming an internal library location, or with a beginner-facing message such as “image is too large to display under the current memory limit.”

#lang htdp/isl+
(require 2htdp/image)

(define WIDTH 25000000)

(rectangle WIDTH 1 "solid" "blue")
--------------------------------------------
Welcome to DrRacket, version 9.1 [cs].
Language: htdp/isl+, with test coverage [custom]; memory limit: 128 MB.
. . ../../Applications/Racket v9.1/share/pkgs/draw-lib/racket/draw/private/bitmap.rkt:169:2: out of memory
> 

This does also present user the OOM pop-up box, which is expected.

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

Reproduce the failure in DrRacket using the provided htdp/isl+ and 2htdp/image example, then inspect the reported racket/draw/private/bitmap.rkt:169:2 location and the result-rendering path. Done means the large-image failure no longer exposes an internal source location and instead presents an appropriate beginner-facing out-of-memory report while retaining the expected pop-up.

Written by the indexing model from the issue text.

Assessment

Domain
desktop-dev, devtools
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.