small medium large xlarge

01 Aug 2013, 12:39
David Copeland (500 posts)

For anyone that’s trying the very last exercise in chapter 20, when you add a method with a guard, BEAM will start consuming all system memory and basically never return. This is the form of “tracing no longer works”.

I have syntastic on in vim and I was unable to save files - BEAM was using 6G of memory! Not a complaint, just an FYI for those trying it…

02 Aug 2013, 14:17
Dave Thomas (366 posts)

David—which exercise was that?

02 Aug 2013, 19:48
David Copeland (500 posts)

Where you make the function tracer work for functions with guard conditions. I added a version of puts_sum_three that has a when c == 0 and then called it. BEAM didn’t seem to like that and just sucked up memory, hanging. I’m on Erlang R16B01, and Elixir 0.10.1-dev.

Once I started trying to solve the problem, it stopped hanging (though I wasn’t able to actually solve it - would love a hint)