Invariants for GHC.Event ensureIOManagerIsRunning
Simon Marlow
marlowsd at gmail.com
Wed Apr 18 17:12:19 CEST 2012
On 14/04/2012 04:53, Edward Z. Yang wrote:
> Hello all,
>
> I recently ran into a rather reproduceable bug where I would
> get this error from the event manager:
>
> /dev/null: hClose: user error (Pattern match failure in do expression at libraries/base/System/Event/Thread.hs:83:3-10)
>
> The program was doing some rather strange things:
>
> - It was running the Haskell RTS inside another system (Urweb)
> which was making use of pthreads, sockets, etc.
>
> - The Haskell portion was linked against the threaded RTS, and doing
> communication with a process.
>
> and is rather complicated (two compilers are involved). But
> the gist of the matter is that if I added a quick call to
> ensureIOManagerIsRunning after hs_init, the error went away.
>
> So, if the IO manager is not eagerly loaded at the call to hs_init,
> how do we decided when it should be loaded? It seems probably that
> we missed a case.
>
> Edward
>
> P.S. I tried reproducing on a simple test case but couldn't manage it.
Looking at the code I can't see how that can happen, so if you do manage
to reproduce it on a small example, please file a bug.
Cheers,
Simon
More information about the Glasgow-haskell-users
mailing list