[erlang-bugs] Internal consitency check failure
Anthony Ramine
n.oxyde@REDACTED
Sat Feb 21 01:44:39 CET 2015
Le 19 févr. 2015 à 14:35, Björn Gustavsson <bjorn@REDACTED> a écrit :
> On Thu, Feb 19, 2015 at 10:35 AM, Ulf Norell <ulf.norell@REDACTED> wrote:
>> Messing around with my random program generator again I got the following
>> message:
>>
>> 1> c(bug).
>>
>> bug: function f/0+18:
>>
>> Internal consistency check failed - please report this bug.
>>
>> Instruction: {gc_bif,'+',{f,0},1,[{x,0},{atom,hockey}],{x,0}}
>>
>> Error: unknown_catch_try_state:
>>
>
> Here is a correction:
>
> https://github.com/bjorng/otp/commit/d4fbd1f61a1d346415e45a46dbe5e3cdb4c67d49
>
>>
>> Here's the (somewhat contrived) program
>>
>> -module(bug).
>> -compile(export_all).
>> f() ->
>> receive _ -> (b = fun() -> ok end)
>> + hockey, +x after 0 -> ok end, try (a = fun() -> ok end) + hockey, +
>> y catch _ -> ok end.
>>
>> There are a number of intriguing things here
>>
>> - Breaking the 'hockey' line anywhere gets rid of the bug(!!).
>
> The problematic optimimization was not done when line
> numbers didn't match.
Maybe some compiler tests should also be run with +no_line_info or something?
More information about the erlang-bugs
mailing list