ets:lookup and ets:update_counter return [] although key/value is there

Bjorn Gustavsson <>
Tue Sep 13 10:42:39 CEST 2005

Knut Bakke <> writes:

> My best clue: I know that the memory driver for erlang
> has been changed to delete memory areas before
> updating them - to reduce memory fragmentation. Could
> it be that there is a time slice where the data is not
> there?

(I suppose you refer to the +r flag.)

NO. The current emulator is single-threaded. Nothing else
can run while an ets operation is taking place.

I strongly suspect that there is a bug in your own application, that
changing the hardware has changed the timing and exposed a latent bug.
Of course, the bug could be in ets; in that case it should be possible
to reproduce it on any machine if you would do EXACTLY the same ets

Have you tried to trace all ets operations?


Björn Gustavsson, Erlang/OTP, Ericsson AB

More information about the erlang-questions mailing list