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

Ceri Storey ceri at lshift.net
Tue Sep 10 10:52:00 BST 2013


(10/09/13 10:14), Simon MacMullen wrote:
> Can you confirm which version of RabbitMQ you're using? There was
> definitely a bug in this area that was fixed in 3.1.2.
We're using 3.1.3, as it happens.
>
> If you're using >= 3.1.2, are you using SSL *just* for mgmt? What
> happens if you enable it for AMQP as well?

Yes, we're using SSL solely for management at present. And indeed,
enabling a dummy amqp/ssl listener does mean that the rabbit doesn't
crash in the same way.

Thanks,

>
> Cheers, Simon
>
> On 10/09/2013 10:03AM, Ceri Storey wrote:
>> 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:
>>
>>
>>
>> _______________________________________________
>> rabbitmq-discuss mailing list
>> rabbitmq-discuss at lists.rabbitmq.com
>> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>>
>



More information about the rabbitmq-discuss mailing list