Simple "Hello World" Warp-based web server crashes on Ubuntu x86_64

Ben Gamari ben at well-typed.com
Tue Mar 1 15:53:38 UTC 2016


Антон Десятов <anton.dessiatov at gmail.com> writes:

> Hello dear GHC developers,
>
> I have recently experienced what I believe to be a bug either in GHC or in
> Warp library (if it is indeed in Warp then sorry for posting to wrong
> mailing list). I've managed to shrink it to a few lines of code and publish
> on a GitHub. Here is the link:
> https://github.com/anton-dessiatov/warp-ghc-issue
>
> What I wanted to do is to establish network connection in my code and then
> at some point pass it to Warp for further processing. What I got is that
> after successfully processing first HTTP request my program consumes 100%
> CPU and eventually crashes with an error like this:
>
> *** Error in
> `/home/farnsworth/work/warp-ghc-issue/.stack-work/install/x86_64-linux/lts-5.5/7.10.3/bin/warp-ghc-issue':
> double free or corruption (!prev): 0x00000000016214b0 ***
> Aborted (core dumped)
>
> When compiled with -debug I see another message:
>
> repro: internal error: ASSERTION FAILED: file rts/Schedule.h, line 137
>
>     (GHC version 7.10.3 for x86_64_unknown_linux)
>     Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
> Aborted (core dumped)
>
> I tried to debug it by enabling -dcore-lint and -debug in my
> ~/.stack/config.yaml and what worries me is that in this case Warp itself
> doesn't compile (tried with 7.10.2 and 7.10.3) giving core lint failure in
> Network.Wai.Handler.Warp.HTTP2.Worker. Not sure if it is relevant, but
> looks suspicious.
>
This indeed quite relevant and concerning. Core lint issues should not
occur; they mean that somehow GHC has taken correct code (it
typechecked, afterall) and turned it into something horrible.

That being said, I'm afraid I can't reproduce this issue locally. What
warp version are you building against?

In the meantime, could you open a bug on the GHC Trac for this issue? It
would be quite helpful if you could attach the output from Core Lint
when you do so.

Cheers,

- Ben
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 472 bytes
Desc: not available
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20160301/c30e87ba/attachment.sig>


More information about the ghc-devs mailing list