New llvm-gcc bootstrap failure

My nightly tester on x86_64-unknown-linux-gnu failed
to bootstrap llvm-gcc today:

  Comparing stages 2 and 3
  Bootstrap comparison failure!
  ./build/read-rtl.o differs

The updates since the last bootstrap (24 hours before):
went from revision 53904 to revision 53950.

Ciao,

Duncan.

Hi Duncan,

53950 bootstraps for me on x86_64-unknown-linux-gnu. Are you
able to isolate this at all?

Dan

53950 bootstraps for me on x86_64-unknown-linux-gnu. Are you
able to isolate this at all?

I haven't been able to reproduce it here even though it's
a very similar machine to where the nightly tester is running.
I'm going to try valgrinding the llvm-gcc build next.

Ciao,

Duncan.

Hi Dan,

53950 bootstraps for me on x86_64-unknown-linux-gnu. Are you
able to isolate this at all?

the bootstrap at revision 53950 failed twice and succeeded once
on that machine (I was never able to get it to fail elsewhere).
Valgrinding the llvm-gcc build causes the compiler to die with
a segmentation fault in stage 2. I'm still investigating this.

Ciao,

Duncan.

My nightly tester on x86_64-unknown-linux-gnu failed
to bootstrap llvm-gcc today:

Comparing stages 2 and 3
Bootstrap comparison failure!
./build/read-rtl.o differs

I am having the same problem. It was "introduced" by revision 54811,
so it looks like a memory corruption problem. Investigating.

The updates since the last bootstrap (24 hours before):
went from revision 53904 to revision 53950.

Ciao,

Duncan.

Cheers,

Hello, Rafael

I am having the same problem. It was "introduced" by revision 54811,
so it looks like a memory corruption problem. Investigating.

Same here. Thanks for bisection, I'll also try to look into.

When I tried to investigate the problem last time, I found, that the problem disappears, when I added -fno-unit-at-a-time. The output from
stage1 compiler was the same as output of stage2 compiler on this file with -O0, but not same on higher optimization levels.

I am having the same problem. It was "introduced" by revision 54811,
so it looks like a memory corruption problem. Investigating.

Interesting. Bootstrapping with gcac works!

Some tests with valgrind also work. My next try is to add some debug
code to do bounds checking in SmallVector.

Cheers,

I am having the same problem. It was "introduced" by revision 54811,
so it looks like a memory corruption problem. Investigating.

Turns out that the bootstrap doesn't fail consistently, and that
tricked my binary search.

I reproduced the failure with 54807. Not sure if it is the one that
introduces the failure.

Cheers,

I get the error below (and have for a couple weeks now) when trying to build llvm-gcc on Ubuntu Feisty. In the meantime, on Ubuntu Gutsy, everything has been building fine. Both are release builds for x86.

John

cc1: StringMap.cpp:177: void llvm::StringMapImpl::RemoveKey(llvm::StringMapEntryBase*): Assertion `V == V2 && "Didn't find key?"' failed.

Doh-- not that it likely matters but I meant to say that things have been building fine on Hardy (8.04) not Gutsy.

John

I get the error below (and have for a couple weeks now) when trying to
build llvm-gcc on Ubuntu Feisty. In the meantime, on Ubuntu Gutsy,
everything has been building fine. Both are release builds for x86.

Can you try to reduce the problem? Copy and past the command line that
fails, and add -save-temps -v. Having the cc1 line that fails and the
.i file should help.

John

Cheers,

I get the error below (and have for a couple weeks now) when trying to
build llvm-gcc on Ubuntu Feisty. In the meantime, on Ubuntu Gutsy,
everything has been building fine. Both are release builds for x86.

I've seen this error too with gcc version 4.1.2 20070626 (Red Hat 4.1.2-14).
I do not see it with gcc version 3.4.6 20060404 (Red Hat 3.4.6-9).

Also, if you use the Debug build (--enable-checking does not currently
select the LLVM debug build to link into llvm-gcc, so you have to set
this manually), I do not see the error, only the Release build.
valgrind seems clean on the Release build.

Andrew

I've seen this error too with gcc version 4.1.2 20070626 (Red Hat 4.1.2-14).
I do not see it with gcc version 3.4.6 20060404 (Red Hat 3.4.6-9).

Right-- Ubuntu Feisty also uses 4.1.2, and fails to build LLVM.

The newer Ubuntu uses 4.2.something and compiles LLVM cleanly.

John

Just to confirm that gcc-4.1.2 is the problem (as opposed to libc or whatever) I can build a release version of llvm-gcc just fine on Ubuntu Feisty using gcc-4.3.2.

So either some undefined behavior snuck into llvm that only manifests on this compiler, or else 4.1.2 is miscompiling something.

John