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

Aperta
#810 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
42/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla

Direzione di ricerca

Riproduci il malfunzionamento in DrRacket usando l’esempio fornito di htdp/isl+ e 2htdp/image, quindi esamina la posizione segnalata racket/draw/private/bitmap.rkt:169:2 e il percorso di rendering del risultato. Il lavoro è completato quando il malfunzionamento con immagini grandi non espone più una posizione interna del codice sorgente, ma mostra invece un rapporto di memoria esaurita appropriato per chi è alle prime armi, mantenendo il pop-up previsto.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.

Lingua principale
Racket
Stelle
517
Fork
102
Merge medio
20m
PR unite (30g)
1

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di racket/drracket

Tutte le issue di racket/drracket

Issue simili

Altre issue su Desktop Dev

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.