Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0000167 [cparser] firm graph generation minor always 2016-01-10 08:24 2016-01-17 08:47
Reporter nobody View Status public  
Assigned To Tron
Priority normal Resolution fixed  
Status resolved   Product Version
Summary 0000167: Program received signal SIGSEGV, Segmentation fault.
Description Program received signal SIGSEGV, Segmentation fault.
0x000000000055a34b in get_r_value_internal (block=0x0, pos=2, mode=0xa2ad90)
    at ir/ir/ircons.c:197
197 ir_node *res = block->attr.block.graph_arr[pos];
(gdb) bt full
#0 0x000000000055a34b in get_r_value_internal (block=0x0, pos=2, mode=0xa2ad90) at ir/ir/ircons.c:197
        res = 0x4ae5f5 <optimize_node+613>
0000001 0x000000000055a32a in get_r_value (irg=0x1606460, pos=1, mode=0xa2ad90) at ir/ir/ircons.c:453
No locals.
0000002 0x000000000055a585 in get_value (pos=1, mode=0xa2ad90) at ir/ir/ircons.c:458
No locals.
0000003 0x00000000004725df in reference_expression_to_firm (ref=0xfad610) at src/firm/ast2firm.c:995
        type = 0xa413b0
        mode = 0xa2ad90
        dbgi = 0xfad620
        entity = 0xfaa9a0
0000004 0x0000000000469e28 in expression_to_value (expr=0xfad610) at src/firm/ast2firm.c:2474
No locals.
0000005 0x000000000046856a in asm_statement_to_firm (statement=0xfad540) at src/firm/ast2firm.c:4676
        argument = 0xfad5b0
        input = 0x1611cb0
        constraint = {pos = 10673552, constraint = 0x1611fd0 "\240\215\242", mode = 0x1611f40}
        entity = 0xfad5b0
        needs_memory = true
        n_clobbers = 0
        clobber = 0x0
        clobbers = 0x0
        n_inputs = 2
        n_outputs = 0
        next_pos = 0
        in_size = 0
        out_size = 0
        output_constraints = 0xa5f9c0
        mem = 0x7fffffffcf10
        input_constraints = 0x1611f40
        dbgi = 0x1606460
        asm_text = 0xa28da0 "\006"
        node = 0x94
        ins = 0x7fffffffce00
        tmp_in_constraints = 0x7fffffffce00
        out_exprs = 0x7fffffffce00
        out_addrs = 0x7fffffffce00
0000006 0x00000000004673d6 in statement_to_firm (stmt=0xfad540) at src/firm/ast2firm.c:4739
No locals.
0000007 0x0000000000469345 in if_statement_to_firm (statement=0xfad410) at src/firm/ast2firm.c:4332
        true_target = {block = 0x0, first = false}
        false_target = {block = 0x0, first = false}
        exit_target = {block = 0x0, first = false}
0000008 0x00000000004674a0 in statement_to_firm (stmt=0xfad410) at src/firm/ast2firm.c:4749
No locals.
0000009 0x0000000000468ba1 in compound_statement_to_firm (compound=0xfad3c0) at src/firm/ast2firm.c:4159
        result = 0x0
        statement = 0xfad410
0000010 0x0000000000467400 in statement_to_firm (stmt=0xfad3c0) at src/firm/ast2firm.c:4741
No locals.
#11 0x0000000000469345 in if_statement_to_firm (statement=0xfad1b0) at src/firm/ast2firm.c:4332
        true_target = {block = 0x0, first = false}
        false_target = {block = 0x1610b90, first = true}
        exit_target = {block = 0x0, first = false}
0000012 0x00000000004674a0 in statement_to_firm (stmt=0xfad1b0) at src/firm/ast2firm.c:4749
No locals.
#13 0x000000000046937b in if_statement_to_firm (statement=0xfabaf0) at src/firm/ast2firm.c:4338
        true_target = {block = 0x16109f0, first = false}
        false_target = {block = 0x1610b90, first = false}
        exit_target = {block = 0x16109f0, first = true}
0000014 0x00000000004674a0 in statement_to_firm (stmt=0xfabaf0) at src/firm/ast2firm.c:4749
No locals.
0000015 0x0000000000468ba1 in compound_statement_to_firm (compound=0xfab6c0) at src/firm/ast2firm.c:4159
        result = 0x0
        statement = 0xfabaf0
0000016 0x0000000000467400 in statement_to_firm (stmt=0xfab6c0) at src/firm/ast2firm.c:4741
No locals.
0000017 0x0000000000468ba1 in compound_statement_to_firm (compound=0xfab670) at src/firm/ast2firm.c:4159
        result = 0x0
        statement = 0xfab6c0
0000018 0x0000000000467400 in statement_to_firm (stmt=0xfab670) at src/firm/ast2firm.c:4741
No locals.
0000019 0x0000000000469345 in if_statement_to_firm (statement=0xfab570) at src/firm/ast2firm.c:4332
        true_target = {block = 0x160de30, first = false}
        false_target = {block = 0x160dfd0, first = false}
        exit_target = {block = 0x0, first = false}
0000020 0x00000000004674a0 in statement_to_firm (stmt=0xfab570) at src/firm/ast2firm.c:4749
No locals.
0000021 0x0000000000468ba1 in compound_statement_to_firm (compound=0xfab300) at src/firm/ast2firm.c:4159
        result = 0x160d6b0
        statement = 0xfab570
0000022 0x0000000000467400 in statement_to_firm (stmt=0xfab300) at src/firm/ast2firm.c:4741
No locals.
0000023 0x0000000000468ba1 in compound_statement_to_firm (compound=0xfaaf10) at src/firm/ast2firm.c:4159
        result = 0x16091d0
        statement = 0xfab300
0000024 0x0000000000467400 in statement_to_firm (stmt=0xfaaf10) at src/firm/ast2firm.c:4741
No locals.
#25 0x0000000000468ba1 in compound_statement_to_firm (compound=0xfaa910) at src/firm/ast2firm.c:4159
        result = 0x160c970
        statement = 0xfaaf10
0000026 0x0000000000467400 in statement_to_firm (stmt=0xfaa910) at src/firm/ast2firm.c:4741
No locals.
0000027 0x00000000004653c9 in create_function (entity=0xd0c370) at src/firm/ast2firm.c:4953
        function_entity = 0x10133f0
        n_local_vars = 10
        irg = 0x1606460
        old_current_function = 0x0
        end_block = 0xd0c370
0000028 0x00000000004647e7 in scope_to_firm (scope=0xa3e7a0) at src/firm/ast2firm.c:5084
        alias = 0x0
        entity = 0xd0c370
0000029 0x0000000000464423 in translation_unit_to_firm (unit=0xa3e7a0) at src/firm/ast2firm.c:5182
        cwd = 0xa068c0 <get_cwd.buf> "/tmp"
0000030 0x0000000000457df5 in build_firm_ir (env=0x7fffffffd928, unit=0xa10040) at src/driver/c_driver.c:772
        t_construct = 0xa43ce0
0000031 0x0000000000454c95 in process_unit (env=0x7fffffffd928, unit=0xa10040) at src/driver/driver.c:226
        type = COMPILATION_UNIT_AST
        handler = 0x457d70 <build_firm_ir>
0000032 0x0000000000454db4 in process_all_units (env=0x7fffffffd928) at src/driver/driver.c:247
        ok = false
        unit = 0xa10040
0000033 0x00000000004027e5 in action_compile (argv0=0x7fffffffe122 "/tmp/firm/cparser/build/debug/cparser") at ./src/main.c:269
        env = {out = 0x0, outname = 0x0}
        result = 0
0000034 0x0000000000402e2d in main (argc=71, argv=0x7fffffffda78) at ./src/main.c:343
        state = {argc = 71, argv = 0x7fffffffda78, i = 71, argument_errors = false, had_inputs = true, action = 0x402780 <action_compile>}
        ret = 0
(gdb)
Additional Information
Tags No tags attached.
Attached Files c file icon test5.c [^] (1,177 bytes) 2016-01-11 10:39

- Relationships

-  Notes
(0000244)
Matze (administrator)
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.
(0000250)
Matze (administrator)
2016-01-16 06:47

I've put a reduced testcase to firm-testsuite/x86code/fehler315.c
(0000253)
Tron (administrator)
2016-01-17 08:47

Fixed in cparser b5e7b71bb901dbc787e80ff1c65ac0e90cc6e295.

- Issue History
Date Modified Username Field Change
2016-01-10 08:24 nobody New Issue
2016-01-10 21:37 Matze Note Added: 0000244
2016-01-11 10:39 nobody File Added: test5.c
2016-01-16 06:47 Matze Note Added: 0000250
2016-01-16 06:47 Matze Status new => confirmed
2016-01-17 08:43 Tron Project libFirm => cparser
2016-01-17 08:44 Tron Category x86 ia32 backend => firm graph generation
2016-01-17 08:44 Tron version development =>
2016-01-17 08:47 Tron Note Added: 0000253
2016-01-17 08:47 Tron Assigned To => Tron
2016-01-17 08:47 Tron Status confirmed => resolved
2016-01-17 08:47 Tron Resolution open => fixed


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