[erlang-questions] Big band playing

Kostis Sagonas kostis@REDACTED
Sat Dec 15 20:23:19 CET 2018


On 12/15/18 7:30 PM, Mikael Pettersson wrote:
> On Fri, Dec 14, 2018 at 4:32 PM Kostis Sagonas<kostis@REDACTED>  wrote:
>> We have been playing with CutEr (https://github.com/aggelgian/cuter), a
>> Concolic unit testing tool for Erlang, and discovered the following bug
>> in the implementation of bitwise and (band/2) operator:
>>
>> Erlang/OTP 21 [erts-10.2] [source-2bf2b70] [64-bit] [smp:8:8]
>> [ds:8:8:10] [async-threads:1] [hipe] [sharing-preserving]
>>
>> Eshell V10.2  (abort with ^G)
>> 1> (-1299341865233935136534120785510400) band (-1).
>> -1299341865233953583278194495062016
>>
>>
>> which is the wrong result, of course.
>>
>> Most likely, it has existed forever.
> Looks like an old bug, I was able to reproduce it with every release
> back to R16B03 (R15B03 wouldn't build due to perl errors).

I was able to reproduce this on an old R12 version that I still have around:

Erlang (BEAM) emulator version 5.6.5 [source] [64-bit] [smp:64] 
[async-threads:0] [hipe] [kernel-poll:false]

Eshell V5.6.5  (abort with ^G)
1> (-1299341865233935136534120785510400) band (-1).
-1299341865233953583278194495062016


I would not be surprised if this bug existed even before Erlang/OTP 
became open source.

Kostis



More information about the erlang-questions mailing list