[erlang-bugs] Internal consitency check failure

Ulf Norell ulf.norell@REDACTED
Thu Feb 19 10:35:27 CET 2015


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'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 two 'hockey' atoms need to be the same (but not necessarily sports
related).
- I tried reasonably hard to make the program smaller, but failed.

I get the same error on all distributions I tried (R14 up to R17.4.1).
Master didn't build for me.

/ Ulf
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-bugs/attachments/20150219/086ddfaa/attachment.htm>


More information about the erlang-bugs mailing list