[rabbitmq-discuss] Mochiweb / SSL failing to boot on esl-erlang R16B01

Ceri Storey ceri at lshift.net
Tue Sep 10 10:03:26 BST 2013


Hi there.

We're using Erlang Solutions' packages of erlang for ubuntu
(specifically1:16.b.1-1~ubuntu~precise) , and there seems to be some bad
interaction between this, mochiweb, and ssl, meaning that the ASN1
application (seemingly) doesn't get started on boot, and rabbit crashes
trying to start the mochiweb listeners (crash logs below).

The odd thing is, that with a version of R16B01 built from source with
kerl <https://github.com/spawngrid/kerl>, everything works perfectly
well. Also, we can work around this by adding ssl as an application
dependency to either the mochiweb .app or the rabbit .app descriptor
files. But we'd like to understand this better, and get the root issue
fixed.

I don't suppose that anyone could shed any light on this, perhaps?

Thanks.

---

-- Rabbit Log
=ERROR REPORT==== 9-Sep-2013::16:21:22 ===
** Generic server rabbit_web_dispatch_registry terminating
** Last message in was {add,rabbit_mgmt,
                           [{port,15672},
                            {ssl,true},
                            {ssl_opts,
                                [{cacertfile,
                                     "/etc/ssl/certs/cacert.pem"},
                                 {certfile,
                                     "/etc/ssl/certs/my-certfile.crt"},
                                 {keyfile,
                                     "/etc/ssl/rabbit/my-certfile.key"}]}],
                           #Fun<rabbit_web_dispatch.1.31447083>,
                           #Fun<rabbit_mgmt_app.2.5043001>,
                           {[],"RabbitMQ Management"}}
** When Server state == undefined
** Reason for termination ==
** {could_not_start_listener,
       [{port,15672},
        {ssl,true},
        {ssl_opts,
            [{cacertfile,"/etc/ssl/certs/cacert.pem"},
             {certfile,"/etc/ssl/certs/my-certfile.crt"},
             {keyfile,"/etc/ssl/rabbit/my-certfile.key"}]}],
       {'EXIT',
           {{case_clause,{error,{not_started,asn1}}},
            [{mochiweb,ensure_started,1,[]},
             {mochiweb_socket_server,prep_ssl,1,[]},
             {mochiweb_socket_server,start_server,2,[]},
             {supervisor,do_start_child,2,
                 [{file,"supervisor.erl"},{line,310}]},
             {supervisor,handle_start_child,2,
                 [{file,"supervisor.erl"},{line,681}]},
            
{supervisor,handle_call,3,[{file,"supervisor.erl"},{line,390}]},
             {gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,585}]},
             {proc_lib,init_p_do_apply,3,
                 [{file,"proc_lib.erl"},{line,239}]}]}}}

-- Sasl log

=CRASH REPORT==== 9-Sep-2013::16:21:22 ===
  crasher:
    initial call: rabbit_web_dispatch_registry:init/1
    pid: <0.258.0>
    registered_name: rabbit_web_dispatch_registry
    exception exit: {could_not_start_listener,
                        [{port,15672},
                         {ssl,true},
                         {ssl_opts,
                             [{cacertfile,"/etc/ssl/certs/cacert.pem"},
                              {certfile,
                                  "/etc/ssl/certs/my-certfile.crt"},
                              {keyfile,
                                  "/etc/ssl/rabbit/my-certfile.key"}]}],
                        {'EXIT',
                            {{case_clause,{error,{not_started,asn1}}},
                             [{mochiweb,ensure_started,1,[]},
                              {mochiweb_socket_server,prep_ssl,1,[]},
                              {mochiweb_socket_server,start_server,2,[]},
                              {supervisor,do_start_child,2,
                                  [{file,"supervisor.erl"},{line,310}]},
                              {supervisor,handle_start_child,2,
                                  [{file,"supervisor.erl"},{line,681}]},
                              {supervisor,handle_call,3,
                                  [{file,"supervisor.erl"},{line,390}]},
                              {gen_server,handle_msg,5,
                                  [{file,"gen_server.erl"},{line,585}]},
                              {proc_lib,init_p_do_apply,3,
                                  [{file,"proc_lib.erl"},{line,239}]}]}}}
      in function  gen_server:terminate/6 (gen_server.erl, line 744)
    ancestors: [rabbit_web_dispatch_sup,<0.256.0>]
    messages: []
    links: [<0.257.0>]
    dictionary: []
    trap_exit: false
    status: running
    heap_size: 4185
    stack_size: 27
    reductions: 594
  neighbours:

=SUPERVISOR REPORT==== 9-Sep-2013::16:21:22 ===
     Supervisor: {local,rabbit_web_dispatch_sup}
     Context:    child_terminated
     Reason:     {could_not_start_listener,
                     [{port,15672},
                      {ssl,true},
                      {ssl_opts,
                          [{cacertfile,"/etc/ssl/certs/cacert.pem"},
                           {certfile,
                               "/etc/ssl/certs/my-certfile.crt"},
                           {keyfile,
                               "/etc/ssl/rabbit/my-certfile.key"}]}],
                     {'EXIT',
                         {{case_clause,{error,{not_started,asn1}}},
                          [{mochiweb,ensure_started,1,[]},
                           {mochiweb_socket_server,prep_ssl,1,[]},
                           {mochiweb_socket_server,start_server,2,[]},
                           {supervisor,do_start_child,2,
                               [{file,"supervisor.erl"},{line,310}]},
                           {supervisor,handle_start_child,2,
                               [{file,"supervisor.erl"},{line,681}]},
                           {supervisor,handle_call,3,
                               [{file,"supervisor.erl"},{line,390}]},
                           {gen_server,handle_msg,5,
                               [{file,"gen_server.erl"},{line,585}]},
                           {proc_lib,init_p_do_apply,3,
                               [{file,"proc_lib.erl"},{line,239}]}]}}}
     Offender:   [{pid,<0.258.0>},
                  {name,rabbit_web_dispatch_registry},
                  {mfargs,{rabbit_web_dispatch_registry,start_link,[]}},
                  {restart_type,transient},
                  {shutdown,5000},
                  {child_type,worker}]


=CRASH REPORT==== 9-Sep-2013::16:21:22 ===
  crasher:
    initial call: application_master:init/4
    pid: <0.260.0>
    registered_name: []
    exception exit: {bad_return,
                     {{rabbit_mgmt_app,start,[normal,[]]},
                      {'EXIT',
                       {{could_not_start_listener,
                         [{port,15672},
                          {ssl,true},
                          {ssl_opts,
                           [{cacertfile,"/etc/ssl/certs/cacert.pem"},
                            {certfile,
                             "/etc/ssl/certs/my-certfile.crt"},
                            {keyfile,
                             "/etc/ssl/rabbit/my-certfile.key"}]}],
                         {'EXIT',
                          {{case_clause,{error,{not_started,asn1}}},
                           [{mochiweb,ensure_started,1,[]},
                            {mochiweb_socket_server,prep_ssl,1,[]},
                            {mochiweb_socket_server,start_server,2,[]},
                            {supervisor,do_start_child,2,
                             [{file,"supervisor.erl"},{line,310}]},
                            {supervisor,handle_start_child,2,
                             [{file,"supervisor.erl"},{line,681}]},
                            {supervisor,handle_call,3,
                             [{file,"supervisor.erl"},{line,390}]},
                            {gen_server,handle_msg,5,
                             [{file,"gen_server.erl"},{line,585}]},
                            {proc_lib,init_p_do_apply,3,
                             [{file,"proc_lib.erl"},{line,239}]}]}}},
                        {gen_server,call,
                         [rabbit_web_dispatch_registry,
                          {add,rabbit_mgmt,
                           [{port,15672},
                            {ssl,true},
                            {ssl_opts,
                             [{cacertfile,"/etc/ssl/certs/cacert.pem"},
                              {certfile,
                               "/etc/ssl/certs/my-certfile.crt"},
                              {keyfile,
                               "/etc/ssl/rabbit/my-certfile.key"}]}],
                           #Fun<rabbit_web_dispatch.1.31447083>,
                           #Fun<rabbit_mgmt_app.2.5043001>,
                           {[],"RabbitMQ Management"}},
                          infinity]}}}}}
      in function  application_master:init/4 (application_master.erl,
line 133)
    ancestors: [<0.259.0>]
    messages: [{'EXIT',<0.261.0>,normal}]
    links: [<0.259.0>,<0.7.0>]
    dictionary: []
    trap_exit: true
    status: running
    heap_size: 4185
    stack_size: 27
    reductions: 423
  neighbours:

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20130910/43eb9283/attachment.htm>


More information about the rabbitmq-discuss mailing list