Firm Bugtracker - libFirm
Viewing Issue Advanced Details
165 x86 ia32 backend minor always 2016-01-08 08:58 2016-01-21 16:10
nobody  
Tron  
normal  
resolved development  
fixed  
none    
none  
0000165: cparser: ir/ir/irnode.c:81: ir_node *new_ir_node(dbg_info *, ir_graph *, ir_node *, ir_op *, ir_mode *, int, ir_node *const *):
cparser: ir/ir/irnode.c:81: ir_node *new_ir_node(dbg_info *, ir_graph *, ir_node *, ir_op *, ir_mode *, int, ir_node *const *): Assertion `mode != ((void*)0)' failed.

Program received signal SIGABRT, Aborted.
0x00007ffff7765657 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55
55 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt full
#0 0x00007ffff7765657 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55
        resultvar = 0
        pid = 24795
        selftid = 24795
0000001 0x00007ffff7766a2a in __GI_abort () at abort.c:89
        save_stage = 2
        act = {__sigaction_handler = {sa_handler = 0x4, sa_sigaction = 0x4}, sa_mask = {__val = {5661317, 17942288, 140737488340176, 12884886832, 0, 0, 0, 4294967296, 140737488340328, 140737346369233,
              140737488340128, 140737346403856, 140737346385016, 140737488340352, 140737354088448, 140737346385016}}, sa_flags = 7644470, sa_restorer = 0x72ba47}
        sigs = {__val = {32, 0 <repeats 15 times>}}
0000002 0x00007ffff775e59d in __assert_fail_base (fmt=0x7ffff789b478 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x74a536 "mode != ((void*)0)", file=file@entry=0x72ba0b "ir/ir/irnode.c",
    line=line@entry=81, function=function@entry=0x72ba47 "ir_node *new_ir_node(dbg_info *, ir_graph *, ir_node *, ir_op *, ir_mode *, int, ir_node *const *)") at assert.c:92
        str = 0x11a2a40 "\020H\357"
        total = 4096
0000003 0x00007ffff775e652 in __GI___assert_fail (assertion=0x74a536 "mode != ((void*)0)", file=0x72ba0b "ir/ir/irnode.c", line=81,
    function=0x72ba47 "ir_node *new_ir_node(dbg_info *, ir_graph *, ir_node *, ir_op *, ir_mode *, int, ir_node *const *)") at assert.c:101
No locals.
0000004 0x000000000055dc6a in new_ir_node (db=0x0, irg=0xf3a980, block=0x1010660, op=0xa2f890, mode=0x0, arity=1, in=0x7fffffffc718) at ir/ir/irnode.c:81
        node_size = 16844384
        res = 0xffffffff010de250
0000005 0x000000000059a67c in new_rd_Proj (dbgi=0x0, irn_pred=0x10de250, mode=0x0, num=4) at build/gen/ir/ir/gen_irnode.c:2098
        block = 0x1010660
        irg = 0xf3a980
        in = {0x10de250}
        res = 0x7fffffffc730
        attr = 0x544835 <ARR_LEN+21>
0000006 0x000000000059a74c in new_r_Proj (irn_pred=0x10de250, mode=0x0, num=4) at build/gen/ir/ir/gen_irnode.c:2108
No locals.
0000007 0x00000000005445a6 in be_new_Proj (pred=0x10de250, pos=4) at ir/be/benode.c:568
        req = 0x9fbe70 <ia32_single_reg_req_fp_st0>
0000008 0x00000000006a71f3 in add_missing_keep_walker (node=0x10de250, data=0x0) at ir/be/bespillutil.c:1106
        value = 0x0
        req = 0x9fbe70 <ia32_single_reg_req_fp_st0>
        cls = 0xa016a0 <ia32_reg_classes+48>
        i = 4
        n_outs = 22
        existing_projs = 0x7fffffffc7c0
        n_to_keep = 0
0000009 0x0000000000564f1b in irg_walk_2_pre (node=0x10de250, pre=0x6a7010 <add_missing_keep_walker>, env=0x0) at ir/ir/irgwalk.c:39
        irg = 0xf3a980
        visited = 945
0000010 0x000000000056500c in irg_walk_2_pre (node=0x118e810, pre=0x6a7010 <add_missing_keep_walker>, env=0x0) at ir/ir/irgwalk.c:48
        pred = 0x10de250
        i = 0
        pred__irn = 0x118e810
        pred__b = false
        irg = 0xf3a980
        visited = 945
#11 0x000000000056500c in irg_walk_2_pre (node=0x111b9f0, pre=0x6a7010 <add_missing_keep_walker>, env=0x0) at ir/ir/irgwalk.c:48
        pred = 0x118e810
        i = 3
        pred__irn = 0x111b9f0
        pred__b = false
        irg = 0xf3a980
        visited = 945
0000012 0x000000000056500c in irg_walk_2_pre (node=0x111bb60, pre=0x6a7010 <add_missing_keep_walker>, env=0x0) at ir/ir/irgwalk.c:48
        pred = 0x111b9f0
        i = 0
        pred__irn = 0x111bb60
        pred__b = false
        irg = 0xf3a980
        visited = 945
#13 0x000000000056500c in irg_walk_2_pre (node=0x116b610, pre=0x6a7010 <add_missing_keep_walker>, env=0x0) at ir/ir/irgwalk.c:48
        pred = 0x111bb60
        i = 0
        pred__irn = 0x116b610
        pred__b = false
        irg = 0xf3a980
        visited = 945
0000014 0x000000000056500c in irg_walk_2_pre (node=0xf0b150, pre=0x6a7010 <add_missing_keep_walker>, env=0x0) at ir/ir/irgwalk.c:48
        pred = 0x116b610
        i = 0
        pred__irn = 0xf0b150
        pred__b = false
        irg = 0xf3a980
        visited = 945
0000015 0x0000000000564f5d in irg_walk_2_pre (node=0x116c210, pre=0x6a7010 <add_missing_keep_walker>, env=0x0) at ir/ir/irgwalk.c:44
        pred = 0xf0b150
        irg = 0xf3a980
        visited = 945
0000016 0x000000000056500c in irg_walk_2_pre (node=0x111caa0, pre=0x6a7010 <add_missing_keep_walker>, env=0x0) at ir/ir/irgwalk.c:48
        pred = 0x116c210
        i = 0
        pred__irn = 0x111caa0
        pred__b = false
        irg = 0xf3a980
        visited = 945
0000017 0x0000000000564f5d in irg_walk_2_pre (node=0x116c3b0, pre=0x6a7010 <add_missing_keep_walker>, env=0x0) at ir/ir/irgwalk.c:44
        pred = 0x111caa0
        irg = 0xf3a980
        visited = 945
0000018 0x000000000056500c in irg_walk_2_pre (node=0x116bb80, pre=0x6a7010 <add_missing_keep_walker>, env=0x0) at ir/ir/irgwalk.c:48
        pred = 0x116c3b0
        i = 0
        pred__irn = 0x116bb80
        pred__b = false
        irg = 0xf3a980
        visited = 945
0000019 0x0000000000564f5d in irg_walk_2_pre (node=0x116bce0, pre=0x6a7010 <add_missing_keep_walker>, env=0x0) at ir/ir/irgwalk.c:44
        pred = 0x116bb80
        irg = 0xf3a980
        visited = 945
0000020 0x000000000056500c in irg_walk_2_pre (node=0x111c3a0, pre=0x6a7010 <add_missing_keep_walker>, env=0x0) at ir/ir/irgwalk.c:48
        pred = 0x116bce0
        i = 1
        pred__irn = 0x111c3a0
        pred__b = false
        irg = 0xf3a980
        visited = 945
0000021 0x0000000000564f5d in irg_walk_2_pre (node=0x111c510, pre=0x6a7010 <add_missing_keep_walker>, env=0x0) at ir/ir/irgwalk.c:44
        pred = 0x111c3a0
        irg = 0xf3a980
        visited = 945
0000022 0x000000000056500c in irg_walk_2_pre (node=0x10dd510, pre=0x6a7010 <add_missing_keep_walker>, env=0x0) at ir/ir/irgwalk.c:48
        pred = 0x111c510
        i = 1
        pred__irn = 0x10dd510
        pred__b = false
        irg = 0xf3a980
        visited = 945
0000023 0x0000000000564f5d in irg_walk_2_pre (node=0x116b820, pre=0x6a7010 <add_missing_keep_walker>, env=0x0) at ir/ir/irgwalk.c:44
        pred = 0x10dd510
        irg = 0xf3a980
        visited = 945
0000024 0x000000000056500c in irg_walk_2_pre (node=0x111b490, pre=0x6a7010 <add_missing_keep_walker>, env=0x0) at ir/ir/irgwalk.c:48
        pred = 0x116b820
        i = 0
        pred__irn = 0x111b490
        pred__b = false
        irg = 0xf3a980
        visited = 945
#25 0x0000000000564f5d in irg_walk_2_pre (node=0x111b730, pre=0x6a7010 <add_missing_keep_walker>, env=0x0) at ir/ir/irgwalk.c:44
        pred = 0x111b490
        irg = 0xf3a980
        visited = 945
0000026 0x000000000056500c in irg_walk_2_pre (node=0x100fab0, pre=0x6a7010 <add_missing_keep_walker>, env=0x0) at ir/ir/irgwalk.c:48
        pred = 0x111b730
        i = 2
        pred__irn = 0x100fab0
        pred__b = false
        irg = 0xf3a980
        visited = 945
0000027 0x0000000000564f5d in irg_walk_2_pre (node=0x100fd80, pre=0x6a7010 <add_missing_keep_walker>, env=0x0) at ir/ir/irgwalk.c:44
        pred = 0x100fab0
        irg = 0xf3a980
        visited = 945
0000028 0x0000000000564e2b in irg_walk_2 (node=0x100fd80, pre=0x6a7010 <add_missing_keep_walker>, post=0x0, env=0x0) at ir/ir/irgwalk.c:107
No locals.
0000029 0x000000000056536d in irg_walk_core (node=0x100fd80, pre=0x6a7010 <add_missing_keep_walker>, post=0x0, env=0x0) at ir/ir/irgwalk.c:115
No locals.
0000030 0x00000000005653d1 in irg_walk (node=0x100fd80, pre=0x6a7010 <add_missing_keep_walker>, post=0x0, env=0x0) at ir/ir/irgwalk.c:125
        irg = 0xf3a980
0000031 0x0000000000565525 in irg_walk_graph (irg=0xf3a980, pre=0x6a7010 <add_missing_keep_walker>, post=0x0, env=0x0) at ir/ir/irgwalk.c:132
No locals.
0000032 0x00000000006a6aa9 in be_spill_prepare_for_constraints (irg=0xf3a980) at ir/be/bespillutil.c:1135
        cenv = {op_set = {entries = 0x11883f0, num_buckets = 140737488344080, enlarge_threshold = 5661317, shrink_threshold = 140737488344176, num_elements = 17, num_deleted = 256, consider_shrink = 5663061,
            entries_version = 0}, obst = {chunk_size = 15771200, chunk = 0x10dd510, object_base = 0x7fffffffd470 "\340\324\377\377\377\177", next_free = 0x565bed <get_irn_n_+125> "\203\370",
            chunk_limit = 0x1010660 "\004", temp = {tempint = 944, tempptr = 0x3b0}, alignment_mask = 17683728, chunkfun = 0x0, freefun = 0x100fd80, extra_arg = 0x10dd510, use_extra_arg = 0,
            maybe_empty_object = 0, alloc_failed = 0}}
        map_iter = {current_bucket = 0x565bed <get_irn_n_+125>, end = 0x1010660, set = 0x3b0, entries_version = 18383824}
        map_entry = {node = 0xffffffff00f0a640, data = 0xf0a640}
0000033 0x00000000006c2b58 in be_ra_chordal_main (irg=0xf3a980, regif=0x9f9890 <ia32_regalloc_if>) at ir/be/bechordal_main.c:254
        chordal_env = {obst = {chunk_size = 140737488344368, chunk = 0x402680 <_start>, object_base = 0x7fffffffd8f0 "X", next_free = 0x0, chunk_limit = 0x0, temp = {tempint = 4455336,
              tempptr = 0x43fba8 <pset_new_destroy+24>}, alignment_mask = 17683728, chunkfun = 0x7fffffffd560, freefun = 0x7fffffffd5b0, extra_arg = 0x5602c0 <remove_End_Bads_and_doublets+240>,
            use_extra_arg = 0, maybe_empty_object = 0, alloc_failed = 0}, irg = 0x10000020100f980, cls = 0x10dd510, border_heads = 0x2ffffffff, ifg = 0x0, allocatable_regs = 0x20}
        reg_classes = 0x0
0000034 0x0000000000541cfc in be_allocate_registers (irg=0xf3a980, regif=0x9f9890 <ia32_regalloc_if>) at ir/be/bera.c:29
No locals.
0000035 0x000000000053c56b in be_step_regalloc (irg=0xf3a980, regif=0x9f9890 <ia32_regalloc_if>) at ir/be/bemain.c:567
No locals.
0000036 0x0000000000611dfd in ia32_generate_code (output=0x1078750, cup_name=0x7fffffffe594 "/tmp/nothing.c") at ir/be/ia32/bearch_ia32.c:1502
        irg = 0xf3a980
        i = 0
        irg__n = 7
        irg__b = false
        sp_is_non_ssa = 0x7fffffffd604
0000037 0x000000000053cd08 in be_main (file_handle=0x1078750, cup_name=0x7fffffffe594 "/tmp/nothing.c") at ir/be/bemain.c:650
No locals.
0000038 0x00000000004745cc in generate_code (out=0x1078750, input_filename=0x7fffffffe594 "/tmp/nothing.c") at src/firm/firm_opt.c:770
No locals.
0000039 0x000000000045806b in do_generate_code (asm_out=0x1078750, unit=0xa10040) at src/driver/c_driver.c:825
        t_opt_codegen = 0x1074630
0000040 0x0000000000457fd8 in generate_code_final (env=0x7fffffffd7a8, unit=0xa10040) at src/driver/c_driver.c:838
        res = false
0000041 0x0000000000454c85 in process_unit (env=0x7fffffffd7a8, unit=0xa10040) at src/driver/driver.c:226
        type = COMPILATION_UNIT_INTERMEDIATE_REPRESENTATION
        handler = 0x457f90 <generate_code_final>
0000042 0x0000000000454da4 in process_all_units (env=0x7fffffffd7a8) at src/driver/driver.c:247
        ok = false
        unit = 0xa10040
0000043 0x00000000004027e5 in action_compile (argv0=0x7fffffffe02c "/tmp/firm/cparser/build/debug/cparser") at ./src/main.c:269
        env = {out = 0x1078750, outname = 0xa100a0 "nothing.s"}
        result = 0
0000044 0x0000000000402e2d in main (argc=88, argv=0x7fffffffd8f8) at ./src/main.c:343
        state = {argc = 88, argv = 0x7fffffffd8f8, i = 88, argument_errors = false, had_inputs = true, action = 0x402780 <action_compile>}
        ret = 0
c file icon test.c [^] (68 bytes) 2016-01-12 07:14
Issue History
2016-01-08 08:58 nobody New Issue
2016-01-09 01:55 nobody Note Added: 0000242
2016-01-10 21:37 Matze Note Added: 0000243
2016-01-12 07:14 nobody File Added: test.c
2016-01-12 07:14 nobody Note Added: 0000248
2016-01-20 07:32 Tron Status new => assigned
2016-01-20 07:32 Tron Assigned To => Tron
2016-01-21 16:10 Tron Note Added: 0000259
2016-01-21 16:10 Tron Status assigned => resolved
2016-01-21 16:10 Tron Resolution open => fixed
2016-01-21 16:43 Tron Note Edited: 0000259

Notes
(0000242)
nobody   
2016-01-09 01:55   
-msoft-float triggers this
(0000243)
Matze   
2016-01-10 21:37   
Hi thanks for the bugreport. Generally it would help us a lot if we have a way to reproduce the problem. It would be good to have the exact commandline used that triggered the bug and ideally also the preprocessed sourcecode. You can produce preprocessed sourcecode by taking the the crashing commandline, replace -c with -E and maybe set a new destination after the -o flag.
(0000248)
nobody   
2016-01-12 07:14   
cparser -msoft-float -m32 -c test.c
(0000259)
Tron   
2016-01-21 16:10   
(edited on: 2016-01-21 16:43)
Fixed in libfirm 362d8b842abe9b981a794c37cd70057dfb059651.
Thanks for the report!