Hi Kazu,

On Tue, Sep 3, 2013 at 2:52 PM, Kazu Yamamoto <k...@iij.ad.jp> wrote:

> Hi,
>
> As I said before, I started running HTTP server using Mio in the real
> world. Unfortunately, the daemon is not stable.
>
> After one day or so, the server cannot accept any HTTP requests.  No
> error messages from the server.
>
> The server is alive. To terminate the server (running in a "screen"
> terminal), single Ctrl-c is not enough. Typing Ctrl-c again terminates
> the server.
>

Could you run an strace on the process in this state so we can get an idea
what it's doing?


> After several tests, I'm getting convinced that this occurs only when
> +RTS -N<x> is specified (where <x> >= 2). The server runs well if +RTS
> -N<x> is not specified.
>

That indicates that the problem is with the threaded RTS and perhaps with
the IO manager.


> My question: if the program complied with GHC needs double Ctrl-c to
> terminate, what is the situation of the program?
>

If Ctrl+C generates an exception (does it?) there could be an overzealous
exception catcher somewhere that catches all exceptions, including your
Ctrl+C.


>
> P.S.
>
> It seems to me that the server also is leaking space. The server is
> getting fatter gradually.


Could you use the profiler to see what type of objects are leaking?
_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs

Reply via email to