internal error in native_compile

Paul Guyot pguyot@REDACTED
Thu Jul 22 18:20:32 CEST 2010


Hello,

I am experiencing a strange error when compiling with +native the following module:

----------------------------
-module(hipe_crash).
-export([f/6]).

f(A, B, C, D, E, L) ->
    lists:foldl(fun (X, P) ->
        AVar = case A of
            0 -> 1 / D;
            N -> N / (C - B)
        end,
        BVar = case E of
            atom1 -> 1.0;
            atom2 -> 0.8;
            _ -> E
        end,
        CVar = case X of
            atom1 -> 0.1 * AVar;
            _ -> 1.0
        end,
        P * BVar * CVar
    end, 1, L).
----------------------------

I couldn't restrict the code further. For example, the error does not happen without the atom2 case line for BVar.

With +native, I get:

=ERROR REPORT==== 22-Jul-2010::18:17:53 ===
<HiPE (v 3.7.6)> Error: [hipe:867]: ERROR: {function_clause,
                                            [{proplists,get_bool,2},
                                             {global_group,
                                              global_groups_removed,1}]}

=ERROR REPORT==== 22-Jul-2010::18:17:53 ===
Error in process <0.30.0> with exit value: {{hipe,868,{function_clause,[{proplists,get_bool,2},{global_group,global_groups_removed,1}]}},[{hipe,finalize_fun_sequential,3},{hipe,'-finalize_fun_concurrent/3-fun-3-',4}]}

/Junk/tmp/hipe_crash.erl:none: internal error in native_compile;
crash reason: {{hipe,868,
                   {function_clause,
                       [{proplists,get_bool,2},
                        {global_group,global_groups_removed,1}]}},
               [{hipe,finalize_fun_sequential,3},
                {hipe,'-finalize_fun_concurrent/3-fun-3-',4}]}

With +native +'{hipe, [verbose]}', I get:

<HiPE (v 3.7.6)> EXITED with reason {function_clause,[{hipe_icode_fp,assert_assigned,[[{30,{icode_variable,40,fvar,[]}}]]},{hipe_icode_fp,bindings_are_assigned,1},{hipe_icode_fp,filter_map,3},{hipe_icode_fp,transform_block,2},{hipe_icode_fp,cfg,1},{hipe_main,icode_ssa_type,4},{hipe_main,icode_ssa,4},{hipe_main,compile_icode,5}]} @hipe:868

=ERROR REPORT==== 22-Jul-2010::18:17:13 ===
<HiPE (v 3.7.6)> Error: [hipe:867]: ERROR: {function_clause,
                                            [{hipe_icode_fp,assert_assigned,
                                              [[{30,
                                                 {icode_variable,40,fvar,
                                                  []}}]]},
                                             {hipe_icode_fp,
                                              bindings_are_assigned,1},
                                             {hipe_icode_fp,filter_map,3},
                                             {hipe_icode_fp,transform_block,2},
                                             {hipe_icode_fp,cfg,1},
                                             {hipe_main,icode_ssa_type,4},
                                             {hipe_main,icode_ssa,4},
                                             {hipe_main,compile_icode,5}]}
/Junk/tmp/hipe_crash.erl:none: internal error in native_compile;
crash reason: {{hipe,868,
                   {function_clause,
                       [{hipe_icode_fp,assert_assigned,
                            [[{30,{icode_variable,40,fvar,[]}}]]},
                        {hipe_icode_fp,bindings_are_assigned,1},
                        {hipe_icode_fp,filter_map,3},
                        {hipe_icode_fp,transform_block,2},
                        {hipe_icode_fp,cfg,1},
                        {hipe_main,icode_ssa_type,4},
                        {hipe_main,icode_ssa,4},
                        {hipe_main,compile_icode,5}]}},
               [{hipe,finalize_fun_sequential,3},
                {hipe,'-finalize_fun_concurrent/3-fun-3-',4}]}

This is with an R14A OTP installation configured with --enable-native-libs.

Any idea?

Paul
-- 
Semiocast                    http://semiocast.com/
+33.175000290 - 62 bis rue Gay-Lussac, 75005 Paris



More information about the erlang-bugs mailing list