[erlang-bugs] R16 Dialyzer bad_crc error

Tuncer Ayaz <>
Tue Jan 22 18:22:19 CET 2013


On Tue, Jan 22, 2013 at 2:44 PM, Stavros Aronis wrote:
> Hi Tuncer,
>
> sorry for the long delay. I am using the latest master branch from
> erlang/otp repository (with HiPE disabled due to the recent known
> issues :-( ), and I cannot reproduce the error that you are
> reporting.
>
> SHAs
> otp: 9b01d95
> erlydtl: c18f2a0
>
> What version of erlydtl and otp are you seeing this on? (SHAs would
> be useful).

When that particular error happened erlydtl.git was at 3306858. It
doesn't happen with today's otp.git, but there's a new issue with
today's otp.git. Should I try to checkout otp.git from Jan 10th and
retry with that? erlydtl.git c18f2a0 also doesn't provoke the Jan 10th
issue when using otp.git.

$ cd otp
$ git describe
OTP_R15B03-1-1421-g9b01d95
$ git clean -fxdq
$ export ERL_TOP=$PWD
$ export PATH=$ERL_TOP/bin:$PATH
$ MAKEFLAGS=-j2 ./otp_build setup -a --prefix=$PWD/localinst
$ make install
$ export PATH=$PWD/localinst/bin:$PATH
$ dialyzer --build_plt --verbose --apps BIG_LIST_OF_APPS SOME_EBIN_DIRS
Compiling some key modules to native code...

It's stuck at that step:
$ ps -Ao fname,bsdtime,tmout,wchan|grep beam
beam.smp   0:30     - poll_schedule_timeout

I didn't enable --enable-native-libs because that breaks the build
right now, but I did so on Jan 10th.

> On Thu, Jan 10, 2013 at 6:49 PM, Tuncer Ayaz wrote:
>>
>> On Tue, Jan 8, 2013 at 5:00 PM, Tuncer Ayaz wrote:
>> > dialyzer --build_plt with otp.git 3e8a6c8 fails as follows:
>> > {"init terminating in do_boot",{{badmatch,{error,bad_crc}},
>> >   [{hipe,finalize,5,[{file,"hipe.erl"},{line,740}]},
>> >    {hipe,compile_finish,3,[{file,"hipe.erl"},{line,697}]},
>> >    {hipe,'-run_compiler_1/3-fun-0-',4,[{file,"hipe.erl"},{line,658}]}]
>> >   }}
>> >
>> > Maybe it's a known but not yet resolved issue caused by the major
>> > code loader changes happening in R16.
>>
>> This is fixed as of today's master update, but now Dialyzer fails
>> to extract core Erlang code from two erlydtl beams. If the beams
>> were not compiled with debug_info, Dialyzer would have warned about
>> extracting abstract code (not core Erlang code) instead.
>>
>> To reproduce:
>> $ git clone git://github.com/evanmiller/erlydtl.git
>> $ cd erlydtl
>> $ make
>> $ dialyzer --build_plt --output_plt test_plt ebin
>>   Creating PLT test_plt ...
>> dialyzer: Analysis failed with error:
>> Could not scan the following file(s):
>> [{"/tmp/foo/ebin/erlydtl_slice.beam",
>> "  Could not get core Erlang code for: /tmp/foo/ebin/erlydtl_slice.beam"},
>> {"/tmp/foo/ebin/erlydtl_filters.beam",
>> "  Could not get core Erlang code for:
>> /tmp/foo/ebin/erlydtl_filters.beam"}]


More information about the erlang-bugs mailing list