[LLVMdev] Build failure (tblgen crash) on Ubuntu

Csaba Raduly rcsaba at gmail.com
Fri Jun 7 02:37:42 PDT 2013


Hi all,
I'm building clang on Ubuntu LTS 12.04 and it started blowing up since
yesterday:

$ make update
svn  update /home/csabaraduly/workspace/LLVM/llvm
At revision 183495.
At revision 183495.
At revision 183495.
At revision 183495.

$ make all VERBOSE=1
for dir in lib/Support lib/TableGen utils lib/IR lib tools/llvm-config
tools runtime docs unittests; do \
	  if ([ ! -f $dir/Makefile ] || \
	      command test $dir/Makefile -ot
/home/csabaraduly/workspace/LLVM/llvm/$dir/Makefile ); then \
	    /home/csabaraduly/workspace/LLVM/llvm/autoconf/mkinstalldirs $dir; \
	    /bin/cp /home/csabaraduly/workspace/LLVM/llvm/$dir/Makefile
$dir/Makefile; \
	  fi; \
	  (make -C $dir all ) || exit 1; \
	done
make[1]: Entering directory
`/home/csabaraduly/workspace/LLVM/build-clang/lib/Support'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory
`/home/csabaraduly/workspace/LLVM/build-clang/lib/Support'
make[1]: Entering directory
`/home/csabaraduly/workspace/LLVM/build-clang/lib/TableGen'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory
`/home/csabaraduly/workspace/LLVM/build-clang/lib/TableGen'
make[1]: Entering directory `/home/csabaraduly/workspace/LLVM/build-clang/utils'
\
	  SD=/home/csabaraduly/workspace/LLVM/llvm/utils/FileCheck; \
	  DD=FileCheck; \
	  if [ ! -f $SD/Makefile ]; then \
	    SD=FileCheck; \
	    DD=FileCheck; \
	  fi; \
	  if ([ ! -f $DD/Makefile ] || \
	            command test $DD/Makefile -ot \
                      $SD/Makefile ); then \
	  /home/csabaraduly/workspace/LLVM/llvm/autoconf/mkinstalldirs $DD; \
	  /bin/cp $SD/Makefile $DD/Makefile; \
	fi; \
	make -C $DD all
make[2]: Entering directory
`/home/csabaraduly/workspace/LLVM/build-clang/utils/FileCheck'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory
`/home/csabaraduly/workspace/LLVM/build-clang/utils/FileCheck'
\
	  SD=/home/csabaraduly/workspace/LLVM/llvm/utils/FileUpdate; \
	  DD=FileUpdate; \
	  if [ ! -f $SD/Makefile ]; then \
	    SD=FileUpdate; \
	    DD=FileUpdate; \
	  fi; \
	  if ([ ! -f $DD/Makefile ] || \
	            command test $DD/Makefile -ot \
                      $SD/Makefile ); then \
	  /home/csabaraduly/workspace/LLVM/llvm/autoconf/mkinstalldirs $DD; \
	  /bin/cp $SD/Makefile $DD/Makefile; \
	fi; \
	make -C $DD all
make[2]: Entering directory
`/home/csabaraduly/workspace/LLVM/build-clang/utils/FileUpdate'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory
`/home/csabaraduly/workspace/LLVM/build-clang/utils/FileUpdate'
\
	  SD=/home/csabaraduly/workspace/LLVM/llvm/utils/TableGen; \
	  DD=TableGen; \
	  if [ ! -f $SD/Makefile ]; then \
	    SD=TableGen; \
	    DD=TableGen; \
	  fi; \
	  if ([ ! -f $DD/Makefile ] || \
	            command test $DD/Makefile -ot \
                      $SD/Makefile ); then \
	  /home/csabaraduly/workspace/LLVM/llvm/autoconf/mkinstalldirs $DD; \
	  /bin/cp $SD/Makefile $DD/Makefile; \
	fi; \
	make -C $DD all
make[2]: Entering directory
`/home/csabaraduly/workspace/LLVM/build-clang/utils/TableGen'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory
`/home/csabaraduly/workspace/LLVM/build-clang/utils/TableGen'
\
	  SD=/home/csabaraduly/workspace/LLVM/llvm/utils/PerfectShuffle; \
	  DD=PerfectShuffle; \
	  if [ ! -f $SD/Makefile ]; then \
	    SD=PerfectShuffle; \
	    DD=PerfectShuffle; \
	  fi; \
	  if ([ ! -f $DD/Makefile ] || \
	            command test $DD/Makefile -ot \
                      $SD/Makefile ); then \
	  /home/csabaraduly/workspace/LLVM/llvm/autoconf/mkinstalldirs $DD; \
	  /bin/cp $SD/Makefile $DD/Makefile; \
	fi; \
	make -C $DD all
make[2]: Entering directory
`/home/csabaraduly/workspace/LLVM/build-clang/utils/PerfectShuffle'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory
`/home/csabaraduly/workspace/LLVM/build-clang/utils/PerfectShuffle'
\
	  SD=/home/csabaraduly/workspace/LLVM/llvm/utils/count; \
	  DD=count; \
	  if [ ! -f $SD/Makefile ]; then \
	    SD=count; \
	    DD=count; \
	  fi; \
	  if ([ ! -f $DD/Makefile ] || \
	            command test $DD/Makefile -ot \
                      $SD/Makefile ); then \
	  /home/csabaraduly/workspace/LLVM/llvm/autoconf/mkinstalldirs $DD; \
	  /bin/cp $SD/Makefile $DD/Makefile; \
	fi; \
	make -C $DD all
make[2]: Entering directory
`/home/csabaraduly/workspace/LLVM/build-clang/utils/count'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory
`/home/csabaraduly/workspace/LLVM/build-clang/utils/count'
\
	  SD=/home/csabaraduly/workspace/LLVM/llvm/utils/fpcmp; \
	  DD=fpcmp; \
	  if [ ! -f $SD/Makefile ]; then \
	    SD=fpcmp; \
	    DD=fpcmp; \
	  fi; \
	  if ([ ! -f $DD/Makefile ] || \
	            command test $DD/Makefile -ot \
                      $SD/Makefile ); then \
	  /home/csabaraduly/workspace/LLVM/llvm/autoconf/mkinstalldirs $DD; \
	  /bin/cp $SD/Makefile $DD/Makefile; \
	fi; \
	make -C $DD all
make[2]: Entering directory
`/home/csabaraduly/workspace/LLVM/build-clang/utils/fpcmp'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory
`/home/csabaraduly/workspace/LLVM/build-clang/utils/fpcmp'
\
	  SD=/home/csabaraduly/workspace/LLVM/llvm/utils/llvm-lit; \
	  DD=llvm-lit; \
	  if [ ! -f $SD/Makefile ]; then \
	    SD=llvm-lit; \
	    DD=llvm-lit; \
	  fi; \
	  if ([ ! -f $DD/Makefile ] || \
	            command test $DD/Makefile -ot \
                      $SD/Makefile ); then \
	  /home/csabaraduly/workspace/LLVM/llvm/autoconf/mkinstalldirs $DD; \
	  /bin/cp $SD/Makefile $DD/Makefile; \
	fi; \
	make -C $DD all
make[2]: Entering directory
`/home/csabaraduly/workspace/LLVM/build-clang/utils/llvm-lit'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory
`/home/csabaraduly/workspace/LLVM/build-clang/utils/llvm-lit'
\
	  SD=/home/csabaraduly/workspace/LLVM/llvm/utils/not; \
	  DD=not; \
	  if [ ! -f $SD/Makefile ]; then \
	    SD=not; \
	    DD=not; \
	  fi; \
	  if ([ ! -f $DD/Makefile ] || \
	            command test $DD/Makefile -ot \
                      $SD/Makefile ); then \
	  /home/csabaraduly/workspace/LLVM/llvm/autoconf/mkinstalldirs $DD; \
	  /bin/cp $SD/Makefile $DD/Makefile; \
	fi; \
	make -C $DD all
make[2]: Entering directory
`/home/csabaraduly/workspace/LLVM/build-clang/utils/not'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory
`/home/csabaraduly/workspace/LLVM/build-clang/utils/not'
\
	  SD=/home/csabaraduly/workspace/LLVM/llvm/utils/unittest; \
	  DD=unittest; \
	  if [ ! -f $SD/Makefile ]; then \
	    SD=unittest; \
	    DD=unittest; \
	  fi; \
	  if ([ ! -f $DD/Makefile ] || \
	            command test $DD/Makefile -ot \
                      $SD/Makefile ); then \
	  /home/csabaraduly/workspace/LLVM/llvm/autoconf/mkinstalldirs $DD; \
	  /bin/cp $SD/Makefile $DD/Makefile; \
	fi; \
	make -C $DD all
make[2]: Entering directory
`/home/csabaraduly/workspace/LLVM/build-clang/utils/unittest'
\
	  SD=/home/csabaraduly/workspace/LLVM/llvm/utils/unittest/googletest; \
	  DD=googletest; \
	  if [ ! -f $SD/Makefile ]; then \
	    SD=googletest; \
	    DD=googletest; \
	  fi; \
	  if ([ ! -f $DD/Makefile ] || \
	            command test $DD/Makefile -ot \
                      $SD/Makefile ); then \
	  /home/csabaraduly/workspace/LLVM/llvm/autoconf/mkinstalldirs $DD; \
	  /bin/cp $SD/Makefile $DD/Makefile; \
	fi; \
	make -C $DD all
make[3]: Entering directory
`/home/csabaraduly/workspace/LLVM/build-clang/utils/unittest/googletest'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory
`/home/csabaraduly/workspace/LLVM/build-clang/utils/unittest/googletest'
\
	  SD=/home/csabaraduly/workspace/LLVM/llvm/utils/unittest/UnitTestMain; \
	  DD=UnitTestMain; \
	  if [ ! -f $SD/Makefile ]; then \
	    SD=UnitTestMain; \
	    DD=UnitTestMain; \
	  fi; \
	  if ([ ! -f $DD/Makefile ] || \
	            command test $DD/Makefile -ot \
                      $SD/Makefile ); then \
	  /home/csabaraduly/workspace/LLVM/llvm/autoconf/mkinstalldirs $DD; \
	  /bin/cp $SD/Makefile $DD/Makefile; \
	fi; \
	make -C $DD all
make[3]: Entering directory
`/home/csabaraduly/workspace/LLVM/build-clang/utils/unittest/UnitTestMain'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory
`/home/csabaraduly/workspace/LLVM/build-clang/utils/unittest/UnitTestMain'
make[2]: Leaving directory
`/home/csabaraduly/workspace/LLVM/build-clang/utils/unittest'
make[1]: Leaving directory `/home/csabaraduly/workspace/LLVM/build-clang/utils'
make[1]: Entering directory
`/home/csabaraduly/workspace/LLVM/build-clang/lib/IR'
llvm[1]: Building Intrinsics.gen.tmp from Intrinsics.td
/home/csabaraduly/workspace/LLVM/build-clang/Release+Asserts/bin/llvm-tblgen
-I  /home/csabaraduly/workspace/LLVM/llvm/lib/IR -I
/home/csabaraduly/workspace/LLVM/llvm/include -I
/home/csabaraduly/workspace/LLVM/llvm/include -I
/home/csabaraduly/workspace/LLVM/llvm/lib/Target
/home/csabaraduly/workspace/LLVM/llvm/include/llvm/IR/Intrinsics.td -o
 /home/csabaraduly/workspace/LLVM/build-clang/lib/IR/Release+Asserts/Intrinsics.gen.tmp
-gen-intrinsic
  -debug-only~~~~~~~~~~= *cannot print option value*
  -debug~~~~~~~~~~= 0        (default: 0)
  -debug-only~~~~~~~~~~= *cannot print option value*
  -debug~~~~~~~~~~0  llvm-tblgen     0x000000000055e075
1  llvm-tblgen     0x000000000055e563
2  libpthread.so.0 0x00002b3993febcb0
3  libc.so.6       0x00002b3994e4f425 gsignal + 53
4  libc.so.6       0x00002b3994e52b8b abort + 379
5  libc.so.6       0x00002b3994e8d39e
6  libc.so.6       0x00002b3994e97b96
7  llvm-tblgen     0x000000000050b44e
8  llvm-tblgen     0x000000000054a609
9  llvm-tblgen     0x0000000000545df2
10 llvm-tblgen     0x0000000000544415
11 llvm-tblgen     0x00000000004fee52
12 libc.so.6       0x00002b3994e3a76d __libc_start_main + 237
13 llvm-tblgen     0x0000000000404969
Stack dump:
0.	Program arguments:
/home/csabaraduly/workspace/LLVM/build-clang/Release+Asserts/bin/llvm-tblgen
-I /home/csabaraduly/workspace/LLVM/llvm/lib/IR -I
/home/csabaraduly/workspace/LLVM/llvm/include -I
/home/csabaraduly/workspace/LLVM/llvm/include -I
/home/csabaraduly/workspace/LLVM/llvm/lib/Target
/home/csabaraduly/workspace/LLVM/llvm/include/llvm/IR/Intrinsics.td -o
/home/csabaraduly/workspace/LLVM/build-clang/lib/IR/Release+Asserts/Intrinsics.gen.tmp
-gen-intrinsic
make[1]: *** [/home/csabaraduly/workspace/LLVM/build-clang/lib/IR/Release+Asserts/Intrinsics.gen.tmp]
Aborted (core dumped)
make[1]: Leaving directory `/home/csabaraduly/workspace/LLVM/build-clang/lib/IR'
make: *** [all] Error 1
*** glibc detected ***
/home/csabaraduly/workspace/LLVM/build-clang/Release+Asserts/bin/llvm-tblgen:
free(): invalid pointer: 0x00000000005dadc8 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x7eb96)[0x2b3994e97b96]
/home/csabaraduly/workspace/LLVM/build-clang/Release+Asserts/bin/llvm-tblgen[0x50b44e]
/home/csabaraduly/workspace/LLVM/build-clang/Release+Asserts/bin/llvm-tblgen[0x54a609]
/home/csabaraduly/workspace/LLVM/build-clang/Release+Asserts/bin/llvm-tblgen[0x545df2]
/home/csabaraduly/workspace/LLVM/build-clang/Release+Asserts/bin/llvm-tblgen[0x544415]
/home/csabaraduly/workspace/LLVM/build-clang/Release+Asserts/bin/llvm-tblgen[0x4fee52]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed)[0x2b3994e3a76d]
/home/csabaraduly/workspace/LLVM/build-clang/Release+Asserts/bin/llvm-tblgen[0x404969]
======= Memory map: ========
00400000-005d4000 r-xp 00000000 08:11 9179017
  /home/csabaraduly/workspace/LLVM/build-clang/Release+Asserts/bin/llvm-tblgen
005d5000-005da000 r--p 001d4000 08:11 9179017
  /home/csabaraduly/workspace/LLVM/build-clang/Release+Asserts/bin/llvm-tblgen
005da000-005db000 rw-p 001d9000 08:11 9179017
  /home/csabaraduly/workspace/LLVM/build-clang/Release+Asserts/bin/llvm-tblgen
005db000-005dd000 rw-p 00000000 00:00 0
00d19000-00d3a000 rw-p 00000000 00:00 0                                  [heap]
2b3993ba0000-2b3993bc2000 r-xp 00000000 08:02 25169578
  /lib/x86_64-linux-gnu/ld-2.15.so
2b3993bc2000-2b3993bc5000 rw-p 00000000 00:00 0
2b3993dc2000-2b3993dc3000 r--p 00022000 08:02 25169578
  /lib/x86_64-linux-gnu/ld-2.15.so
2b3993dc3000-2b3993dc5000 rw-p 00023000 08:02 25169578
  /lib/x86_64-linux-gnu/ld-2.15.so
2b3993dc5000-2b3993ddb000 r-xp 00000000 08:02 25169498
  /lib/x86_64-linux-gnu/libz.so.1.2.3.4
2b3993ddb000-2b3993fda000 ---p 00016000 08:02 25169498
  /lib/x86_64-linux-gnu/libz.so.1.2.3.4
2b3993fda000-2b3993fdb000 r--p 00015000 08:02 25169498
  /lib/x86_64-linux-gnu/libz.so.1.2.3.4
2b3993fdb000-2b3993fdc000 rw-p 00016000 08:02 25169498
  /lib/x86_64-linux-gnu/libz.so.1.2.3.4
2b3993fdc000-2b3993ff4000 r-xp 00000000 08:02 25169566
  /lib/x86_64-linux-gnu/libpthread-2.15.so
2b3993ff4000-2b39941f3000 ---p 00018000 08:02 25169566
  /lib/x86_64-linux-gnu/libpthread-2.15.so
2b39941f3000-2b39941f4000 r--p 00017000 08:02 25169566
  /lib/x86_64-linux-gnu/libpthread-2.15.so
2b39941f4000-2b39941f5000 rw-p 00018000 08:02 25169566
  /lib/x86_64-linux-gnu/libpthread-2.15.so
2b39941f5000-2b39941fa000 rw-p 00000000 00:00 0
2b39941fa000-2b3994201000 r-xp 00000000 08:02 25169568
  /lib/x86_64-linux-gnu/librt-2.15.so
2b3994201000-2b3994400000 ---p 00007000 08:02 25169568
  /lib/x86_64-linux-gnu/librt-2.15.so
2b3994400000-2b3994401000 r--p 00006000 08:02 25169568
  /lib/x86_64-linux-gnu/librt-2.15.so
2b3994401000-2b3994402000 rw-p 00007000 08:02 25169568
  /lib/x86_64-linux-gnu/librt-2.15.so
2b3994402000-2b3994404000 r-xp 00000000 08:02 25169563
  /lib/x86_64-linux-gnu/libdl-2.15.so
2b3994404000-2b3994604000 ---p 00002000 08:02 25169563
  /lib/x86_64-linux-gnu/libdl-2.15.so
2b3994604000-2b3994605000 r--p 00002000 08:02 25169563
  /lib/x86_64-linux-gnu/libdl-2.15.so
2b3994605000-2b3994606000 rw-p 00003000 08:02 25169563
  /lib/x86_64-linux-gnu/libdl-2.15.so
2b3994606000-2b3994701000 r-xp 00000000 08:02 25169572
  /lib/x86_64-linux-gnu/libm-2.15.so
2b3994701000-2b3994900000 ---p 000fb000 08:02 25169572
  /lib/x86_64-linux-gnu/libm-2.15.so
2b3994900000-2b3994901000 r--p 000fa000 08:02 25169572
  /lib/x86_64-linux-gnu/libm-2.15.so
2b3994901000-2b3994902000 rw-p 000fb000 08:02 25169572
  /lib/x86_64-linux-gnu/libm-2.15.so
2b3994902000-2b3994903000 rw-p 00000000 00:00 0
2b3994903000-2b39949e5000 r-xp 00000000 08:02 27925921
  /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16
2b39949e5000-2b3994be4000 ---p 000e2000 08:02 27925921
  /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16
2b3994be4000-2b3994bec000 r--p 000e1000 08:02 27925921
  /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16
2b3994bec000-2b3994bee000 rw-p 000e9000 08:02 27925921
  /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16
2b3994bee000-2b3994c03000 rw-p 00000000 00:00 0
2b3994c03000-2b3994c18000 r-xp 00000000 08:02 25169408
  /lib/x86_64-linux-gnu/libgcc_s.so.1
2b3994c18000-2b3994e17000 ---p 00015000 08:02 25169408
  /lib/x86_64-linux-gnu/libgcc_s.so.1
2b3994e17000-2b3994e18000 r--p 00014000 08:02 25169408
  /lib/x86_64-linux-gnu/libgcc_s.so.1
2b3994e18000-2b3994e19000 rw-p 00015000 08:02 25169408
  /lib/x86_64-linux-gnu/libgcc_s.so.1
2b3994e19000-2b3994fce000 r-xp 00000000 08:02 25169564
  /lib/x86_64-linux-gnu/libc-2.15.so
2b3994fce000-2b39951cd000 ---p 001b5000 08:02 25169564
  /lib/x86_64-linux-gnu/libc-2.15.so
2b39951cd000-2b39951d1000 r--p 001b4000 08:02 25169564
  /lib/x86_64-linux-gnu/libc-2.15.so
2b39951d1000-2b39951d3000 rw-p 001b8000 08:02 25169564
  /lib/x86_64-linux-gnu/libc-2.15.so
2b39951d3000-2b39951dd000 rw-p 00000000 00:00 0
7fff2a966000-7fff2a988000 rw-p 00000000 00:00 0                          [stack]
7fff2a9ff000-7fff2aa00000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0
  [vsyscall]


(I have replaced runs of about 75 million spaces with ~~~~~~~~~~)

clang+LLVM was built with

clang version 3.4 (trunk 183302)
Target: x86_64-unknown-linux-gnu
Thread model: posix

(configured with       CC=/usr/local/bin/clang
CXX=/usr/local/bin/clang++ ../llvm/configure --enable-optimized)


Same effect when building with gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)

Any ideas? I tried make clean; make all  but it didn't help.
Reconfiguring didn't help

Csaba
-- 
GCS a+ e++ d- C++ ULS$ L+$ !E- W++ P+++$ w++$ tv+ b++ DI D++ 5++
The Tao of math: The numbers you can count are not the real numbers.
Life is complex, with real and imaginary parts.
"Ok, it boots. Which means it must be bug-free and perfect. " -- Linus Torvalds
"People disagree with me. I just ignore them." -- Linus Torvalds



More information about the llvm-dev mailing list