[m-rev.] for review: Fix compiler abort during liveness detection.
Peter Wang
novalazy at gmail.com
Mon Sep 9 14:06:00 AEST 2013
On Mon, 9 Sep 2013 13:43:28 +1000 (EST), Julien Fischer <jfischer at opturion.com> wrote:
>
> Hi Peter,
>
> On Wed, 4 Sep 2013, Peter Wang wrote:
>
> > [I'm not certain of the fix]
>
> Neither am I.
>
> Do you know where the call to goal_info_get_post_births that is causing
> the aborts is? In particular, is it whne detect_deadness (i.e. stage 2
> of of liveness analysis) is processing an if-then-else?
It happens immediately afterwards in the call to add_liveness_after_goal.
Peter
% mdb lmc bug51
Melbourne Mercury Debugger, mdb version DEV.
Copyright 1998-2013 The University of Melbourne, Australia.
mdb is free software, covered by the GNU General Public License.
There is absolutely no warranty for mdb.
1: 1 1 CALL pred top_level.main/2-0 (det) top_level.m:55
mdb> e
6696336: 2279310 35 EXCP pred require.unexpected/3-0 (erroneous) c7; require.m:192 (hlds_llds.m:443)
mdb> bt
0 pred require.unexpected/3-0 (erroneous) (require.m:192)
1 pred hlds.hlds_llds.goal_info_get_post_births/2-0 (det) (hlds_llds.m:443)
2 pred ll_backend.liveness.add_liveness_after_goal/3-0 (det) (liveness.m:1804)
3 pred ll_backend.liveness.detect_liveness_in_goal/5-0 (det) (liveness.m:464)
4 4* pred ll_backend.liveness.detect_liveness_in_conj/5-0 (det) (liveness.m:510 and others)
8 pred ll_backend.liveness.detect_liveness_in_goal/5-0 (det) (liveness.m:410)
9 pred ll_backend.liveness.detect_liveness_proc_2/4-0 (det) (liveness.m:292)
10 pred ll_backend.liveness.detect_liveness_proc/4-0 (det) (liveness.m:266)
11 pred top_level.mercury_compile_llds_back_end.llds_backend_pass_for_proc/12-0 (det) (mercury_compile_llds_back_end.m:360)
12 pred top_level.mercury_compile_llds_back_end.llds_backend_pass_for_pred/11-0 (det) (mercury_compile_llds_back_end.m:292)
13 pred top_level.mercury_compile_llds_back_end.llds_backend_pass_by_preds_loop_over_preds/11-0 (det) (mercury_compile_llds_back_end.m:260)
14 pred top_level.mercury_compile_llds_back_end.llds_backend_pass_by_preds/7-0 (det) (mercury_compile_llds_back_end.m:207)
15 pred top_level.mercury_compile_llds_back_end.llds_backend_pass/8-0 (det) (mercury_compile_llds_back_end.m:134)
16 pred top_level.mercury_compile.mercury_compile_after_front_end/11-0 (det) (mercury_compile.m:1607)
17 pred top_level.mercury_compile.mercury_compile/11-0 (det) (mercury_compile.m:1441)
18 pred top_level.mercury_compile.compile/13-0 (det) (mercury_compile.m:1365)
19 pred list.map_foldl2/7-2 (det) (list.m:2679)
20 pred top_level.mercury_compile.compile_all_submodules/13-0 (det) (mercury_compile.m:1183)
21 pred top_level.mercury_compile.process_module_2/9-0 (det) (mercury_compile.m:1156)
22 pred top_level.mercury_compile.process_module/7-0 (det) (mercury_compile.m:1049)
23 pred top_level.mercury_compile.process_arg_2/7-0 (det) (mercury_compile.m:771)
24 pred top_level.mercury_compile.process_arg_build/9-0 (det) (mercury_compile.m:733)
25 pred make.util.build_with_module_options_args_invoked/12-0 (det) (make.util.m:1059)
26 pred make.util.build_with_module_options_args/11-0 (det) (make.util.m:1012)
27 pred top_level.mercury_compile.process_arg/8-0 (det) (mercury_compile.m:706)
28 pred top_level.mercury_compile.process_arg_list/10-0 (det) (mercury_compile.m:677)
29 pred top_level.mercury_compile.process_args/8-0 (det) (mercury_compile.m:629)
30 pred top_level.mercury_compile.process_all_args/8-0 (det) (mercury_compile.m:536)
31 pred top_level.mercury_compile.main_after_setup/7-0 (det) (mercury_compile.m:450)
32 pred top_level.mercury_compile.real_main_after_expansion/3-0 (det) (mercury_compile.m:310)
33 pred top_level.mercury_compile.real_main/2-0 (det) (mercury_compile.m:119)
34 pred top_level.main/2-0 (det) (top_level.m:56)
More information about the reviews
mailing list