Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Docker rabbitmq image fails with [error] Too short cookie string

it seems like I do have a problem with the rabbitmq and rabbitmq-management docker image on my Windows machine running docker-desktop.

When trying to run it, the following log comes up before it shuts down:

21:01:21.726 [error] Failed to write to cookie file '/var/lib/rabbitmq/.erlang.cookie': enospc

21:01:22.355 [error] Too short cookie string

21:01:22.356 [error] Too short cookie string

21:01:23.161 [error] Too short cookie string

21:01:23.162 [error] Too short cookie string

21:01:23.783 [error] Too short cookie string

21:01:23.784 [error] Too short cookie string

21:01:24.405 [error] Too short cookie string

21:01:24.406 [error] Too short cookie string

21:01:25.027 [error] Too short cookie string

21:01:25.028 [error] Too short cookie string

21:01:25.661 [error] Too short cookie string

21:01:25.662 [error] Too short cookie string

21:01:26.281 [error] Too short cookie string

21:01:26.282 [error] Too short cookie string

21:01:26.910 [error] Too short cookie string

21:01:26.911 [error] Too short cookie string

21:01:27.533 [error] Too short cookie string

21:01:27.534 [error] Too short cookie string

21:01:28.161 [error] Too short cookie string
Distribution failed: {{:shutdown, {:failed_to_start_child, :auth, {'Too short cookie string', [{:auth, :init_cookie, 0, [file: 'auth.erl', line: 290]}, {:auth, :init, 1, [file: 'auth.erl', line: 144]}, {:gen_server, :init_it, 2, [file: 'gen_server.erl', line: 417]}, {:gen_server, :init_it, 6, [file: 'gen_server.erl', line: 385]}, {:proc_lib, :init_p_do_apply, 3, [file: 'proc_lib.erl', line: 226]}]}}}, {:child, :undefined, :net_sup_dynamic, {:erl_distribution, :start_link, [[:"rabbitmqcli-47-rabbit@90cc77cefcb8", :shortnames, 15000], false, :net_sup_dynamic]}, :permanent, 1000, :supervisor, [:erl_distribution]}}
Configuring logger redirection

21:01:29.717 [error]
21:01:29.715 [error] Too short cookie string
21:01:29.715 [error] Supervisor net_sup had child auth started with auth:start_link() at undefined exit with reason "Too short cookie string" in auth:init_cookie/0 line 290 in context start_error
21:01:29.715 [error] CRASH REPORT Process <0.201.0> with 0 neighbours crashed with reason: "Too short cookie string" in auth:init_cookie/0 line 290
21:01:29.719 [error] BOOT FAILED
BOOT FAILED
21:01:29.719 [error] ===========
===========
21:01:29.719 [error] Exception during startup:
Exception during startup:
21:01:29.720 [error]

21:01:29.720 [error]     supervisor:children_map/4 line 1171
    supervisor:children_map/4 line 1171
    supervisor:'-start_children/2-fun-0-'/3 line 355
21:01:29.721 [error]     supervisor:'-start_children/2-fun-0-'/3 line 355
21:01:29.721 [error]     supervisor:do_start_child/2 line 371
    supervisor:do_start_child/2 line 371
21:01:29.721 [error]     supervisor:do_start_child_i/3 line 385
    supervisor:do_start_child_i/3 line 385
21:01:29.721 [error]     rabbit_prelaunch:run_prelaunch_first_phase/0 line 27
    rabbit_prelaunch:run_prelaunch_first_phase/0 line 27
21:01:29.721 [error]     rabbit_prelaunch:do_run/0 line 111
    rabbit_prelaunch:do_run/0 line 111
21:01:29.722 [error]     rabbit_prelaunch_dist:setup/1 line 15
    rabbit_prelaunch_dist:setup/1 line 15
    rabbit_prelaunch_dist:duplicate_node_check/1 line 51
21:01:29.722 [error]     rabbit_prelaunch_dist:duplicate_node_check/1 line 51
21:01:29.722 [error] error:{badmatch,
error:{badmatch,
          {error,
21:01:29.722 [error]           {error,
21:01:29.722 [error]               {{shutdown,
              {{shutdown,
21:01:29.722 [error]                    {failed_to_start_child,auth,
                   {failed_to_start_child,auth,
21:01:29.723 [error]                        {"Too short cookie string",
                       {"Too short cookie string",
21:01:29.723 [error]                         [{auth,init_cookie,0,[{file,"auth.erl"},{line,290}]},
                        [{auth,init_cookie,0,[{file,"auth.erl"},{line,290}]},
21:01:29.723 [error]                          {auth,init,1,[{file,"auth.erl"},{line,144}]},
                         {auth,init,1,[{file,"auth.erl"},{line,144}]},
21:01:29.723 [error]                          {gen_server,init_it,2,
                         {gen_server,init_it,2,
                             [{file,"gen_server.erl"},{line,417}]},
21:01:29.723 [error]                              [{file,"gen_server.erl"},{line,417}]},
21:01:29.724 [error]                          {gen_server,init_it,6,
                         {gen_server,init_it,6,
                             [{file,"gen_server.erl"},{line,385}]},
21:01:29.724 [error]                              [{file,"gen_server.erl"},{line,385}]},
21:01:29.724 [error]                          {proc_lib,init_p_do_apply,3,
                         {proc_lib,init_p_do_apply,3,
21:01:29.724 [error]                              [{file,"proc_lib.erl"},{line,226}]}]}}},
                             [{file,"proc_lib.erl"},{line,226}]}]}}},
21:01:29.724 [error]                {child,undefined,net_sup_dynamic,
               {child,undefined,net_sup_dynamic,
21:01:29.725 [error]                    {erl_distribution,start_link,
                   {erl_distribution,start_link,
21:01:29.725 [error]                        [[rabbit_prelaunch_510@localhost,shortnames],
                       [[rabbit_prelaunch_510@localhost,shortnames],
21:01:29.725 [error]                         false,net_sup_dynamic]},
                        false,net_sup_dynamic]},
21:01:29.725 [error]                    permanent,1000,supervisor,
                   permanent,1000,supervisor,
21:01:29.725 [error]                    [erl_distribution]}}}}
21:01:29.726 [error]
                   [erl_distribution]}}}}

21:01:30.726 [error] Supervisor rabbit_prelaunch_sup had child prelaunch started with rabbit_prelaunch:run_prelaunch_first_phase() at undefined exit with reason {badmatch,{error,{{shutdown,{failed_to_start_child,auth,{"Too short cookie string",[{auth,init_cookie,0,[{file,"auth.erl"},{line,290}]},{auth,init,1,[{file,"auth.erl"},{line,144}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,417}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,385}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}}},{child,undefined,net_sup_dynamic,{erl_distribution,start_link,[[rabbit_prelaunch_510@localhost,shortnames],false,net_sup_dynamic]},...}}}} in context start_error
21:01:30.726 [error] CRASH REPORT Process <0.153.0> with 0 neighbours exited with reason: {{shutdown,{failed_to_start_child,prelaunch,{badmatch,{error,{{shutdown,{failed_to_start_child,auth,{"Too short cookie string",[{auth,init_cookie,0,[{file,"auth.erl"},{line,290}]},{auth,init,1,[{file,"auth.erl"},{line,144}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,417}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,385}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}}},{child,undefined,net_sup_dynamic,{erl_distribution,start_link,[[rabbit_prelaunch_510@localhost,...],...]},...}}}}}},...} in application_master:init/4 line 138
{"Kernel pid terminated",application_controller,"{application_start_failure,rabbitmq_prelaunch,{{shutdown,{failed_to_start_child,prelaunch,{badmatch,{error,{{shutdown,{failed_to_start_child,auth,{\"Too short cookie string\",[{auth,init_cookie,0,[{file,\"auth.erl\"},{line,290}]},{auth,init,1,[{file,\"auth.erl\"},{line,144}]},{gen_server,init_it,2,[{file,\"gen_server.erl\"},{line,417}]},{gen_server,init_it,6,[{file,\"gen_server.erl\"},{line,385}]},{proc_lib,init_p_do_apply,3,[{file,\"proc_lib.erl\"},{line,226}]}]}}},{child,undefined,net_sup_dynamic,{erl_distribution,start_link,[[rabbit_prelaunch_510@localhost,shortnames],false,net_sup_dynamic]},permanent,1000,supervisor,[erl_distribution]}}}}}},{rabbit_prelaunch_app,start,[normal,[]]}}}"}
Kernel pid terminated (application_controller) ({application_start_failure,rabbitmq_prelaunch,{{shutdown,{failed_to_start_child,prelaunch,{badmatch,{error,{{shutdown,{failed_to_start_child,auth,{"Too

Crash dump is being written to: erl_crash.dump...

I've been using this image for months now without any problems, but all of sudden it doesn't work anymore.

I also tried running this on my raspberry pi. Turns out it works there, so it has to be more of a local thing for me, which is kind of weird as docker is basically meant to avoid these problems.

I also tried setting the RABBITMQ_ERLANG_COOKIE environment variable to a long name, but with no success. Any ideas?

like image 998
Sossenbinder Avatar asked Aug 12 '20 21:08

Sossenbinder


Video Answer


4 Answers

I had exactly the same error and followed the advice of Owen Brown. Unfortunately, deleting the rabbitmq images could not solve my problems but deleting all other redundant images as well (especially the ones of big size) did it for me.

In case you are wondering how much all images are in size, you can check these statistics with

docker system df

Edit:

As i encountered the same issue again just a couple of hours later i researched again and found this answer which resolved my troubles.

More important than deleting images is the deletion of volumes using:

docker volume rm $(docker volume ls -f dangling=true -q) // removes all volumes

like image 155
Bastian Treitz Avatar answered Oct 11 '22 07:10

Bastian Treitz


It seems that RabbitMQ has no space left to write the cookie: 21:01:21.726 [error] Failed to write to cookie file '/var/lib/rabbitmq/.erlang.cookie': enospc

Maybe you have some space limitations in the docker, or you don't actually have space left in the host?

like image 33
José M Avatar answered Oct 11 '22 06:10

José M


Launch rabbitmq in isolation using docker run rabbitmq:management.

If you still get the "Failed to write to cookie file '/var/lib/rabbitmq/.erlang.cookie': enospc" error, then the problem is caused because a file used by RabbitMQ has been corrupted.

Since the container exits as soon as the error occurs, and the container is launching from a cached docker image, you won't be able to enter the container to fix the problem. Instead, you'll need remove the cached images.

  1. Remove the cause of the original issues, which may have been a shortage of memory assigned to Docker. You can delete images or assign more memory through Docker's utility.
  2. Delete both the rabbitmq docker image docker images | grep rabbit then run docker rmi <image_id(s)> for each image id.
  3. Delete all cached images. List all images using $ docker images --filter "dangling=true will Then, remove them with $ docker rmi $(docker images -f "dangling=true" -q)

Finally, run rabbitmq again with docker run rabbitmq:management. If it runs without erring, you're back in business.

like image 39
Owen Brown Avatar answered Oct 11 '22 08:10

Owen Brown


I tried all this https://stackoverflow.com/a/63461987

And then what did the trick was docker-compose down and then docker-compose up again.

Seems like it can also be an issue with docker desktop as pointed out here: https://github.com/docker-library/rabbitmq/issues/423

like image 1
Fabio Espinosa Avatar answered Oct 11 '22 06:10

Fabio Espinosa