Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0000166 [libFirm] x86 ia32 backend minor always 2016-01-10 05:40 2016-01-20 15:38
Reporter nobody View Status public  
Assigned To
Priority normal Resolution open  
Status new   Product Version development
Summary 0000166: cparser: ir/be/ia32/ia32_new_nodes.c:272: ia32_attr_t *get_ia32_attr(ir_node *): Assertion `is_ia32_irn(node) && "need ia32 node
Description cparser: ir/be/ia32/ia32_new_nodes.c:272: ia32_attr_t *get_ia32_attr(ir_node *): Assertion `is_ia32_irn(node) && "need ia32 node to get ia32 attributes"' 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 = 13847
        selftid = 13847
0000001 0x00007ffff7766a2a in __GI_abort () at abort.c:89
        save_stage = 2
        act = {__sigaction_handler = {sa_handler = 0x4, sa_sigaction = 0x4}, sa_mask = {__val = {40242864, 40242864, 140737488341760, 8589921216, 0, 0, 0, 4294967296, 140737488341912, 140737346369233,
              140737488341712, 140737346403856, 140737346385016, 40242864, 140737354088448, 140737346385016}}, sa_flags = 7579890, sa_restorer = 0x73a94b}
        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=0x73a8f2 "is_ia32_irn(node) && \"need ia32 node to get ia32 attributes\"", file=file@entry=0x73a92f "ir/be/ia32/ia32_new_nodes.c", line=line@entry=272,
    function=function@entry=0x73a94b "ia32_attr_t *get_ia32_attr(ir_node *)") at assert.c:92
        str = 0x2049850 "X\f\255\367\377\177"
        total = 4096
0000003 0x00007ffff775e652 in __GI___assert_fail (assertion=0x73a8f2 "is_ia32_irn(node) && \"need ia32 node to get ia32 attributes\"", file=0x73a92f "ir/be/ia32/ia32_new_nodes.c", line=272,
    function=0x73a94b "ia32_attr_t *get_ia32_attr(ir_node *)") at assert.c:101
No locals.
0000004 0x0000000000606601 in get_ia32_attr (node=0x1282f60) at ir/be/ia32/ia32_new_nodes.c:272
No locals.
0000005 0x0000000000625814 in make_load_from_frame (node=0x1282f60, get_ent=0x611990 <ia32_get_return_address_entity>) at ir/be/ia32/ia32_transform.c:5137
        dbgi = 0xe85af0
        block = 0x2660d50
        irg = 0xf06b60
        ptr = 0x265c600
        n_frames = 0x1270b00
        value = 0
        load = 0x2660eb0
        attr = 0x2660c80
0000006 0x000000000062462c in gen_return_address (node=0x1282f60) at ir/be/ia32/ia32_transform.c:5161
No locals.
0000007 0x000000000061a22f in gen_Builtin (node=0x1282f60) at ir/be/ia32/ia32_transform.c:5559
        kind = ir_bk_return_address
0000008 0x00000000006aa277 in be_transform_node (node=0x1282f60) at ir/be/betranshlp.c:191
        op = 0xa2dbd0
        transform = 0x61a1c0 <gen_Builtin>
        new_node = 0x2660c80
0000009 0x000000000061f1dd in gen_Proj_Builtin (proj=0x1282e90) at ir/be/ia32/ia32_transform.c:5599
        node = 0x1282f60
        new_node = 0x7fffffffcde0
        kind = ir_bk_trap
0000010 0x00000000006aac15 in transform_proj (node=0x1282e90) at ir/be/betranshlp.c:143
        pred = 0x1282f60
        pred_op = 0xa2dbd0
        proj_transform = 0x61f1c0 <gen_Proj_Builtin>
#11 0x00000000006aa277 in be_transform_node (node=0x1282e90) at ir/be/betranshlp.c:191
        op = 0xa2f890
        transform = 0x6aab20 <transform_proj>
        new_node = 0x1282e90
0000012 0x0000000000621847 in create_immediate_or_transform (node=0x1282e90, immediate_mode=105 'i') at ir/be/ia32/ia32_transform.c:4174
        new_node = 0x0
#13 0x0000000000626319 in create_store (dbgi=0xe861b0, new_block=0x1d41f40, value=0x1282e90, addr=0x7fffffffd038) at ir/be/ia32/ia32_transform.c:2863
        new_val = 0x502ff5 <is_method_type_+21>
        store = 0xc11140
        mode = 0xa2ad90
0000014 0x000000000061a975 in gen_Call (node=0x1181f90) at ir/be/ia32/ia32_transform.c:4990
        store_addr = {base = 0x2660490, index = 0x265c920, mem = 0x265c860, imm = {entity = 0x0, offset = 8, kind = X86_IMM_VALUE}, scale = 0, variant = X86_ADDR_INVALID, tls_segment = false, ip_base = false}
        store = 0x2660b10
        value = 0x1182090
        param = 0x2543420
        param_type = 0xc11140
        p = 2
        req_gp = 0x9fc030 <ia32_class_reg_req_gp>
        sp = 0x9fc580 <ia32_registers+720>
        fpcw = 0x9fc440 <ia32_registers+400>
        am = {addr = {base = 0x265c920, index = 0x265c920, mem = 0x265c860, imm = {entity = 0x0, offset = 0, kind = X86_IMM_VALUE}, scale = 0, variant = X86_ADDR_INVALID, tls_segment = false, ip_base = false},
          ls_mode = 0xa2af50, mem_proj = 0x0, am_node = 0x0, op_type = ia32_Normal, new_op1 = 0x0, new_op2 = 0x26603c0, pinned = false, commutative = 0, ins_permuted = 0}
        old_block = 0x1274f70
        callee = 0x127f790
        mem = 0x1cae800
        type = 0xe9fd20
        cconv = 0x1ecd0d0
        irg = 0xf06b60
        in_arity = 6
        is_plt = false
        n_ins = 6
        in = 0x7fffffffcf60
        in_req = 0x265d590
        block = 0x1d41f40
        stack = 0x265c600
        po2_stack_alignment = 2
        callframe_size = 12
        needs_stack = true
        callframe = 0x2660490
        add_pressure = 0 '\000'
        sync_arity = 3
        n_params = 3
        sync_ins = 0x7fffffffcf40
        dbgi = 0xe861b0
        o = 20886160
        n_reg_results = 0
        n_caller_saves = 20886160
        n_out = 0
        call = 0x1ae57f0
        res = 0x13eb290
        n_ress = 0
        allocatable_regs = 0xffffd010
        new_stack = 0xf06e70
        reduce_size = 0
        old_stack = 0x1275218
        old_stack_pos = 0
0000015 0x00000000006aa277 in be_transform_node (node=0x1181f90) at ir/be/betranshlp.c:191
        op = 0xa2dcb0
        transform = 0x61a360 <gen_Call>
        new_node = 0x12750d0
0000016 0x000000000061f489 in gen_Proj_Call (node=0x1182340) at ir/be/ia32/ia32_transform.c:5076
        pn = 0
        call = 0x1181f90
        new_call = 0x7fffffffd240
0000017 0x00000000006aac15 in transform_proj (node=0x1182340) at ir/be/betranshlp.c:143
        pred = 0x1181f90
        pred_op = 0xa2dcb0
        proj_transform = 0x61f460 <gen_Proj_Call>
0000018 0x00000000006aa277 in be_transform_node (node=0x1182340) at ir/be/betranshlp.c:191
        op = 0xa2f890
        transform = 0x6aab20 <transform_proj>
        new_node = 0x1274f70
0000019 0x000000000061e223 in gen_Return (node=0x1bc94b0) at ir/be/ia32/ia32_transform.c:4256
        irg = 0xf06b60
        new_block = 0x1d41f40
        dbgi = 0xe200e0
        mem = 0x1182340
        new_mem = 0x0
        sp = 0x6a9b2d <mark_irn_visited_+29>
        n_res = 32767
        cconv = 0xf06b60
        p = 32767
        n_callee_saves = 4294955888
        n_ins = 0
        reqs = 0x1ae53f0
        in = 0x7fffffffd2a0
        ret = 0x1d41dc0
0000020 0x00000000006aa277 in be_transform_node (node=0x1bc94b0) at ir/be/betranshlp.c:191
        op = 0xa2fa50
        transform = 0x61e1c0 <gen_Return>
        new_node = 0xee0380
0000021 0x00000000006aa722 in transform_nodes (irg=0xf06b60, pre_transform=0x619250 <ia32_pretransform_node>) at ir/be/betranshlp.c:279
        node = 0x1bc94b0
        old_anchor = 0xf09f90
        new_anchor = 0x265c000
        old_end = 0xf0a5e0
0000022 0x00000000006aa492 in be_transform_graph (irg=0xf06b60, func=0x619250 <ia32_pretransform_node>) at ir/be/betranshlp.c:306
        old_obst = {chunk_size = 4064, chunk = 0x14963d0, object_base = 0x14965a0 "", next_free = 0x14965a0 "", chunk_limit = 0x14973b0 "\360\017", temp = {tempint = 0, tempptr = 0x0}, alignment_mask = 15,
          chunkfun = 0x4fe710 <xmalloc>, freefun = 0x4022a0 <free@plt>, extra_arg = 0x0, use_extra_arg = 0, maybe_empty_object = 0, alloc_failed = 0}
0000023 0x00000000006186d5 in ia32_transform_graph (irg=0xf06b60) at ir/be/ia32/ia32_transform.c:5891
        get_eip = 0x0
        entity = 0xea6410
        mtp = 0xea6340
        cse_last = 1
0000024 0x0000000000614026 in ia32_select_instructions (irg=0xf06b60) at ir/be/ia32/bearch_ia32.c:1178
        mcount = 0x0
        obst = 0x13eb290
        irg_data = 0x108c910
        frame_type = 0x61473d <ia32_emit+477>
#25 0x0000000000612b3e in ia32_generate_code (output=0x1431700, cup_name=0x7fffffffe58f "/tmp/peep.c") at ir/be/ia32/bearch_ia32.c:1491
        irg = 0xf06b60
        i = 1
        irg__n = 46
        irg__b = false
        sp_is_non_ssa = 0x7fffffffd604
0000026 0x000000000053ce78 in be_main (file_handle=0x1431700, cup_name=0x7fffffffe58f "/tmp/peep.c") at ir/be/bemain.c:650
No locals.
0000027 0x000000000047460c in generate_code (out=0x1431700, input_filename=0x7fffffffe58f "/tmp/peep.c") at src/firm/firm_opt.c:770
No locals.
0000028 0x00000000004580ab in do_generate_code (asm_out=0x1431700, unit=0xa10040) at src/driver/c_driver.c:825
        t_opt_codegen = 0x14316c0
0000029 0x0000000000458152 in generate_code_intermediate (env=0x7fffffffd7b8, unit=0xa10040) at src/driver/c_driver.c:853
        s_name = 0xa0f030 "/tmp/Yl3mu1/a-0.s"
        asm_out = 0x1431700
        result = false
0000030 0x0000000000454c95 in process_unit (env=0x7fffffffd7b8, unit=0xa10040) at src/driver/driver.c:226
        type = COMPILATION_UNIT_INTERMEDIATE_REPRESENTATION
        handler = 0x458100 <generate_code_intermediate>
0000031 0x0000000000454db4 in process_all_units (env=0x7fffffffd7b8) at src/driver/driver.c:247
        ok = false
        unit = 0xa10040
0000032 0x00000000004027e5 in action_compile (argv0=0x7fffffffe034 "/tmp/firm/cparser/build/debug/cparser") at ./src/main.c:269
        env = {out = 0x0, outname = 0x0}
        result = 0
0000033 0x0000000000402e2d in main (argc=87, argv=0x7fffffffd908) at ./src/main.c:343
        state = {argc = 87, argv = 0x7fffffffd908, i = 87, argument_errors = false, had_inputs = true, action = 0x402780 <action_compile>}
        ret = 0
(gdb)
Additional Information
Tags No tags attached.
Attached Files

- Relationships
duplicate of 0000170confirmed two __builtin_return_address related bugs 

-  Notes
(0000246)
Matze (administrator)
2016-01-10 21:38

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.

- Issue History
Date Modified Username Field Change
2016-01-10 05:40 nobody New Issue
2016-01-10 21:38 Matze Note Added: 0000246
2016-01-20 15:38 UniQ Relationship added duplicate of 0000170


Mantis 1.1.5[^]
Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker