racket / racket/gui

Conflict with glfw3 and label (SIGSEGV MAPERR inside GMP)

Open
#118 0 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

The following results in SIGSEGV MAPERR si_code 1 fault on addr 0x10.
Changing the "B" label to an empty string or removing (send the-dialog show #t) prevents this crash.
glfw3 comes from the package repository and works fine on its own. So I'm wondering what causes this problem.

gdb: 0x00007ffff7a2d47c in scheme_gmp_tls_unload ()
    from /usr/lib/libracket3m-7.0.so 
#lang racket/gui

(require glfw3)

(glfwInit)

(define the-dialog
  (new dialog% [label "A"]))

(new message%
     [label "B"]
     [parent the-dialog])

(send the-dialog 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 reproducing the minimal #lang racket/gui example with glfw3, then inspect the reported scheme_gmp_tls_unload frame in /usr/lib/libracket3m-7.0.so under gdb. Compare the cases with and without the message label or (send the-dialog show #t); done means the example no longer produces SIGSEGV MAPERR.

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
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.