BUG: OTP 23.0 internal consistency check failed

Ulf Wiger ulf@REDACTED
Sun Aug 16 10:35:50 CEST 2020


Trying to build the aeternity source code on OTP 23.0  (and 23.0.2),
the following error message appeared (after fixing some deps):

===> Compiling apps/aechannel/src/aesc_fsm.erl failed
aesc_fsm: function prepare_initial_state/4+125:
  Internal consistency check failed - please report this bug.
  Instruction: {test,is_eq_exact,{f,5977},[{y,2},{atom,true}]}
  Error:       {unassigned,{y,2}}:

The problem can be reproduced by extracting the following source files
and calling `erlc -W aesc_fsm.erl`
(https://github.com/aeternity/aeternity)

apps/aechannel/src/
  aesc_fsm.erl
  aesc_fsm.hrl
  aesc_codec.hrl
  aechannel.hrl
apps/aecontract/include/hard_forks.hrl
apps/aeutils/include/aeu_stacktrace.hrl

(The -include_lib() instructions need to be changed to -include())

I tried reducing the aesc_fsm.erl module to just the affected function
+ some helper functions and data declarations, but once the code
compiled, the consistency check problem was gone.

The error did not occur using OTP 22.3.

BR,
Ulf W


More information about the erlang-questions mailing list