racket / racket/gui

Ubuntu 26.04/Wayland/Gtk: Resource exhaustion for message-box called in button callback

Open
#368 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Racket
Stars
68
Forks
82
PR merge metrics
No merged PRs in 30d

Description

Hi,

running the test program below on Ubuntu 26.04/Wayland/Gtk4/Gnome50/Racket 9.1 and selecting "Quit", the message-box is not displayed, instead I'm getting spinning fans for a few seconds, then the program ends with "Gdk-Message: 14:15:24.255: Error flushing display: Resource temporarily unavailable" (original text for the second part in German: "Die Ressource ist zur Zeit nicht verfügbar").

The program runs just fine on Windows, both with Racket 9.0 and Racket 9.1.

I hope the information is good enough to reproduce the issue.

Thanks for the great racket/gui package :)

Best regards, Frank

#lang racket

(require racket/gui)

(define frame
  (new frame% [label "Quit example"] [width 300] [height 100]))

(define quit-button
  (new button% [parent frame] [label "Quit"]
       [callback
        (lambda (_button _event)
          (when (eq? (message-box "Quit" "Do you really want to quit?"
                                  frame '(yes-no)) 'yes)
            (send frame show #f)
            (exit 0)))]))

(send frame show #t)

Contributor guide

Open the contributing guide

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 running the provided minimal program with racket/gui on Ubuntu 26.04, Wayland, GTK4, and GNOME 50, then compare the callback behavior with Windows. Investigate the message-box call from the button callback and the reported display-flush error. Done means the confirmation dialog appears and selecting either option exits without resource exhaustion.

Written by the indexing model from the issue text.

Assessment

Domain
desktop, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.