{"action":"opened","issue":{"url":"https://api.github.com/repos/rabbitmq/rabbitmq-server/issues/732","repository_url":"https://api.github.com/repos/rabbitmq/rabbitmq-server","labels_url":"https://api.github.com/repos/rabbitmq/rabbitmq-server/issues/732/labels{/name}","comments_url":"https://api.github.com/repos/rabbitmq/rabbitmq-server/issues/732/comments","events_url":"https://api.github.com/repos/rabbitmq/rabbitmq-server/issues/732/events","html_url":"https://github.com/rabbitmq/rabbitmq-server/issues/732","id":146599649,"number":732,"title":"improve error messages","user":{"login":"bilsch","id":1809788,"avatar_url":"https://avatars.githubusercontent.com/u/1809788?v=3","gravatar_id":"","url":"https://api.github.com/users/bilsch","html_url":"https://github.com/bilsch","followers_url":"https://api.github.com/users/bilsch/followers","following_url":"https://api.github.com/users/bilsch/following{/other_user}","gists_url":"https://api.github.com/users/bilsch/gists{/gist_id}","starred_url":"https://api.github.com/users/bilsch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bilsch/subscriptions","organizations_url":"https://api.github.com/users/bilsch/orgs","repos_url":"https://api.github.com/users/bilsch/repos","events_url":"https://api.github.com/users/bilsch/events{/privacy}","received_events_url":"https://api.github.com/users/bilsch/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-04-07T12:15:44Z","updated_at":"2016-04-07T12:15:44Z","closed_at":null,"body":"As requested in mailing list [thread](https://groups.google.com/forum/#!topic/rabbitmq-users/IS6AGM0G_pg) - opening an issue to improve error messages.\r\n\r\nThe error messages from rabbitmq are fairly gnarly. In my specific case the error message returned provided no discernable clue that I had a configuration error.\r\n\r\nThe log message:\r\n```\r\nFailed to start Ranch listener {acceptor,{0,0,0,0,0,0,0,0},5671} in ranch_ssl:listen([{port,\r\n                                                                                       5671},\r\n                                                                                      {ip,\r\n                                                                                       {0,\r\n                                                                                        0,\r\n                                                                                        0,\r\n                                                                                        0,\r\n                                                                                        0,\r\n                                                                                        0,\r\n                                                                                        0,\r\n                                                                                        0}},\r\n                                                                                      inet6,\r\n                                                                                      binary,\r\n                                                                                      {packet,\r\n                                                                                       raw},\r\n                                                                                      {reuseaddr,\r\n                                                                                       true},\r\n                                                                                      {backlog,\r\n                                                                                       128},\r\n                                                                                      {nodelay,\r\n                                                                                       true},\r\n                                                                                      {exit_on_close,\r\n                                                                                       false},\r\n                                                                                      {versions,\r\n                                                                                       ['tlsv1.2',\r\n                                                                                        'tlsv1.1',\r\n                                                                                        tlsv1]},\r\n                                                                                      {cacertfile,\r\n                                                                                       \"/etc/pki/tls/certs/organizationvalidation-sha-2-w-root.ca-bundle\"},\r\n                                                                                      {certfile,\r\n                                                                                       \"/etc/pki/tls/certs/rabbitmq.pem\"},\r\n                                                                                      {keyfile,\r\n                                                                                       \"/etc/pki/tls/private/rabbitmq.key\"},\r\n                                                                                      {verify,\r\n                                                                                       true},\r\n                                                                                      {fail_if_no_peer_cert,\r\n                                                                                       false}]) for reason {options,\r\n                                                                                                            {verify,\r\n                                                                                                             true}} (unknown POSIX error)\r\n\r\n=INFO REPORT==== 6-Apr-2016::15:47:33 ===\r\nError description:\r\n   {could_not_start,rabbit,\r\n       {{case_clause,\r\n            {error,\r\n                {{shutdown,\r\n                     {failed_to_start_child,\r\n                         {ranch_listener_sup,\r\n                             {acceptor,{0,0,0,0,0,0,0,0},5671}},\r\n                         {shutdown,\r\n                             {failed_to_start_child,ranch_acceptors_sup,\r\n                                 {listen_error,\r\n                                     {acceptor,{0,0,0,0,0,0,0,0},5671},\r\n                                     {options,{verify,true}}}}}}},\r\n                 {child,undefined,'rabbit_tcp_listener_sup_:::5671',\r\n                     {tcp_listener_sup,start_link,\r\n                         [{0,0,0,0,0,0,0,0},\r\n                          5671,ranch_ssl,\r\n                          [inet6,binary,\r\n                           {packet,raw},\r\n                           {reuseaddr,true},\r\n                           {backlog,128},\r\n                           {nodelay,true},\r\n                           {exit_on_close,false},\r\n                           {versions,['tlsv1.2','tlsv1.1',tlsv1]},\r\n                           {cacertfile,\r\n                               \"/etc/pki/tls/certs/organizationvalidation-sha-2-w-root.ca-bundle\"},\r\n                           {certfile,\"/etc/pki/tls/certs/rabbitmq.pem\"},\r\n                           {keyfile,\"/etc/pki/tls/private/rabbitmq.key\"},\r\n                           {verify,true},\r\n                           {fail_if_no_peer_cert,false}],\r\n                          rabbit_connection_sup,[],\r\n                          {rabbit_networking,tcp_listener_started,\r\n                              ['amqp/ssl']},\r\n                          {rabbit_networking,tcp_listener_stopped,\r\n                              ['amqp/ssl']},\r\n                          1,\"SSL Listener\"]},\r\n                     transient,infinity,supervisor,\r\n                     [tcp_listener_sup]}}}},\r\n        [{rabbit_networking,start_listener0,5,\r\n             [{file,\"src/rabbit_networking.erl\"},{line,318}]},\r\n         {rabbit_networking,'-start_listener/5-lc$^0/1-0-',5,\r\n             [{file,\"src/rabbit_networking.erl\"},{line,306}]},\r\n         {rabbit_networking,start_listener,5,\r\n             [{file,\"src/rabbit_networking.erl\"},{line,306}]},\r\n         {rabbit_networking,'-boot_ssl/1-lc$^0/1-0-',3,\r\n             [{file,\"src/rabbit_networking.erl\"},{line,147}]},\r\n         {rabbit_networking,boot_ssl,1,\r\n             [{file,\"src/rabbit_networking.erl\"},{line,147}]},\r\n         {rabbit_networking,boot,0,\r\n             [{file,\"src/rabbit_networking.erl\"},{line,133}]},\r\n         {rabbit_boot_steps,'-run_step/2-lc$^1/1-1-',1,\r\n             [{file,\"src/rabbit_boot_steps.erl\"},{line,49}]},\r\n         {rabbit_boot_steps,run_step,2,\r\n             [{file,\"src/rabbit_boot_steps.erl\"},{line,49}]}]}}\r\n```\r\n\r\nMy rabbitmq.config ( changed the hostnames )\r\n```\r\n% This file managed by Puppet\r\n% Template Path: rabbitmq/templates/rabbitmq.config\r\n[\r\n  {rabbit, [\r\n    {cluster_nodes, {['rabbit@foo1.foo.net', 'rabbit@foo2.foo.net'], disc}},\r\n    {cluster_partition_handling, ignore},\r\n    {tcp_listen_options,\r\n         [binary,\r\n         {packet,        raw},\r\n         {reuseaddr,     true},\r\n         {backlog,       128},\r\n         {nodelay,       true},\r\n         {exit_on_close, false}]\r\n    },\r\n    {ssl_listeners, [5671]},\r\n    {ssl_options, [\r\n                   {cacertfile,\"/etc/pki/tls/certs/organizationvalidation-sha-2-w-root.ca-bundle\"},\r\n                   {certfile,\"/etc/pki/tls/certs/rabbitmq.pem\"},\r\n                   {keyfile,\"/etc/pki/tls/private/rabbitmq.key\"},\r\n                   {verify,true},\r\n                   {fail_if_no_peer_cert,false}\r\n                  ]},\r\n    {default_user, <<\"guest\">>},\r\n    {default_pass, <<\"guest\">>}\r\n  ]},\r\n  {kernel, [\r\n    \r\n  ]}\r\n,\r\n  {rabbitmq_management, [\r\n    {listener, [\r\n      {port, 15671},\r\n      {ssl, true},\r\n      {ssl_opts, [\r\n                  {cacertfile, \"/etc/pki/tls/certs/organizationvalidation-sha-2-w-root.ca-bundle\"},\r\n\r\n                  {certfile, \"/etc/pki/tls/certs/rabbitmq.pem\"},\r\n                  {keyfile, \"/etc/pki/tls/private/rabbitmq.key\"}\r\n                 ]}\r\n    ]}\r\n  ]}\r\n].\r\n% EOF\r\n```\r\n\r\nThe issue came down to the value I specified for `verify` within the ssl_options config block. I used true when I should have used verify_peer.\r\n\r\nThe rabbitmq-server simply crashed and provided the above error. Once I corrected the config property things work fine so far.\r\n\r\nI'm running on rhel7 with the rabbitmq.com centos/rhel7 package. `rabbitmq-server-3.6.1-1.noarch` and erlang also provided by rabbitmq.com `erlang-18.3-1.el7.centos.x86_64`"}}