public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug preprocessor/50144] New: cc1plus double free / out of bounds read
@ 2011-08-21 15:29 edwintorok at gmail dot com
  2011-08-21 16:13 ` [Bug preprocessor/50144] " edwintorok at gmail dot com
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: edwintorok at gmail dot com @ 2011-08-21 15:29 UTC (permalink / raw)
  To: gcc-bugs

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

             Bug #: 50144
           Summary: cc1plus double free / out of bounds read
    Classification: Unclassified
           Product: gcc
           Version: 4.6.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: preprocessor
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: edwintorok@gmail.com


Created attachment 25066
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25066
x.cpp

Lately gcc 4.6.1 has been segfaulting quite often. Not always on the same file,
but usually when building ClamAV in 'make distcheck' mode.

See below for a double free stacktrace.
Running valgrind on the preprocessed file doesn't show anything, but running
valgrind on original GCC invocation shows some errors in the preprocessor.

Here is a command that reproduces the valgrind error. 
$ valgrind /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus -quiet
x.cpp -E >/dev/null

The file x.cpp is attached, and has all #include removed and still shows the
valgrind error:
==3237== Invalid read of size 8
==3237==    at 0xBFEFE9: ??? (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0xBFF181: _cpp_clean_line (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0xBFFB57: _cpp_get_fresh_line (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0xC012D1: _cpp_lex_direct (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0xC02116: _cpp_lex_token (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0xC04817: cpp_get_token (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0xC04AAF: cpp_get_token_with_location (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0x5AE914: preprocess_file (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0x5ACF1A: c_common_init (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0x513228: cxx_init (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0x7D40AC: toplev_main (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0x3C7141EEAC: (below main) (libc-start.c:228)
==3237==  Address 0x4ceb0c0 is 7,232 bytes inside a block of size 7,238 alloc'd
==3237==    at 0x4A07882: realloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3237==    by 0xC2865C: xrealloc (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0xBF3E5B: _cpp_convert_input (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0xBFC782: ??? (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0xBFD17A: _cpp_stack_file (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0xBFEA55: cpp_read_main_file (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0x5AC72A: c_common_post_options (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0x7D3BA2: toplev_main (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0x3C7141EEAC: (below main) (libc-start.c:228)
==3237== 
==3237== Invalid read of size 8
==3237==    at 0xBFEFD3: ??? (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0xBFF181: _cpp_clean_line (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0xBFFB57: _cpp_get_fresh_line (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0xC012D1: _cpp_lex_direct (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0xC02116: _cpp_lex_token (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0xC04817: cpp_get_token (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0xC04AAF: cpp_get_token_with_location (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0x5AE914: preprocess_file (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0x5ACF1A: c_common_init (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0x513228: cxx_init (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0x7D40AC: toplev_main (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0x3C7141EEAC: (below main) (libc-start.c:228)
==3237==  Address 0x4ceb0c0 is 7,232 bytes inside a block of size 7,238 alloc'd
==3237==    at 0x4A07882: realloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3237==    by 0xC2865C: xrealloc (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0xBF3E5B: _cpp_convert_input (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0xBFC782: ??? (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0xBFD17A: _cpp_stack_file (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0xBFEA55: cpp_read_main_file (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0x5AC72A: c_common_post_options (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0x7D3BA2: toplev_main (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==3237==    by 0x3C7141EEAC: (below main) (libc-start.c:228)

$ g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.6.1-6'
--with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++,go --prefix=/usr
--program-suffix=-4.6 --enable-shared --enable-multiarch
--with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id
--with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu
--without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib/x86_64-linux-gnu
--enable-nls --enable-clocale=gnu --enable-libstdcxx-debug
--enable-libstdcxx-time=yes --enable-plugin --enable-objc-gc
--with-arch-32=i586 --with-tune=generic --enable-checking=release
--build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.6.1 (Debian 4.6.1-6)

CXX    MemoryBuiltins.lo
*** glibc detected ***
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus: double free or
corruption (out): 0x0000000002a0e280 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6[0x3c71472606]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x6c)[0x3c7147733c]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus(ggc_internal_alloc_stat+0x25e)[0x5bb86e]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus(ggc_internal_cleared_alloc_stat+0x16)[0x6c1446]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus(make_node_stat+0x1f)[0x8e1fff]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus(alloc_stmt_list+0x5a)[0x8059ca]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus(push_stmt_list+0x6)[0x5b47f6]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus[0x550e25]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus(begin_if_stmt+0x15)[0x551765]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus[0x5186ea]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus[0x518fa3]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus[0x519020]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus[0x518b9f]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus[0x518fa3]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus[0x519020]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus[0x525eec]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus[0x52636b]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus[0x5274b8]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus[0x529c24]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus[0x529d97]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus[0x529faf]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus[0x52d072]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus[0x52c130]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus[0x52c2c9]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus[0x52d05e]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus[0x52c130]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus(c_parse_file+0x1f9)[0x52d3e9]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus(c_common_parse_file+0x65)[0x5acfa5]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus(toplev_main+0xd82)[0x7d4552]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd)[0x3c7141eead]
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus[0x4b3c59]
======= Memory map: ========
00400000-00f8d000 r-xp 00000000 fd:00 7209943                           
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus
0118d000-01198000 rw-p 00b8d000 fd:00 7209943                           
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus
01198000-012d4000 rw-p 00000000 00:00 0 
0293f000-02a2b000 rw-p 00000000 00:00 0                                  [heap]
30bac00000-30bac15000 r-xp 00000000 fd:00 7471134                       
/lib/x86_64-linux-gnu/libgcc_s.so.1
30bac15000-30bae15000 ---p 00015000 fd:00 7471134                       
/lib/x86_64-linux-gnu/libgcc_s.so.1
30bae15000-30bae16000 rw-p 00015000 fd:00 7471134                       
/lib/x86_64-linux-gnu/libgcc_s.so.1
30bb000000-30bb0eb000 r-xp 00000000 fd:00 7209660                       
/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16
30bb0eb000-30bb2eb000 ---p 000eb000 fd:00 7209660                       
/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16
30bb2eb000-30bb2f3000 r--p 000eb000 fd:00 7209660                       
/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16
30bb2f3000-30bb2f5000 rw-p 000f3000 fd:00 7209660                       
/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16
30bb2f5000-30bb30a000 rw-p 00000000 00:00 0 
30bb400000-30bb454000 r-xp 00000000 fd:00 6299423                       
/usr/lib/libmpfr.so.4.0.1
30bb454000-30bb653000 ---p 00054000 fd:00 6299423                       
/usr/lib/libmpfr.so.4.0.1
30bb653000-30bb655000 rw-p 00053000 fd:00 6299423                       
/usr/lib/libmpfr.so.4.0.1
30bb800000-30bbbff000 r-xp 00000000 fd:00 6292185                       
/usr/lib/libppl_c.so.4.0.0
30bbbff000-30bbdfe000 ---p 003ff000 fd:00 6292185                       
/usr/lib/libppl_c.so.4.0.0
30bbdfe000-30bbe03000 rw-p 003fe000 fd:00 6292185                       
/usr/lib/libppl_c.so.4.0.0
30bbe03000-30bbe04000 rw-p 00000000 00:00 0 
30bc000000-30bc020000 r-xp 00000000 fd:00 6301246                       
/usr/lib/libcloog-debian.so.0.0.0
30bc020000-30bc21f000 ---p 00020000 fd:00 6301246                       
/usr/lib/libcloog-debian.so.0.0.0
30bc21f000-30bc220000 rw-p 0001f000 fd:00 6301246                       
/usr/lib/libcloog-debian.so.0.0.0
30bc220000-30bc222000 rw-p 00000000 00:00 0 
30bc400000-30bc404000 r-xp 00000000 fd:00 6314913                       
/usr/lib/libpwl.so.5.0.0
30bc404000-30bc603000 ---p 00004000 fd:00 6314913                       
/usr/lib/libpwl.so.5.0.0
30bc603000-30bc604000 rw-p 00003000 fd:00 6314913                       
/usr/lib/libpwl.so.5.0.0
30bc800000-30bc8f6000 r-xp 00000000 fd:00 6298173                       
/usr/lib/libppl.so.9.0.0
30bc8f6000-30bcaf6000 ---p 000f6000 fd:00 6298173                       
/usr/lib/libppl.so.9.0.0
30bcaf6000-30bcaf9000 rw-p 000f6000 fd:00 6298173                       
/usr/lib/libppl.so.9.0.0
30bcc00000-30bcc03000 r-xp 00000000 fd:00 6312662                       
/usr/lib/libgmpxx.so.4.2.1
30bcc03000-30bce03000 ---p 00003000 fd:00 6312662                       
/usr/lib/libgmpxx.so.4.2.1
30bce03000-30bce04000 rw-p 00003000 fd:00 6312662                       
/usr/lib/libgmpxx.so.4.2.1
30bd000000-30bd014000 r-xp 00000000 fd:00 6317349                       
/usr/lib/libmpc.so.2.0.0
30bd014000-30bd214000 ---p 00014000 fd:00 6317349                       
/usr/lib/libmpc.so.2.0.0
30bd214000-30bd215000 rw-p 00014000 fd:00 6317349                       
/usr/lib/libmpc.so.2.0.0
30c1800000-30c186c000 r-xp 00000000 fd:00 6296889                       
/usr/lib/libgmp.so.10.0.1
30c186c000-30c1a6c000 ---p 0006c000 fd:00 6296889                       
/usr/lib/libgmp.so.10.0.1
30c1a6c000-30c1a74000 rw-p 0006c000 fd:00 6296889                       
/usr/lib/libgmp.so.10.0.1
3c71000000-3c7101f000 r-xp 00000000 fd:00 7471146                       
/lib/x86_64-linux-gnu/ld-2.13.so
3c7121f000-3c71220000 r--p 0001f000 fd:00 7471146                       
/lib/x86_64-linux-gnu/ld-2.13.so
3c71220000-3c71221000 rw-p 00020000 fd:00 7471146                       
/lib/x86_64-linux-gnu/ld-2.13.so
3c71221000-3c71222000 rw-p 00000000 00:00 0 
3c71400000-3c7157a000 r-xp 00000000 fd:00 7471150                       
/lib/x86_64-linux-gnu/libc-2.13.so
3c7157a000-3c7177a000 ---p 0017a000 fd:00 7471150                       
/lib/x86_64-linux-gnu/libc-2.13.so
3c7177a000-3c7177e000 r--p 0017a000 fd:00 7471150                       
/lib/x86_64-linux-gnu/libc-2.13.so
3c7177e000-3c7177f000 rw-p 0017e000 fd:00 7471150                       
/lib/x86_64-linux-gnu/libc-2.13.so
3c7177f000-3c71784000 rw-p 00000000 00:00 0 
3c71800000-3c71802000 r-xp 00000000 fd:00 7471155                       
/lib/x86_64-linux-gnu/libdl-2.13.so
3c71802000-3c71a02000 ---p 00002000 fd:00 7471155                       
/lib/x86_64-linux-gnu/libdl-2.13.so
3c71a02000-3c71a03000 r--p 00002000 fd:00 7471155                       
/lib/x86_64-linux-gnu/libdl-2.13.so
3c71a03000-3c71a04000 rw-p 00003000 fd:00 7471155                       
/lib/x86_64-linux-gnu/libdl-2.13.so
3c71c00000-3c71c81000 r-xp 00000000 fd:00 7471585                       
/lib/x86_64-linux-gnu/libm-2.13.so
3c71c81000-3c71e80000 ---p 00081000 fd:00 7471585                       
/lib/x86_64-linux-gnu/libm-2.13.so
3c71e80000-3c71e81000 r--p 00080000 fd:00 7471585                       
/lib/x86_64-linux-gnu/libm-2.13.so
3c71e81000-3c71e82000 rw-p 00081000 fd:00 7471585                       
/lib/x86_64-linux-gnu/libm-2.13.so
3c72400000-3c72418000 r-xp 00000000 fd:00 6292495                       
/usr/lib/libz.so.1.2.5
3c72418000-3c72617000 ---p 00018000 fd:00 6292495                       
/usr/lib/libz.so.1.2.5
3c72617000-3c72618000 rw-p 00017000 fd:00 6292495                       
/usr/lib/libz.so.1.2.5
2b1cfa8d8000-2b1cfa8da000 rw-p 00000000 00:00 0 
2b1cfa90c000-2b1cfa914000 rw-p 00000000 00:00 0 
2b1cfa914000-2b1cfab04000 r--p 00000000 fd:00 6311231                   
/usr/lib/locale/locale-archive
2b1cfab04000-2b1cfb20b000 rw-p 00000000 00:00 0 
2b1cfb23f000-2b1cfc15d000 rw-p 00000000 00:00 0 
2b1d00000000-2b1d00021000 rw-p 00000000 00:00 0 
2b1d00021000-2b1d04000000 ---p 00000000 00:00 0 
7fff84f0c000-7fff84f2d000 rw-p 00000000 00:00 0                         
[stack]
7fff84fff000-7fff85000000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                 
[vsyscall]
In file included from /usr/include/c++/4.6/ostream:588:0,
                 from /usr/include/c++/4.6/iterator:64,
                 from ../../../libclamav/c++/llvm/include/llvm/Use.h:31,
                 from ../../../libclamav/c++/llvm/include/llvm/Value.h:18,
                 from ../../../libclamav/c++/llvm/include/llvm/User.h:22,
                 from ../../../libclamav/c++/llvm/include/llvm/Constant.h:17,
                 from ../../../libclamav/c++/llvm/include/llvm/Constants.h:24,
                 from
../../../libclamav/c++/llvm/lib/Analysis/MemoryBuiltins.cpp:16:
/usr/include/c++/4.6/bits/ostream.tcc: In member function
‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::_M_insert(_ValueT)’:
/usr/include/c++/4.6/bits/ostream.tcc:72:6: internal compiler error: Aborted
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.6/README.Bugs> for instructions.

$ valgrind --trace-children=yes g++ -DHAVE_CONFIG_H -I.
-I../../../libclamav/c++ -I../../../libclamav/c++/../..
-I../../../libclamav/c++/.. -I./../../ -I../../../libclamav/c++/llvm/include
-I./llvm/include -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -D_DEBUG
-D_GNU_SOURCE -Woverloaded-virtual -pedantic -Wno-long-long -Wall -W
-Wno-unused-parameter -Wwrite-strings -fno-exceptions -O2 -MT MemoryBuiltins.lo
-MD -MP -MF .deps/MemoryBuiltins.Tpo -c
../../../libclamav/c++/llvm/lib/Analysis/MemoryBuiltins.cpp  -fPIC -DPIC -o
.libs/MemoryBuiltins.o
==24449== Memcheck, a memory error detector
==24449== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
==24449== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright info
==24449== Command: g++ -DHAVE_CONFIG_H -I. -I../../../libclamav/c++
-I../../../libclamav/c++/../.. -I../../../libclamav/c++/.. -I./../../
-I../../../libclamav/c++/llvm/include -I./llvm/include -D__STDC_LIMIT_MACROS
-D__STDC_CONSTANT_MACROS -D_DEBUG -D_GNU_SOURCE -Woverloaded-virtual -pedantic
-Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings -fno-exceptions
-O2 -MT MemoryBuiltins.lo -MD -MP -MF .deps/MemoryBuiltins.Tpo -c
../../../libclamav/c++/llvm/lib/Analysis/MemoryBuiltins.cpp -fPIC -DPIC -o
.libs/MemoryBuiltins.o
==24449== 
==24452== Memcheck, a memory error detector
==24452== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
==24452== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright info
==24452== Command: /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus
-quiet -I . -I ../../../libclamav/c++ -I ../../../libclamav/c++/../.. -I
../../../libclamav/c++/.. -I ./../../ -I ../../../libclamav/c++/llvm/include -I
./llvm/include -MD .libs/MemoryBuiltins.d -MF .deps/MemoryBuiltins.Tpo -MP -MT
MemoryBuiltins.lo -D_GNU_SOURCE -D HAVE_CONFIG_H -D __STDC_LIMIT_MACROS -D
__STDC_CONSTANT_MACROS -D _DEBUG -D _GNU_SOURCE -D PIC
../../../libclamav/c++/llvm/lib/Analysis/MemoryBuiltins.cpp -quiet -dumpbase
MemoryBuiltins.cpp -mtune=generic -march=x86-64 -auxbase-strip
.libs/MemoryBuiltins.o -O2 -Woverloaded-virtual -pedantic -Wno-long-long -Wall
-Wextra -Wno-unused-parameter -Wwrite-strings -fno-exceptions -fPIC -o
/tmp/ccZ0AHee.s
==24452== 
==24452== Invalid read of size 8
==24452==    at 0xBFEFE9: ??? (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xBFF181: _cpp_clean_line (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xBFFB57: _cpp_get_fresh_line (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xC012D1: _cpp_lex_direct (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xC02116: _cpp_lex_token (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xC04817: cpp_get_token (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xC04AAF: cpp_get_token_with_location (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0x5A93EC: c_lex_with_flags (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0x51407F: ??? (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0x52D292: c_parse_file (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0x5ACFA4: c_common_parse_file (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0x7D4551: toplev_main (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==  Address 0x4dc9fd0 is 3,248 bytes inside a block of size 3,254
alloc'd
==24452==    at 0x4A07882: realloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==24452==    by 0xC2865C: xrealloc (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xBF3E5B: _cpp_convert_input (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xBFC782: ??? (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xBFD17A: _cpp_stack_file (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xBF55F0: ??? (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xBF60B0: _cpp_handle_directive (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xC02134: _cpp_lex_token (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xC04817: cpp_get_token (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xC04AAF: cpp_get_token_with_location (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0x5A93EC: c_lex_with_flags (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0x51407F: ??? (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452== 
==24452== Invalid read of size 8
==24452==    at 0xBFEFD3: ??? (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xBFF181: _cpp_clean_line (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xBFFB57: _cpp_get_fresh_line (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xC012D1: _cpp_lex_direct (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xC02116: _cpp_lex_token (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xC04817: cpp_get_token (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xC04AAF: cpp_get_token_with_location (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0x5A93EC: c_lex_with_flags (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0x51407F: ??? (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0x52D292: c_parse_file (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0x5ACFA4: c_common_parse_file (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0x7D4551: toplev_main (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==  Address 0x4e2a648 is 312 bytes inside a block of size 316 alloc'd
==24452==    at 0x4A07882: realloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==24452==    by 0xC2865C: xrealloc (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xBF3E5B: _cpp_convert_input (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xBFC782: ??? (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xBFD17A: _cpp_stack_file (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xBF55F0: ??? (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xBF60B0: _cpp_handle_directive (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xC02134: _cpp_lex_token (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xC04817: cpp_get_token (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xC04AAF: cpp_get_token_with_location (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0x5A93EC: c_lex_with_flags (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0x51407F: ??? (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452== 
==24452== Invalid read of size 8
==24452==    at 0xBFEFE9: ??? (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xBFF181: _cpp_clean_line (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xBFF744: _cpp_skip_block_comment (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xC01DA9: _cpp_lex_direct (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xC02116: _cpp_lex_token (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xBF501A: ??? (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xBF5B47: ??? (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xBF60B0: _cpp_handle_directive (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xC02134: _cpp_lex_token (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xC04817: cpp_get_token (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xC04AAF: cpp_get_token_with_location (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0x5A93EC: c_lex_with_flags (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==  Address 0x59f4f58 is 0 bytes after a block of size 12,888 alloc'd
==24452==    at 0x4A07882: realloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==24452==    by 0xC2865C: xrealloc (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xBF3E5B: _cpp_convert_input (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xBFC782: ??? (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xBFD17A: _cpp_stack_file (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xBF55F0: ??? (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xBF60B0: _cpp_handle_directive (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xC02134: _cpp_lex_token (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xC04817: cpp_get_token (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0xC04AAF: cpp_get_token_with_location (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0x5A93EC: c_lex_with_flags (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)
==24452==    by 0x51407F: ??? (in
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/cc1plus)

Here is valgrind output for preprocessor only:
$ valgrind /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus -quiet
-v -I . -I ../../../libclamav/c++ -I ../../../libclamav/c++/../.. -I
../../../libclamav/c++/.. -I ./../../ -I ../../../libclamav/c++/llvm/include -I
./llvm/include -MD .libs/MemoryBuiltins.d -MF .deps/MemoryBuiltins.Tpo -MP -MT
MemoryBuiltins.lo -D_GNU_SOURCE -D HAVE_CONFIG_H -D __STDC_LIMIT_MACROS -D
__STDC_CONSTANT_MACROS -D _DEBUG -D _GNU_SOURCE -D PIC
../../../libclamav/c++/llvm/lib/Analysis/MemoryBuiltins.cpp -quiet -dumpbase
MemoryBuiltins.cpp -mtune=generic -march=x86-64 -auxbase-strip
.libs/MemoryBuiltins.o -O2 -Woverloaded-virtual -pedantic -Wno-long-long -Wall
-Wextra -Wno-unused-parameter -Wwrite-strings -version -fno-exceptions -fPIC -o
/tmp/cckXnKZv.s


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug preprocessor/50144] cc1plus double free / out of bounds read
  2011-08-21 15:29 [Bug preprocessor/50144] New: cc1plus double free / out of bounds read edwintorok at gmail dot com
@ 2011-08-21 16:13 ` edwintorok at gmail dot com
  2011-08-21 16:35 ` jakub at gcc dot gnu.org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: edwintorok at gmail dot com @ 2011-08-21 16:13 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Török Edwin <edwintorok at gmail dot com> 2011-08-21 15:52:33 UTC ---
And here is a stacktrace from a local GCC build so you have line numbers:
$ valgrind --trace-children=yes
/home/edwin/gcc-4.6-4.6.1/src/host-x86_64-linux-gnu/gcc/xgcc
-B/home/edwin/gcc-4.6-4.6.1/src/host-x86_64-linux-gnu/gcc /tmp/x.cpp -E
>/dev/null
==2671== Memcheck, a memory error detector
==2671== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
==2671== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright info
==2671== Command: /home/edwin/gcc-4.6-4.6.1/src/host-x86_64-linux-gnu/gcc/xgcc
-B/home/edwin/gcc-4.6-4.6.1/src/host-x86_64-linux-gnu/gcc /tmp/x.cpp -E
==2671== 
==2675== Memcheck, a memory error detector
==2675== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
==2675== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright info
==2675== Command:
/home/edwin/gcc-4.6-4.6.1/src/host-x86_64-linux-gnu/gcc/cc1plus -E -quiet
-iprefix
/home/edwin/gcc-4.6-4.6.1/src/host-x86_64-linux-gnu/gcc/../lib/gcc/x86_64-linux-gnu/4.6.1/
-isystem /home/edwin/gcc-4.6-4.6.1/src/host-x86_64-linux-gnu/gcc/include
-isystem /home/edwin/gcc-4.6-4.6.1/src/host-x86_64-linux-gnu/gcc/include-fixed
-D_GNU_SOURCE /tmp/x.cpp -mtune=generic -march=x86-64
==2675== 
==2675== Invalid read of size 8
==2675==    at 0x11D71C9: search_line_sse2 (lex.c:394)
==2675==    by 0x11D7361: _cpp_clean_line (lex.c:666)
==2675==    by 0x11D7D37: _cpp_get_fresh_line (lex.c:1887)
==2675==    by 0x11D94B1: _cpp_lex_direct (lex.c:1952)
==2675==    by 0x11DA2F6: _cpp_lex_token (lex.c:1826)
==2675==    by 0x11DC9F7: cpp_get_token (macro.c:1240)
==2675==    by 0x11DCC8F: cpp_get_token_with_location (macro.c:1352)
==2675==    by 0x6C87A4: preprocess_file (c-ppoutput.c:175)
==2675==    by 0x6C6D2B: c_common_init (c-opts.c:1057)
==2675==    by 0x5C7668: cxx_init (lex.c:254)
==2675==    by 0xA3204C: toplev_main (toplev.c:1742)
==2675==    by 0x3C7141EEAC: (below main) (libc-start.c:228)
==2675==  Address 0x4cec1f0 is 7,232 bytes inside a block of size 7,238 alloc'd
==2675==    at 0x4A07882: realloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==2675==    by 0x120070C: xrealloc (xmalloc.c:179)
==2675==    by 0x11CC03B: _cpp_convert_input (charset.c:1734)
==2675==    by 0x11D4962: read_file (files.c:648)
==2675==    by 0x11D535A: _cpp_stack_file (files.c:723)
==2675==    by 0x11D6C35: cpp_read_main_file (init.c:570)
==2675==    by 0x6C64EA: c_common_post_options (c-opts.c:1016)
==2675==    by 0xA31B30: toplev_main (toplev.c:1283)
==2675==    by 0x3C7141EEAC: (below main) (libc-start.c:228)
==2675== 
==2675== Invalid read of size 8
==2675==    at 0x11D71B3: search_line_sse2 (lex.c:382)
==2675==    by 0x11D7361: _cpp_clean_line (lex.c:666)
==2675==    by 0x11D7D37: _cpp_get_fresh_line (lex.c:1887)
==2675==    by 0x11D94B1: _cpp_lex_direct (lex.c:1952)
==2675==    by 0x11DA2F6: _cpp_lex_token (lex.c:1826)
==2675==    by 0x11DC9F7: cpp_get_token (macro.c:1240)
==2675==    by 0x11DCC8F: cpp_get_token_with_location (macro.c:1352)
==2675==    by 0x6C87A4: preprocess_file (c-ppoutput.c:175)
==2675==    by 0x6C6D2B: c_common_init (c-opts.c:1057)
==2675==    by 0x5C7668: cxx_init (lex.c:254)
==2675==    by 0xA3204C: toplev_main (toplev.c:1742)
==2675==    by 0x3C7141EEAC: (below main) (libc-start.c:228)
==2675==  Address 0x4cec1f0 is 7,232 bytes inside a block of size 7,238 alloc'd
==2675==    at 0x4A07882: realloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==2675==    by 0x120070C: xrealloc (xmalloc.c:179)
==2675==    by 0x11CC03B: _cpp_convert_input (charset.c:1734)
==2675==    by 0x11D4962: read_file (files.c:648)
==2675==    by 0x11D535A: _cpp_stack_file (files.c:723)
==2675==    by 0x11D6C35: cpp_read_main_file (init.c:570)
==2675==    by 0x6C64EA: c_common_post_options (c-opts.c:1016)
==2675==    by 0xA31B30: toplev_main (toplev.c:1283)
==2675==    by 0x3C7141EEAC: (below main) (libc-start.c:228)


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug preprocessor/50144] cc1plus double free / out of bounds read
  2011-08-21 15:29 [Bug preprocessor/50144] New: cc1plus double free / out of bounds read edwintorok at gmail dot com
  2011-08-21 16:13 ` [Bug preprocessor/50144] " edwintorok at gmail dot com
@ 2011-08-21 16:35 ` jakub at gcc dot gnu.org
  2011-08-21 17:26 ` edwintorok at gmail dot com
  2011-08-21 19:54 ` edwintorok at gmail dot com
  3 siblings, 0 replies; 5+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-08-21 16:35 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-08-21 16:12:50 UTC ---
The valgrind errors about search_line_sse2 are valgrind bugs rather than gcc
bugs.  Just ignore them.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug preprocessor/50144] cc1plus double free / out of bounds read
  2011-08-21 15:29 [Bug preprocessor/50144] New: cc1plus double free / out of bounds read edwintorok at gmail dot com
  2011-08-21 16:13 ` [Bug preprocessor/50144] " edwintorok at gmail dot com
  2011-08-21 16:35 ` jakub at gcc dot gnu.org
@ 2011-08-21 17:26 ` edwintorok at gmail dot com
  2011-08-21 19:54 ` edwintorok at gmail dot com
  3 siblings, 0 replies; 5+ messages in thread
From: edwintorok at gmail dot com @ 2011-08-21 17:26 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Török Edwin <edwintorok at gmail dot com> 2011-08-21 16:41:19 UTC ---
(In reply to comment #2)
> The valgrind errors about search_line_sse2 are valgrind bugs rather than gcc
> bugs.  Just ignore them.

OK, I'll try to find some other valgrind trace.

(In reply to comment #0)
> CXX    MemoryBuiltins.lo
> *** glibc detected ***
> /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus: double free or
> corruption (out): 0x0000000002a0e280 ***
> ======= Backtrace: =========
> /lib/x86_64-linux-gnu/libc.so.6[0x3c71472606]
> /lib/x86_64-linux-gnu/libc.so.6(cfree+0x6c)[0x3c7147733c]
> /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus(ggc_internal_alloc_stat+0x25e)[0x5bb86e]
> /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus(ggc_internal_cleared_alloc_stat+0x16)[0x6c1446]
> /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus(make_node_stat+0x1f)[0x8e1fff]
> /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus(alloc_stmt_list+0x5a)[0x8059ca]
> /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus(push_stmt_list+0x6)[0x5b47f6]
> /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus[0x550e25]
> /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1plus(begin_if_stmt+0x15)[0x551765]

begin_if_stmt appears to be part of the parser though, not the preprocessor
(I thought if refers to #if, but apparently not). So was this a parser crash?


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug preprocessor/50144] cc1plus double free / out of bounds read
  2011-08-21 15:29 [Bug preprocessor/50144] New: cc1plus double free / out of bounds read edwintorok at gmail dot com
                   ` (2 preceding siblings ...)
  2011-08-21 17:26 ` edwintorok at gmail dot com
@ 2011-08-21 19:54 ` edwintorok at gmail dot com
  3 siblings, 0 replies; 5+ messages in thread
From: edwintorok at gmail dot com @ 2011-08-21 19:54 UTC (permalink / raw)
  To: gcc-bugs

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

Török Edwin <edwintorok at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |INVALID

--- Comment #4 from Török Edwin <edwintorok at gmail dot com> 2011-08-21 19:48:34 UTC ---
Nevermind, just did a memtest and it found 1 stuck bit in one of the 4G
modules.
Going to close this as invalid for now, as I was not able to get any more
warnings with valgrind.


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-08-21 19:48 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-08-21 15:29 [Bug preprocessor/50144] New: cc1plus double free / out of bounds read edwintorok at gmail dot com
2011-08-21 16:13 ` [Bug preprocessor/50144] " edwintorok at gmail dot com
2011-08-21 16:35 ` jakub at gcc dot gnu.org
2011-08-21 17:26 ` edwintorok at gmail dot com
2011-08-21 19:54 ` edwintorok at gmail dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).