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


Hallo,

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
https://github.com/dch/couchdb/downloads and curl.exe from
http://haxx.se/
open command prompt and change to couchdb/bin folder.
set erl=erl
couchdb.bat

& 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.

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


=erl_crash_dump:0.1
Fri Mar 04 23:48:06 2011
Slogan: Kernel pid terminated (application_controller)
({application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}})
System version: Erlang R14B01 (erts-5.8.2) [source] [smp:2:2] [rq:2]
[async-threads:4]
Compiled: Sat Feb 12 23:25:21 2011

The full .dump can be found at http://friendpaste.com/1gMbN0i2zn3mlaHAC54D58

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 http://0.0.0.0:5984/
1> [debug] [<0.761.0>] 'POST' /_restart {1,1}
Headers: [{'Accept',"*/*"},
          {'Content-Type',"application/json"},
          {'Host',"localhost:5984"},
          {'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>] 127.0.0.1 - - '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}],[]]}
{error_logger,{{2011,3,4},{23,48,5}},supervisor_report,[{supervisor,{local,kernel_sup}},{errorContext,start_error},{reason,nouser},{offender,[{pid,undefined},{name,user},{mfargs,{user_sup,start,[]}},{restart_type,temporary},{shutdown,2000},{child_type,supervisor}]}]}
{error_logger,{{2011,3,4},{23,48,5}},std_info,[{application,kernel},{exited,{shutdown,{kernel,start,[normal,[]]}}},{type,permanent}]}
{"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)
({application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}})


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

Thanks
Dave


More information about the erlang-bugs mailing list