Atom Exhaustion Is Not a Footgun. It's One Third of Our CVEs
12 points by pushcx
12 points by pushcx
I don't understand the title. It sure does look like a footgun?
I think the point of the title is that describing atom exhaustion as "just a footgun" undersells how bad of an issue it is.
I interpreted it as meaning that it's a bigger issue than "just" a simple footgun. That being said, "footgun" is a pretty broad term, at least in my experience, so awkwardly worded either way.
IIRC, I don't use erlang daily anymore but atoms are not garbage collected. If you're like "doesn't ruby have symbols which are like erlang's atoms" you'd be right, but ruby garbage collects symbols.
Additionally, by default, the lookup table where erlang atoms are stored only allow a maximum of 1,048,576 of them.
If you have user input that generates atoms dynamically via, say a form, that is very bad™ and leaves your software open to DoS.
Sounds like the situation in Ruby with Symbols before they became garbage collected objects.
Sounds like a bad design / implementation in something fundamental, which is surprising in a language I heard constant praises about on the interwebz.