erl.exe dies but werl.exe does not on both Windows XP and 2008R2 with R14B01

Dave Cottlehuber <>
Fri Mar 4 11:53:58 CET 2011


There are 2 issues I've identified - VM crash & VM hang. Both occur
within a CouchDB build of erlang, on various windows variants. This
email covers the crash only. It is easy to reproduce:

Install CouchDB 1.0.1 or a more recent build from and curl.exe from
open command prompt and change to couchdb/bin folder.
set erl=erl

& run this script until erlang hangs (watch the erl console scroll
by!). On my 2 testbeds this takes less than a minute to occur - just
25 curls.

@echo off
for /l %%i in (1,1,100000000000) do @call :curl %%i
goto :eof
curl -v -H "Content-Type: application/json" -X POST
:: check to see if couch died horribly
if exist erl_crash.dump echo Woops!!!! && move /y erl_crash.dump
goto :eof

Fri Mar 04 23:48:06 2011
Slogan: Kernel pid terminated (application_controller)
System version: Erlang R14B01 (erts-5.8.2) [source] [smp:2:2] [rq:2]
Compiled: Sat Feb 12 23:25:21 2011

The full .dump can be found at

1>   [replicator] max_http_sessions="20"
1>   [replicator] ssl_certificate_max_depth="3"
1>   [replicator] verify_ssl_certificates="false"
1>   [stats] rate="1000"
1>   [stats] samples="[0, 60, 300, 900]"
1>   [uuids] algorithm="sequential"
1> Apache CouchDB has started. Time to relax.
1> [info] [<0.689.0>] Apache CouchDB has started on
1> [debug] [<0.761.0>] 'POST' /_restart {1,1}
Headers: [{'Accept',"*/*"},
          {'User-Agent',"curl/7.19.0 (i586-pc-mingw32msvc)
libcurl/7.19.0 OpenSSL/1.0.0c zlib/1.2.3"
1> [debug] [<0.761.0>] OAuth Params: []
1> [info] [<0.761.0>] - - 'POST' /_restart 200
1> {error_logger,{{2011,3,4},{23,48,5}},crash_report,[[{initial_call,{supervisor_bridge,user_sup,['Argument__1']}},{pid,<0.785.0>},{registered_name,[]},{error_info,{exit,nouser,[{gen_server,init_it,6},{proc_lib,init_p_do_apply,3}]}},{ancestors,[kernel_sup,<0.773.0>]},{messages,[]},{links,[<0.774.0>]},{dictionary,[]},{trap_exit,true},{status,running},{heap_size,610},{stack_size,24},{reductions,338}],[]]}
{"Kernel pid terminated",application_controller,"{application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}}"}

Crash dump was written to: erl_crash.dump
Kernel pid terminated (application_controller)

Can anybody help clarify why this happens, and what we can do about it?


More information about the erlang-bugs mailing list