Internal consitency check failure

Ulf Norell <[email protected]>
Newsgroups gmane.comp.lang.erlang.bugs
Message-ID <CAJjNqYG=WXJnDv6Xc7AvsnoKgajMP7-SC3+ZUkHC=Mmjbo0QRA@mail.gmail.com>
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

_______________________________________________
erlang-bugs mailing list
[email protected]
http://erlang.org/mailman/listinfo/erlang-bugs
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.