[erlang-questions] make_ref bug or feature?

Joe Armstrong <>
Fri Mar 27 12:43:48 CET 2009


I got a question from Ivo Danihelka about make_ref().

Isn't make_ref() supposed to generate "an almost unique reference" the
manual says

    "Returns an almost unique reference.
     The returned reference will re-occur after approximately 2^82
calls; therefore it is unique enough for practical purposes."

If I start two erlang shells and evaluate the following in both shells:

1> io:format("~p~n",[term_to_binary(make_ref())]).
<<131,114,0,3,100,0,13,110,111,110,111,100,101,64,110,111,104,111,115,116,0,0,
  0,0,34,0,0,0,0,0,0,0,0>>

They *both* print the same thing - this violates the principle of
least astonishment.
(I thought I'd have to start 2^82 shells :-)

Is this a bug or a feature?

/Joe



More information about the erlang-questions mailing list