This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/53706] New: [4.8 Regression] [ia64]: Bootstrap failure due to "Invalid write of size 8 at 0xBDC35E: variable_htab_free (var-tracking.c:1418)


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53706

             Bug #: 53706
           Summary: [4.8 Regression] [ia64]: Bootstrap failure due to
                    "Invalid write of size 8 at 0xBDC35E:
                    variable_htab_free (var-tracking.c:1418)
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: ubizjak@gmail.com


Recent 4.8 regression on ia64. The bootstrap fail with:

*** glibc detected *** /home/uros/gcc-build/prev-gcc/cc1plus: corrupted
double-linked list: 0x60000000027ec0d0 ***
======= Backtrace: =========
/lib/libc.so.6.1(+0xd7800)[0x200000000021f800]
/lib/libc.so.6.1(+0xd81f0)[0x20000000002201f0]
/lib/libc.so.6.1(+0xdb5e0)[0x20000000002235e0]
/lib/libc.so.6.1(cfree-0x1cfed0)[0x200000000022be10]
/home/uros/gcc-build/prev-gcc/cc1plus(htab_delete+0x20000000014501a0)[0x400000000184be90]
/home/uros/gcc-build/prev-gcc/cc1plus[0x40000000014063a0]
/home/uros/gcc-build/prev-gcc/cc1plus(_Z22variable_tracking_mainv+0x2000000001012b50)[0x400000000140c530]
/home/uros/gcc-build/prev-gcc/cc1plus[0x400000000145f840]
/home/uros/gcc-build/prev-gcc/cc1plus[0x4000000000d72d10]
/home/uros/gcc-build/prev-gcc/cc1plus(_Z16execute_one_passP8opt_pass+0x20000000008a3860)[0x4000000000c9f560]
/home/uros/gcc-build/prev-gcc/cc1plus(_Z17execute_pass_listP8opt_pass+0x20000000008a4c90)[0x4000000000ca0310]
/home/uros/gcc-build/prev-gcc/cc1plus(_Z17execute_pass_listP8opt_pass+0x20000000008a4ce0)[0x4000000000ca0360]

This corrupted double linked list problem can be exposed with a cross to
ia64-unknown-linux-gnu under valgrind, with attached gimplify.ii:

$ valgrind ~/gcc-build-ia64/gcc/cc1plus -O2 -g -fno-common -fno-exceptions
-fno-rtti gimplify.ii

...
==2911== Invalid write of size 8
==2911==    at 0xBDC35E: variable_htab_free (var-tracking.c:1418)
==2911==    by 0xDA819A: htab_delete (hashtab.c:430)
==2911==    by 0xBE93EA: vt_emit_notes (var-tracking.c:9132)
==2911==    by 0xBE9631: variable_tracking_main (var-tracking.c:9875)
==2911==    by 0xC06995: ia64_reorg (ia64.c:9834)
==2911==    by 0x9923F9: rest_of_handle_machine_reorg (reorg.c:4151)
==2911==    by 0x945C26: execute_one_pass (passes.c:2164)
==2911==    by 0x945FD4: execute_pass_list (passes.c:2219)
==2911==    by 0x945FE6: execute_pass_list (passes.c:2220)
==2911==    by 0x945FE6: execute_pass_list (passes.c:2220)
==2911==    by 0x745047: expand_function (cgraphunit.c:1615)
==2911==    by 0x746936: compile (cgraphunit.c:1720)
==2911==  Address 0xf16ea18 is 40 bytes inside a block of size 2,568 free'd
==2911==    at 0x4A079AE: free (vg_replace_malloc.c:427)
==2911==    by 0x6DA9F7: empty_alloc_pool (alloc-pool.c:210)
==2911==    by 0x6DAA68: free_alloc_pool (alloc-pool.c:230)
==2911==    by 0xBE93D3: vt_emit_notes (var-tracking.c:9130)
==2911==    by 0xBE9631: variable_tracking_main (var-tracking.c:9875)
==2911==    by 0xC06995: ia64_reorg (ia64.c:9834)
==2911==    by 0x9923F9: rest_of_handle_machine_reorg (reorg.c:4151)
==2911==    by 0x945C26: execute_one_pass (passes.c:2164)
==2911==    by 0x945FD4: execute_pass_list (passes.c:2219)
==2911==    by 0x945FE6: execute_pass_list (passes.c:2220)
==2911==    by 0x945FE6: execute_pass_list (passes.c:2220)
==2911==    by 0x745047: expand_function (cgraphunit.c:1615)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]