public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug preprocessor/17131] New: memory corruption in preprocessor
@ 2004-08-21 15:52 cato at df dot lth dot se
2004-08-21 17:05 ` [Bug preprocessor/17131] " pinskia at gcc dot gnu dot org
0 siblings, 1 reply; 2+ messages in thread
From: cato at df dot lth dot se @ 2004-08-21 15:52 UTC (permalink / raw)
To: gcc-bugs
The libstdc++ test suite tests have failed semi-randomly (dependent on
the path in which the gcc tree is located) on i386-unknown-netbsdelf2.0
since the tree-ssa merge.
I have tracked at least one of the failures to a memory corruption
in libcpp. The test is
FAIL: 17_intro/header_cstdio.cc (test for excess errors)
that in this case fails with
/gcctmp/gcc040820/gcc/libstdc++-v3/testsuite/17_intro/header_cstdio.cc:30:
error: stray '\24' in program
/gcctmp/gcc040820/gcc/libstdc++-v3/testsuite/17_intro/header_cstdio.cc:30:
error: expected `}' at end of input
The memory is corrupted at the line
saved_cur_token[-1].type = pfile->cur_token[-1].type;
in the function _cpp_create_definition (libcpp/macro.c), when the
function is called the second time while processing .gch files
(see stack trace below).
The saved_cur_token points to the first element in an allocated
memory region, so the saved_cur_token[-1].type writes into the
memory buffer allocated before it, which happens to contain the
source code for the file to compile...
/Krister
#0 _cpp_create_definition (pfile=0x85fc800, node=0x486a5850)
at ../../gcc/libcpp/macro.c:1543
#1 0x084855d9 in cpp_read_state (r=0x85fc800,
name=0x85e2700
"/gcctmp/fcc040820/build/i386-unknown-netbsdelf2.0./libstdc++-v3/include/i386-unknown-netbsdelf2.0./bits/stdc++.h.gch/O0g.gch",
f=0x4861e2b8, data=0x85e06f0) at ../../gcc/libcpp/pch.c:673
#2 0x081483cb in c_common_read_pch (pfile=0x85fc800,
name=0x85e2700
"/gcctmp/fcc040820/build/i386-unknown-netbsdelf2.0./libstdc++-v3/include/i386-unknown-netbsdelf2.0./bits/stdc++.h.gch/O0g.gch",
fd=8,
orig_name=0x85e5380
"/gcctmp/fcc040820/build/i386-unknown-netbsdelf2.0./libstdc++-v3/include/i386-unknown-netbsdelf2.0./bits/stdc++.h")
at ../../gcc/gcc/c-pch.c:446
#3 0x0814956b in cb_read_pch (pfile=0x85fc800,
name=0x85e2700
"/gcctmp/fcc040820/build/i386-unknown-netbsdelf2.0./libstdc++-v3/include/i386-unknown-netbsdelf2.0./bits/stdc++.h.gch/O0g.gch",
fd=8,
orig_name=0x85e5380
"/gcctmp/fcc040820/build/i386-unknown-netbsdelf2.0./libstdc++-v3/include/i386-unknown-netbsdelf2.0./bits/stdc++.h")
at ../../gcc/gcc/c-ppoutput.c:436
#4 0x0847e268 in should_stack_file (pfile=0x85fc800, file=0x85e2600,
import=0 '\0') at ../../gcc/libcpp/files.c:633
#5 0x0847e3ef in _cpp_stack_file (pfile=0x85fc800, file=0x85e2600,
import=0 '\0') at ../../gcc/libcpp/files.c:691
#6 0x0847e679 in _cpp_stack_include (pfile=0x85fc800,
fname=0xbfbffb2c "bits/stdc++.h", angle_brackets=0, type=IT_CMDLINE)
at ../../gcc/libcpp/files.c:819
#7 0x0847ec2d in cpp_push_include (pfile=0x85fc800,
fname=0xbfbffb2c "bits/stdc++.h") at ../../gcc/libcpp/files.c:1107
#8 0x0814788b in push_command_line_include () at ../../gcc/gcc/c-opts.c:1353
#9 0x081471ca in c_common_init () at ../../gcc/gcc/c-opts.c:1059
#10 0x080c4743 in cxx_init () at ../../gcc/gcc/cp/lex.c:376
#11 0x083d5d22 in lang_dependent_init (
name=0xbfbffb3a
"/gcctmp/fcc040820/gcc/libstdc++-v3/testsuite/17_intro/header_cstdio.cc") at
../../gcc/gcc/toplev.c:1963
#12 0x083d5ede in do_compile () at ../../gcc/gcc/toplev.c:2064
#13 0x083d5f6d in toplev_main (argc=27, argv=0xbfbff6e0)
at ../../gcc/gcc/toplev.c:2097
#14 0x0815187f in main (argc=27, argv=0xbfbff6e0) at ../../gcc/gcc/main.c:35
--
Summary: memory corruption in preprocessor
Product: gcc
Version: 3.5.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: preprocessor
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: cato at df dot lth dot se
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: i386-unknown-netbsdelf2.0
GCC host triplet: i386-unknown-netbsdelf2.0
GCC target triplet: i386-unknown-netbsdelf2.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17131
^ permalink raw reply [flat|nested] 2+ messages in thread
* [Bug preprocessor/17131] memory corruption in preprocessor
2004-08-21 15:52 [Bug preprocessor/17131] New: memory corruption in preprocessor cato at df dot lth dot se
@ 2004-08-21 17:05 ` pinskia at gcc dot gnu dot org
0 siblings, 0 replies; 2+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-21 17:05 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-08-21 17:05 -------
*** This bug has been marked as a duplicate of 14940 ***
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |DUPLICATE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17131
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2004-08-21 17:05 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-08-21 15:52 [Bug preprocessor/17131] New: memory corruption in preprocessor cato at df dot lth dot se
2004-08-21 17:05 ` [Bug preprocessor/17131] " pinskia at gcc dot gnu dot org
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).