juanldslv

juanldslv

How to read a erl_crash.dump for know the cause of crash that has application?

Hello guys, I hope that all your things are good, I open the file erl_crash but I dont know exactly what is the cause that make that the application crash. I have this files, two files are erl_crash report, the another file is about top in server, the ram has a good average of use, but it never overload until the moment.
The server has this features 4 gb of ram, 500 gb of hd, S.O is Ubuntu with 64 bits.

all advices are well received. best regards .

Most Liked

rvirding

rvirding

Creator of Erlang

It is the line marked “Slogan:” which gives the basic cause why the erlang system crashed. In this case you were trying to allocate more memory for process heaps but this was not allowed by the OS.

idi527

idi527

I usually remove all swap since it introduces huge unpredictablity in performance into the system. Plus I’ve seen some cases when swap causes problems with ssh. It’s safer to fail fast, in my opinion, at least on linux. I heard freebsd is a bit different in regards to swap (it’s possible to mark some processes which won’t go into swap or something like that).

“Swap or no swap for soft real-time elixir apps” might be an interesting discussion to have …

OvermindDL1

OvermindDL1

It looks like it’s just running out of memory… How much memory does the program use? How long does it take to crash? Can you open up observer on it and watch it to see if any specific process or binary heap or something keeps growing without shrinking?

EDIT: And for some reason it looks capped to 2gigs of ram?

Oooo, I think I see, you are allocating more ram than what’s available and you have no SWAP memory setup.

Either reduce the memory load of the system (again check your beam program and see what’s eating memory via :observer or so), and/or add swap. You should add swap anyway, I’d say no less than 8 gigs of swap for your system. You can add swap while the system is in use for note, instructions online. :slight_smile:

OvermindDL1

OvermindDL1

To start observer make sure erlang was compiled with wx in (default builds are unless you built it yourself or didn’t install the package or so), then to start it just make sure you have an X session (locally or over ssh or whatever) and run :observer.start() in the shell, or start a new shell, connect remotely, ping the other node, then run :observer.start() then select the remote node from the top menu. :slight_smile:

Once you get observer up you will see all you can do, it is fantastic. ^.^

juanldslv

juanldslv

@OvermindDL1 thank you man, I can make some advices that you give me, but other I would not make cause I dont know how to do that, for example: where I can see or watch how much memory does the program use ? and how I can open up observer on it and watch it to see if any specific process or binary heap or something keeps growing without shrinking?

thank you and a lot of thank you for your time.

Where Next?

Popular in Questions Top

shahryarjb
Hello, I get Persian date from my client and convert it to normal calendar like this: def jalali_string_to_miladi_english_number(persi...
New
JorisKok
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New
_russellb
I want to try my hand at web scraping. What tools/libraries do I need to use. I’m hoping to turn this into something professional so don’...
New
New
dokuzbir
Hello, I am trying to convert my lists to string without losing brackets.For start i have 3 map. They look like these buyer = %{ id: ...
New
script
If I have a string “1000 cfu/ml” . I want to remove the characters and / and space . So the string is like this "1000" What is the ...
New
myronmarston
The Elixir Typespec docs show the following syntax for keyword lists in typespecs: # ... | [key: type] # keyword lis...
New
electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New
idi527
I’ve been re-reading swift book again and noticed that multiline strings there don’t have a trailing line break, unlike in elixir iex(2)...
New

Other popular topics Top

aalberti333
As the title describes, I’m trying to run Enum.map() over a list of key/value pairs, where the value is a map. My data looks like this: ...
New
malloryerik
Hi, this is for people who, like me, have had some friction using .html.heex templates in VSCode. The solution seems to be, in a hyphena...
New
Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New
mcarvalho
What is the difference between System.get_env and Application.get_env? For example, what are best practices to use one versus another.
New
chensan
I have a User schema with a :from_id field set to type :string: defmodule TweetBot.Repo.Migrations.CreateUsers do use Ecto.Migration ...
New
msaraiva
Surface is an experimental library built on top of Phoenix LiveView and its new LiveComponent API that aims to provide a more declarative...
564 42633 214
New
beno
I will often find my self writing things similar to: case some_value do nil -> something() "" -> something() _ -> someth...
New
josevalim
Hi everyone, One of the features added to Elixir early on to help integration with Erlang code was the idea of overridable function defi...
New
joeerl
Hello again - after a longish gap I’ve decided I really must dig into Elixir and see what’s been happening here - so I have a few questio...
New
magnetic
Hey :wave:t3: Elixir community, I’ve been learning Elixir, and working on some side projects. My editor of choice is VSCode, and althoug...
New

We're in Beta

About us Mission Statement