[erlang-bugs] ETS ordered_set not ordered with OTP R14-B02 64 bits

Nicolas Charpentier <>
Fri Apr 1 08:35:21 CEST 2011


Testing our application with R14-B02, we noticed some strange behaviour with the timers. 
Sometimes, timer:send_interval/3 wasn't sending the message to the process.

After some investigations, it seems that in some circumstances, on an ordered_set  ets:first/1 doesn't give the lowest key. 

The minimal use case is isolated in the script bug.esh. 

The bug can be reproduce on:
- Ubuntu 64bits and Red-Hat 64 bits  (OTP compiled without any particular option )
- MacOS 64 BIts (64 bits compilation forced with ./configure --enable-darwin-64bit)

The bug can't be reproduce on:
- MacOs 32 bits
- Ubuntu 32 bits

Thanks to "git bisect" the bug seems to be introduced by the commit fff4ba0282e42e2942acebff9c10a274075c1c62

$ git start
$ git bisect good OTP_R14B01
$ git bisect bad OTP_R14B02
$ git bisect run <PATH_TO bisect_ets_bug.sh>

Nicolas Charpentier

-------------- next part --------------
A non-text attachment was scrubbed...
Name: bug.esh
Type: application/octet-stream
Size: 520 bytes
Desc: not available
URL: <http://erlang.org/pipermail/erlang-bugs/attachments/20110401/a9d0cbd6/attachment.obj>
-------------- next part --------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bisect_ets_bug.sh
Type: application/octet-stream
Size: 65 bytes
Desc: not available
URL: <http://erlang.org/pipermail/erlang-bugs/attachments/20110401/a9d0cbd6/attachment-0001.obj>

More information about the erlang-bugs mailing list