Re: [Haskell-cafe] gtk2hs problem

2007-11-21 Thread Gregory Propf
OK, it actually DOES appear related to the -threaded flag.  I was sure I had 
removed that and still seen the problem but now it seems that taking that out 
is indeed the fix.  Using the -O2 flag is OK.  I guess it's some syncronization 
problem when using the threaded RTS.  Which is a shame because it does seem 
faster that way on my dual core machine.  I guess I need to learn about how 
threading works in ghc.

Duncan Coutts <[EMAIL PROTECTED]> wrote: On Tue, 2007-11-20 at 15:18 -0800, 
Gregory Propf wrote:
> I'm using the Gtk.timeoutAddFull function to do the animation.

Are you using the threaded rts? Are you linking the program with
-threaded?

Are you doing the drawing directly in the timeout function or just
invalidating the window/widget and letting it get redrawn?

See for example the cairo clock demo which animates the hands of the
clock every second:

timeoutAdd (widgetQueueDraw window >> return True) 1000

In general it is much better to only ever draw to a window or widget
during that widget's expose event.

Duncan


   
-
Get easy, one-click access to your favorites.  Make Yahoo! your homepage.___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] gtk2hs problem

2007-11-20 Thread Duncan Coutts
On Tue, 2007-11-20 at 15:18 -0800, Gregory Propf wrote:
> I'm using the Gtk.timeoutAddFull function to do the animation.

Are you using the threaded rts? Are you linking the program with
-threaded?

Are you doing the drawing directly in the timeout function or just
invalidating the window/widget and letting it get redrawn?

See for example the cairo clock demo which animates the hands of the
clock every second:

timeoutAdd (widgetQueueDraw window >> return True) 1000

In general it is much better to only ever draw to a window or widget
during that widget's expose event.

Duncan
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] gtk2hs problem

2007-11-20 Thread Stefan O'Rear
On Tue, Nov 20, 2007 at 03:18:03PM -0800, Gregory Propf wrote:
> I've written a small program using the gtk2hs library and it crashes at 
> unpredictable times with X windows errors like the one below.  I looked for 
> the messages online and found various people talking about buggy gtk 
> libraries but no clear solutions.  I don't know a lot about X windows or what 
> these errors mean.  Has anyone else had this problem or know what to do?  The 
> program is a simple implementation of the Conway Life game.  It doesn't have 
> very much going on except that the main window is an animation showing the 
> evolution of the game.  I tried running with the --sync option as it said and 
> you get an almost immediate error like "Xlib: unexpected async reply 
> (sequence 0x1652)!".  Even these are not predictable and often come after 
> several screen updates.  I'm using the Gtk.timeoutAddFull function to do the 
> animation.  Note that the error_code, request_code, etc.. changes with each 
> crash.  It's as though it picks a random error code each time.  I've compiled 
> with both
>  ghc 6.4.2 and 6.6.1 and gtk2hs 0.9.12 and 0.9.12.1.  I've tried various 
> combinations of -O flags as well.  Same problem every time.
> 
> A typical crash message
> ---
> The program 'hlh' received an X Window System error.
> This probably reflects a bug in the program.
> The error was 'BadDrawable (invalid Pixmap or Window parameter)'.
>   (Details: serial 236321 error_code 9 request_code 62 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.)

What happens if you run 'gdb ./hlh', 'b gdk_x_error', 'run --sync' ?

(Are the backtraces consistent?)

Stefan


signature.asc
Description: Digital signature
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] gtk2hs problem

2007-11-20 Thread Gregory Propf
I've written a small program using the gtk2hs library and it crashes at 
unpredictable times with X windows errors like the one below.  I looked for the 
messages online and found various people talking about buggy gtk libraries but 
no clear solutions.  I don't know a lot about X windows or what these errors 
mean.  Has anyone else had this problem or know what to do?  The program is a 
simple implementation of the Conway Life game.  It doesn't have very much going 
on except that the main window is an animation showing the evolution of the 
game.  I tried running with the --sync option as it said and you get an almost 
immediate error like "Xlib: unexpected async reply (sequence 0x1652)!".  Even 
these are not predictable and often come after several screen updates.  I'm 
using the Gtk.timeoutAddFull function to do the animation.  Note that the 
error_code, request_code, etc.. changes with each crash.  It's as though it 
picks a random error code each time.  I've compiled with both
 ghc 6.4.2 and 6.6.1 and gtk2hs 0.9.12 and 0.9.12.1.  I've tried various 
combinations of -O flags as well.  Same problem every time.



A typical crash message
---
The program 'hlh' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadDrawable (invalid Pixmap or Window parameter)'.
  (Details: serial 236321 error_code 9 request_code 62 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.)
  
   
-
Never miss a thing.   Make Yahoo your homepage.___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe