Unable to start a distillery release - unable to find .erlang.cookie

Hi there,

I am unable to start a distillery release, both locally and through edeliver. I am told to create an .erlang.cookie file (with permissions 0400) in my users home dir, but one already exists with the correct permission, in the correct directory (it specifies the home dir it searches in, in the error message, and I am absolutely positive it is there…)

Error:

a secret cookie must be provided in one of the following ways:\n  - with vm.args using the -setcookie parameter,\n  or\n  by writing the cookie to '/home/oasf/.erlang.cookie', with permissions set to 0400

Elixir is a dream to program in, but distillery is driving me crazy…

Any ideas?

Please show the output of stat /home/oasf/.erlang cookie.

1 Like
File: /home/oasf/.erlang.cookie
  Size: 65        	Blocks: 8          IO Block: 4096   regular file
Device: 800h/2048d	Inode: 286603      Links: 1
Access: (0400/-r--------)  Uid: ( 1000/    oasf)   Gid: ( 1000/    oasf)
Access: 2019-09-01 13:31:10.555437976 +0000
Modify: 2019-09-01 13:31:10.555437976 +0000
Change: 2019-09-01 13:39:34.087708153 +0000
 Birth: -

I have been unable to resolve this issue completely. I have narrowed it down to vm.env not being copied into ‘app_release//’.

If any one else should have this problem and are looking for a fix:
Copying it from ‘app_release//releases//’, manually, fixes the issue, for now.

1 Like

Hi @oasf, I’ve ran into the same issue after updating OTP to version 21.3.8.8. This was a release of an application that I’ve deployed possibly a hundred times before, and the deployment process is fully automated.

Like you, the .erlang.cookie existed in the right place with the right permissions, but I was still getting the same error. Similar to you, I’ve resolved it with having a vm.args file copied into the releases directory, but notably, it only worked if I had a -name parameter set in that file. If the file contains no -name parameter, I still get the cookie missing error.

1 Like

Correction: this happened after having updated OTP to version 21.3.8.8 and updating distillery from version 1.5 to 2.1. The latter was probably the actual cause of the issue.

I also had the same error. Could you elaborate on the solution by copying vm.args? Do you mean copying it from $HOME/releases/{version_number} into $HOME/releases/, and why would that solve the problem.