From: Wolfgang J. <g9k...@ac...> - 2009-02-27 17:14:01
|
Hello, <haskell.org/gtk2hs/documentation/#examples> contains a Hello World example. I copied this and tried to compile it. First, I had to correct some things. I removed the obscure Unicode character between < and - in the 5th and 6th line and changed the typographic quotation marks into ordinary ones in lines 9 and 10. It compiled successfully afterwards. Now, I changed the second "Hello world" string into (error "Hello world"). I recompiled and started the program and it was cancelled when pressing the button. Now, I loaded the source code into GHCi, entered “main” at the prompt and pressed the button. I got the following messages: <interactive>: Hello world <interactive>: interrupted <interactive>: warning: too many hs_exit()s Looks like a bug to me. :-( There is another problem. When I tried a new Grapefruit example application in GHCi, the GUI stopped handling any events after pressing a button, i.e., the GUI froze. However, compiling the app and executing the resulting binary didn’t result in a freeze. I experienced a freeze also when trying the demo apps of some pre-0.4 version of barrie in GHCi. Is there some known problem about Gtk2Hs apps freezing in GHCi? Best wishes, Wolfgang |
From: Peter G. <pg...@gm...> - 2009-02-28 14:43:21
|
Hi Wolfgang, Could you tell us what platform and version you're using? Thanks, Pete On 2/27/09 12:13 PM, Wolfgang Jeltsch wrote: > Hello, > > <haskell.org/gtk2hs/documentation/#examples> contains a Hello World example. I > copied this and tried to compile it. First, I had to correct some things. I > removed the obscure Unicode character between< and - in the 5th and 6th line > and changed the typographic quotation marks into ordinary ones in lines 9 > and 10. It compiled successfully afterwards. > > Now, I changed the second "Hello world" string into (error "Hello world"). I > recompiled and started the program and it was cancelled when pressing the > button. > > Now, I loaded the source code into GHCi, entered “main” at the prompt and > pressed the button. I got the following messages: > > <interactive>: Hello world > <interactive>: interrupted > <interactive>: warning: too many hs_exit()s > > Looks like a bug to me. :-( > > There is another problem. When I tried a new Grapefruit example application in > GHCi, the GUI stopped handling any events after pressing a button, i.e., the > GUI froze. However, compiling the app and executing the resulting binary > didn’t result in a freeze. I experienced a freeze also when trying the demo > apps of some pre-0.4 version of barrie in GHCi. Is there some known problem > about Gtk2Hs apps freezing in GHCi? > > Best wishes, > Wolfgang > > ------------------------------------------------------------------------------ > Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA > -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise > -Strategies to boost innovation and cut costs with open source participation > -Receive a $600 discount off the registration fee with the source code: SFAD > http://p.sf.net/sfu/XcvMzF8H > _______________________________________________ > Gtk2hs-users mailing list > Gtk...@li... > https://lists.sourceforge.net/lists/listinfo/gtk2hs-users |
From: Wolfgang J. <g9k...@ac...> - 2009-02-28 17:13:43
|
Hello, I use Gtk2Hs 0.10.0 with GHC 6.10.1 on Ubuntu 8.10 which contains GTK+ 2.14. Best wishes, Wolfgang Am Samstag, 28. Februar 2009 15:43 schrieben Sie: > Hi Wolfgang, > > Could you tell us what platform and version you're using? > > Thanks, > Pete > > On 2/27/09 12:13 PM, Wolfgang Jeltsch wrote: > > Hello, > > > > <haskell.org/gtk2hs/documentation/#examples> contains a Hello World > > example. I copied this and tried to compile it. First, I had to correct > > some things. I removed the obscure Unicode character between< and - in > > the 5th and 6th line and changed the typographic quotation marks into > > ordinary ones in lines 9 and 10. It compiled successfully afterwards. > > > > Now, I changed the second "Hello world" string into (error "Hello > > world"). I recompiled and started the program and it was cancelled when > > pressing the button. > > > > Now, I loaded the source code into GHCi, entered “main” at the prompt and > > pressed the button. I got the following messages: > > > > <interactive>: Hello world > > <interactive>: interrupted > > <interactive>: warning: too many hs_exit()s > > > > Looks like a bug to me. :-( > > > > There is another problem. When I tried a new Grapefruit example > > application in GHCi, the GUI stopped handling any events after pressing a > > button, i.e., the GUI froze. However, compiling the app and executing the > > resulting binary didn’t result in a freeze. I experienced a freeze also > > when trying the demo apps of some pre-0.4 version of barrie in GHCi. Is > > there some known problem about Gtk2Hs apps freezing in GHCi? > > > > Best wishes, > > Wolfgang > > > > ------------------------------------------------------------------------- > >----- Open Source Business Conference (OSBC), March 24-25, 2009, San > > Francisco, CA -OSBC tackles the biggest issue in open source: Open > > Sourcing the Enterprise -Strategies to boost innovation and cut costs > > with open source participation -Receive a $600 discount off the > > registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H > > _______________________________________________ > > Gtk2hs-users mailing list > > Gtk...@li... > > https://lists.sourceforge.net/lists/listinfo/gtk2hs-users |
From: Brandon S. A. K. <al...@ec...> - 2009-02-28 21:37:04
Attachments:
PGP.sig
|
On 2009 Feb 27, at 12:13, Wolfgang Jeltsch wrote: > Now, I loaded the source code into GHCi, entered “main” at the > prompt and > pressed the button. I got the following messages: > > <interactive>: Hello world > <interactive>: interrupted > <interactive>: warning: too many hs_exit()s > > Looks like a bug to me. :-( I think the bug here is that initGUI used to throw an exception when used in a threaded environment (which ghci is) but didn't/doesn't now. Gtk+ doesn't really support threads. -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] al...@kf... system administrator [openafs,heimdal,too many hats] al...@ec... electrical and computer engineering, carnegie mellon university KF8NH |
From: Wolfgang J. <g9k...@ac...> - 2009-02-28 23:09:18
|
Am Samstag, 28. Februar 2009 22:36 schrieben Sie: > On 2009 Feb 27, at 12:13, Wolfgang Jeltsch wrote: > > Now, I loaded the source code into GHCi, entered “main” at the > > prompt and > > pressed the button. I got the following messages: > > > > <interactive>: Hello world > > <interactive>: interrupted > > <interactive>: warning: too many hs_exit()s > > > > Looks like a bug to me. :-( > > I think the bug here is that initGUI used to throw an exception when > used in a threaded environment (which ghci is) but didn't/doesn't > now. Gtk+ doesn't really support threads. So you cannot use Gtk2Hs from GHCi? Oh, that’s a pity. Could it be made working somehow? Best wishes, Wolfgang |
From: Brandon S. A. K. <al...@ec...> - 2009-02-28 23:19:07
Attachments:
PGP.sig
|
On 2009 Feb 28, at 18:09, Wolfgang Jeltsch wrote: > Am Samstag, 28. Februar 2009 22:36 schrieben Sie: >> On 2009 Feb 27, at 12:13, Wolfgang Jeltsch wrote: >>> Now, I loaded the source code into GHCi, entered “main” at the >>> prompt and >>> pressed the button. I got the following messages: >>> >>> <interactive>: Hello world >>> <interactive>: interrupted >>> <interactive>: warning: too many hs_exit()s >>> >>> Looks like a bug to me. :-( >> >> I think the bug here is that initGUI used to throw an exception when >> used in a threaded environment (which ghci is) but didn't/doesn't >> now. Gtk+ doesn't really support threads. > > So you cannot use Gtk2Hs from GHCi? Oh, that’s a pity. Could it be > made > working somehow? There at least used to be an unsafeInitGUIForThreadedRTS (haven't upgraded to the latest gtk2hs yet), you can probably expect warnings in that case, no idea about the "interrupted". -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] al...@kf... system administrator [openafs,heimdal,too many hats] al...@ec... electrical and computer engineering, carnegie mellon university KF8NH |
From: Colin P. A. <co...@co...> - 2009-03-01 06:21:11
|
>>>>> "Brandon" == Brandon S Allbery KF8NH <al...@ec...> writes: >> So you cannot use Gtk2Hs from GHCi? Oh, that’s a pity. Could it >> be made working somehow? Brandon> There at least used to be an unsafeInitGUIForThreadedRTS Brandon> (haven't upgraded to the latest gtk2hs yet), you can Brandon> probably expect warnings in that case, no idea about the Brandon> "interrupted". It still works here. And I don't get any warnings. But then, I haven't used a background thread yet - I intend to - for the AI, but I haven't written it yet (I'm writing a game). -- Colin Adams Preston Lancashire |
From: Brandon S. A. K. <al...@ec...> - 2009-03-01 15:53:50
Attachments:
PGP.sig
|
On 2009 Mar 1, at 1:20, Colin Paul Adams wrote: >>>>>> "Brandon" == Brandon S Allbery KF8NH <al...@ec...> >>>>>> writes: > >>> So you cannot use Gtk2Hs from GHCi? Oh, that’s a pity. Could it >>> be made working somehow? > > Brandon> There at least used to be an unsafeInitGUIForThreadedRTS > Brandon> (haven't upgraded to the latest gtk2hs yet), you can > Brandon> probably expect warnings in that case, no idea about the > Brandon> "interrupted". > > It still works here. And I don't get any warnings. But then, I haven't > used a background thread yet - I intend to - for the AI, but I haven't > written it yet (I'm writing a game). You should be fine as long as you don't try to use any Gtk2hs calls from the background thread. -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] al...@kf... system administrator [openafs,heimdal,too many hats] al...@ec... electrical and computer engineering, carnegie mellon university KF8NH |
From: Wolfgang J. <g9k...@ac...> - 2009-03-02 11:49:12
|
Am Sonntag, 1. März 2009 16:53 schrieben Sie: > You should be fine as long as you don't try to use any Gtk2hs calls > from the background thread. I got the warnings as well as the freezes although I didn’t create any threads. All I did is to run my programs from GHCi. Why does Gtk2Hs output warnings in this case? Are the freezes also caused because GHCi is threaded? What does it mean that GHCi is threaded? What different threads are running when I didn’t fork any threads explicitely. Why is a threaded GHCi a problem if all Gtk2Hs function calls are in the same main thread (which I would expect). Best wishes, Wolfgang |
From: Brandon S. A. K. <al...@ec...> - 2009-03-02 16:22:17
Attachments:
PGP.sig
|
On 2009 Mar 2, at 6:48, Wolfgang Jeltsch wrote: > Am Sonntag, 1. März 2009 16:53 schrieben Sie: >> You should be fine as long as you don't try to use any Gtk2hs calls >> from the background thread. > > I got the warnings as well as the freezes although I didn’t create any > threads. All I did is to run my programs from GHCi. Why does Gtk2Hs > output > warnings in this case? Are the freezes also caused because GHCi is > threaded? > What does it mean that GHCi is threaded? What different threads are > running > when I didn’t fork any threads explicitely. Why is a threaded GHCi a > problem > if all Gtk2Hs function calls are in the same main thread (which I > would > expect). The threaded runtime does things differently, for example all file/ socket operations are non-blocking IIRC. There are also differences in the way FFI code (e.g. everything under the Gtk2hs layer) is executed. The GHC user manual should explain this in detail. -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] al...@kf... system administrator [openafs,heimdal,too many hats] al...@ec... electrical and computer engineering, carnegie mellon university KF8NH |
From: Peter H. <ph...@gm...> - 2009-03-02 17:32:24
|
Wolfgang Jeltsch wrote: > Are the freezes also caused because GHCi is threaded? > Ok, I do not know answer here but I run my gtk2hs app from GHCi often when debugging it. It never froze for me but exceptions in my code (e.g. array access with an out of bound index) sometimes results in GHCi crash. These kind of errors never crashed my GHCi when I debugged non-gtk2hs application. I did not report it to GHC team since I cannot simulate it reliably. Not even talking about creating a small test case. > What does it mean that GHCi is threaded? What different threads are running > when I didn’t fork any threads explicitely. GHCi uses at least two threads. One is running the program and the second one is running the command line UI of GHCi. There may be more but I know only about these two. I think GHC team did this to implement break points easily. When a breakpoint is hit the evaluation thread releases statusMVar and takes breakMVar; when evaluation is resumed the UI thread releases breakMVar and takes statusMVar. AFAIK the application should be always run in the evaluation thread only (provided it does not create its own threads). I do not know answers to the rest of your questions. Hope it helps, Peter. |