You're probably generating output too fast, there's no flow control in io:format/2. You can generate things to print much faster than they get printed, which results in the io server accumulating so many messages in its mailbox that you eventually run out of memory and/or the machine grinds to a halt due to swapping.<br>
<br><div class="gmail_quote">On Mon, Jul 23, 2012 at 12:50 PM, Greg Martin <span dir="ltr"><<a href="mailto:greg@softsprocket.com" target="_blank">greg@softsprocket.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I'm just learning erlang using Erlang R15B01 (erts-5.9.1) on Windows. I'm<br>
wondering why ipv4_addrs:test(ipv4_addrs:first()) leads to the crash below<br>
and how it can be called so that it doesn't. Thanks.<br>
<br>
{1,2,22,127}<br>
{1,2,22,128}<br>
{1,2,22,129}<br>
{1,2,22,130}<br>
{1,2,22,131}<br>
{1,2,22,132}<br>
{1,2,22,133}<br>
{1,2,22,134}<br>
<br>
Crash dump was written to: erl_crash.dump<br>
eheap_alloc: Cannot allocate 373662860 bytes of memory (of type "heap").<br>
<br>
<br>
Abnormal termination<br>
<br>
<br>
-module(ipv4_addrs).<br>
<br>
-export([first/0, next/1, test/1]).<br>
<br>
first()-><br>
        { 1,1,0,0 }.<br>
<br>
next( { 255, 255, 255, 255 } ) -> done;<br>
next( { 9, 255, 255, 255 } ) -> { 11, 0, 0, 0 };<br>
next( { 172, 15, 255, 255 } ) -> { 172, 32, 0, 0 };<br>
next( { 192, 167, 255, 255 } ) -> { 192, 169, 0, 0 };<br>
next( { First, 255, 255, 255 } ) -> { First + 1, 0, 0, 0 };<br>
next( { First, Second, 255, 255 } ) -> { First, Second + 1, 0, 0 };<br>
next( { First, Second, Third, 255 } ) -> { First, Second, Third + 1, 0 };<br>
next( { First, Second, Third, Fourth } ) -> { First, Second, Third, Fourth +<br>
1 }.<br>
<br>
test(done) -> done;<br>
test(Addr) -><br>
        io:format("~p~n", [Addr]),<br>
        Next = next(Addr),<br>
        test(Next).<br>
<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</blockquote></div><br>