This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[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)
- From: "ubizjak at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 17 Jun 2012 12:40:41 +0000
- Subject: [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)
- Auto-submitted: auto-generated
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)