[erlang-bugs] Re: ETS ordered_set not ordered with OTP R14-B02 64 bits
Fri Apr 1 11:04:26 CEST 2011
Thank you for the awesome error report!
The bug is confirmed (of course) and it looks like a truncated integer in
the comparision. The attached patch should fix it.
Please verify the patch and I'll add it (together with your testcase) to
On Fri, 1 Apr 2011, Nicolas Charpentier wrote:
> 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...
Size: 548 bytes
Desc: Correction for ordered_set comparision bug.
More information about the erlang-bugs