[erlang-questions] exception error: a system limit has been reached
zxq9
zxq9@REDACTED
Sun May 8 06:57:03 CEST 2016
On 2016年5月8日 日曜日 12:33:03 Khitai Pang wrote:
> When I restart my app I get "escript: exception error: a system limit
> has been reached". I can't figure out the reason.
>
>
> $ myapp/_rel/myapp/bin/myapp restart
Whatever is happening there is trying to call list_to_atom/1 with a HUUUUUGE string (why is that even happening?). That entire blob of text starting with "myapp_maint_5500@REDACTED" is ONE huge string you are passing to list_to_atom/1. That is beyond the limit for atom sizes, so you get this error:
I couldn't find it in the docs anywhere, but the max size of an atom is 256 characters:
ceverett@REDACTED:~$ erl
Erlang/OTP 18 [erts-7.2] [source] [64-bit] [smp:2:2] [async-threads:10] [kernel-poll:false]
Eshell V7.2 (abort with ^G)
1> list_to_atom("zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz").
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
2> list_to_atom("zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz").
** exception error: a system limit has been reached
in function list_to_atom/1
called as list_to_atom("zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz")
My suspicion is that your "restart" function is accepting as input some output of the last run of the script and expecting to receive its node name as a string (probably "myapp_maint_5500@REDACTED") but instead you are actually getting a huge string with a node name plus a crash report, and trying to restart it with a node name that is the entire previous crash report.
More information about the erlang-questions
mailing list