erlang/otp

[erlc] internal consistency check: uninitialized_reg

RobinMorisset opened this issue · 0 comments

Describe the bug
Running erlc on the following:

f([]) ->
    ok;
f(_V0) ->
    ((_V1 = erlang:is_list(_V0)) orelse binary_to_integer(list_to_bitstring([]))) / 0,
    _V1.

fails with

test493867:1: function f/1+16:
  Internal consistency check failed - please report this bug.
  Instruction: {call_ext,1,{extfunc,erlang,list_to_bitstring,1}}
  Error:       {uninitialized_reg,{y,0}}:

Affected versions

Additional context
I could not reproduce this with an old version of OTP 25, so I suspect the bug was introduced in the last year.