[racket-dev] try the GRacket2 branch

From: Jose A. Ortega Ruiz (jao at gnu.org)
Date: Sat Oct 30 14:31:43 EDT 2010

On Sat, Oct 30 2010, Matthew Flatt wrote:

> At Fri, 29 Oct 2010 01:04:02 +0200, "Jose A. Ortega Ruiz" wrote:
>> In a build from a checkout of a few minutes ago, drracket dies on me
>> when i try to resize its window, with the following message to the
>> console:
>> 
>> The program '<unknown>' received an X Window System error.
>> This probably reflects a bug in the program.
>> The error was 'BadMatch (invalid parameter attributes)'.
>>   (Details: serial 4084 error_code 8 request_code 59 minor_code 0)
>>   (Note to programmers: normally, X errors are reported asynchronously;
>>    that is, you will receive the error a while after causing it.
>>    To debug your program, run it with the --sync command line
>>    option to change this behavior. You can then get a meaningful
>>    backtrace from your debugger if you break on the gdk_x_error()
>>    function.)
>> 
>> I've tried to pass --sync to drracket, but it complains that the flag is
>> not recognized.
>> 
>> This is on a debian unstable box with gtk 2.20.1.
>
> This happens consistently for you, I guess? I tried a Debian Unstable
> install (with Gtk 2.20.1), and it worked ok for me, so I'm not sure
> what's different.

Yes, it happens all the time. I just tried with plain gracket, and it
displays an error that might be more informative (this, again, happens
when i try to resize the main window):

> ./gracket
make-bytes: out of memory making byte string of length 17169122912

 === context ===
/home/jao/src/scheme/racket/collects/racket/draw/private/bitmap.rkt:66:2
/home/jao/src/scheme/racket/collects/racket/private/class-internal.rkt:3596:0:
continue-make-super
/home/jao/src/scheme/racket/collects/mred/private/wx/gtk/dc.rkt:27:2
/home/jao/src/scheme/racket/collects/racket/private/class-internal.rkt:3546:0:
continue-make-object
/home/jao/src/scheme/racket/collects/racket/private/class-internal.rkt:3468:2:
make-object
/home/jao/src/scheme/racket/collects/mred/private/wx/common/backing-dc.rkt:106:4:
get-cr method in backing-dc%
/home/jao/src/scheme/racket/collects/racket/draw/private/dc.rkt:623:4:
set-clipping-rect method in dc%
/home/jao/src/scheme/racket/collects/mred/private/wxme/text.rkt:4933:2:
refresh method in text%
/home/jao/src/scheme/racket/collects/mred/private/wxme/editor-canvas.rkt:586:2:
redraw method in editor-canvas%
/home/jao/src/scheme/racket/collects/mred/private/wxme/text.rkt:2503:2:
set-max-width method in text%
/home/jao/src/scheme/racket/collects/racket/private/more-scheme.rkt:149:2:
call-with-break-parameterization
/home/jao/src/scheme/racket/collects/racket/private/more-scheme.rkt:265:2:
call-with-exception-handler
/home/jao/src/scheme/racket/collects/racket/private/more-scheme.rkt:149:2:
call-with-break-parameterization
/home/jao/src/scheme/racket/collects/racket/private/more-scheme.rkt:265:2:
call-with-exception-handler
/home/jao/src/scheme/racket/collects/mred/private/wx/common/queue.rkt:359:7
/home/jao/src/scheme/racket/collects/mred/private/wx/common/queue.rkt:396:26

make-bytes: out of memory making byte string of length 17169122912

 === context ===
/home/jao/src/scheme/racket/collects/racket/draw/private/bitmap.rkt:66:2
/home/jao/src/scheme/racket/collects/racket/private/class-internal.rkt:3596:0:
continue-make-super
/home/jao/src/scheme/racket/collects/mred/private/wx/gtk/dc.rkt:27:2
/home/jao/src/scheme/racket/collects/racket/private/class-internal.rkt:3546:0:
continue-make-object
/home/jao/src/scheme/racket/collects/racket/private/class-internal.rkt:3468:2:
make-object
/home/jao/src/scheme/racket/collects/mred/private/wx/common/backing-dc.rkt:106:4:
get-cr method in backing-dc%
/home/jao/src/scheme/racket/collects/mred/private/wx/common/canvas-mixin.rkt:137:13
/home/jao/src/scheme/racket/collects/mred/private/wx/common/queue.rkt:359:7
/home/jao/src/scheme/racket/collects/mred/private/wx/common/queue.rkt:396:26

on-size in window<%>: expected argument of type <exact integer in [0,
10000]>; given 65535

 === context ===
/home/jao/src/scheme/racket/collects/mred/private/mrwindow.rkt:144:17:
on-size method in ...private/mrwindow.rkt:127:4
/home/jao/src/scheme/racket/collects/racket/private/more-scheme.rkt:149:2:
call-with-break-parameterization
/home/jao/src/scheme/racket/collects/racket/private/more-scheme.rkt:265:2:
call-with-exception-handler
/home/jao/src/scheme/racket/collects/mred/private/wx/common/queue.rkt:359:7
/home/jao/src/scheme/racket/collects/mred/private/wx/common/queue.rkt:396:26

> Instead of `--sync', you could provide the `-synchronous' option (i.e,
> the old X-style flag, which GRacket supports for compatibility with the
> old version and translates to `--sync' for Gtk). Combining that flag
> with gdb, you might be able to get some information.

I'll try that, thanks. I will try also with another window manager: this
is using sawfish, and could be its fault.

jao


Posted on the dev mailing list.