[erlang-bugs] More HiPE issues with binaries

Loïc Hoguin essen@REDACTED
Sat Mar 2 21:17:35 CET 2013


Hello,

Cowboy doesn't work when compiled with HiPE. When using curl on a simple 
hello world example, it sometimes work as expected, sometimes return a 
408 timeout error. When using http_load 
(http://acme.com/software/http_load/) on the same example, it sometimes 
work and sometimes throws a weird function_clause error.

=ERROR REPORT==== 2-Mar-2013::21:13:54 ===
Error in process <0.26124.0> with exit value: 
{function_clause,[{cowboy_protocol,parse_hd_name,9,[]},{lists,zip,2,[]}]}

As you can guess, lists:zip/2 doesn't call 
cowboy_protocol:parse_hd_name/9. Someone else reported a similar issue 
with the stacktrace in another project on IRC.

Same result with R15B03 and R16B.

Here are the steps to reproduce. Sorry it's not the smallest download, I 
can't isolate:

   git clone git://github.com/extend/cowboy.git
   cd cowboy/examples/hello_world
   rebar get-deps compile
   cd deps/cowboy
   ERLC_OPTS=+native make clean app
   cd -
   ./start.sh

Then with curl:

   curl -i http://localhost:8080

It will intermittently return 200 or 408.

With http_load:

   echo "http://localhost:8080" > urls.txt
   http_load -parallel 500 -seconds 10 urls.txt

It will print a lot of these weird errors:

=ERROR REPORT==== 2-Mar-2013::21:13:54 ===
Error in process <0.26098.0> with exit value: 
{function_clause,[{cowboy_protocol,parse_hd_name,9,[]},{lists,zip,2,[]}]}

Tell me how I can help get this fixed.

-- 
Loïc Hoguin
Erlang Cowboy
Nine Nines
http://ninenines.eu



More information about the erlang-bugs mailing list