[llvm-dev] Parallel build fails for [buffer overflow detected error]

Mehdi AMINI via llvm-dev llvm-dev at lists.llvm.org
Sat Aug 17 15:12:35 PDT 2019


On Sat, Aug 17, 2019 at 3:03 PM sameeran joshi via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> Hi,
> during building LLVM with clang enabled for x86-64 architecture
> following the steps here:
> http://clang.llvm.org/get_started.html
>
> I tried make -j32
> the execution goes well till 92% but, the process exits giving following
> error:
>
>
>
> [ 92%] Building CXX object
> tools/llvm-exegesis/lib/CMakeFiles/LLVMExegesis.dir/RegisterValue.cpp.o
> *** buffer overflow detected ***: /usr/bin/ld terminated
>
> cc1plus: out of memory allocating 39806 bytes after a total of 651264 bytes
> virtual memory exhausted: Cannot allocate memory
>

 The error message tells that you ran out-of-memory.
Running with -j32 supposed a fairly large machine, do you have so many CPU
cores? How much memory do you have?

The message also mentions /usr/bin/ld above, the GNU BFD linker which is
the default on many distribution can be fairly memory heavy, especially
when building with debug info.
Some tweak to your build can involve:

- Use LLVM lld linker instead (or the gold linker) (-DLLVM_ENABLE_LLD=Y)
- Build without debug info (-DCMAKE_BUILD_TYPE=Release)
- Limit the number of parallel linking process (-DLLVM_PARALLEL_LINK_JOBS=X)

-- 
Mehdi



> /usr/bin/cmake: error while loading shared libraries:
> libasn1.so.8/usr/bin/cmake: : failed to map segment from shared
> objecterror while loading shared libraries: libasn1.so.8
> : failed to map segment from shared object
>
> cc1plus: out of memory allocating 2048 bytes after a total of 843776 bytes
>
> cc1plus: out of memory allocating 2048 bytes after a total of 815104 bytes
>
> cc1plus: out of memory allocating 8032 bytes after a total of 806912 bytes
>
> cc1plus: out of memory allocating 8032 bytes after a total of 790528 bytes
>
> cc1plus: out of memory allocating 17638 bytes after a total of 815104 bytes
> tools/llvm-exegesis/lib/CMakeFiles/LLVMExegesis.dir/build.make:398:
> recipe for target
> 'tools/llvm-exegesis/lib/CMakeFiles/LLVMExegesis.dir/Target.cpp.o'
> failed
> make[2]: ***
> [tools/llvm-exegesis/lib/CMakeFiles/LLVMExegesis.dir/Target.cpp.o]
> Error 127
> virtual memory exhausted: Cannot allocate memory
> make[2]: *** Waiting for unfinished jobs....
> tools/llvm-exegesis/lib/CMakeFiles/LLVMExegesis.dir/build.make:422:
> recipe for target
> 'tools/llvm-exegesis/lib/CMakeFiles/LLVMExegesis.dir/Uops.cpp.o'
> failed
> make[2]: ***
> [tools/llvm-exegesis/lib/CMakeFiles/LLVMExegesis.dir/Uops.cpp.o]
> Error 127
> make[2]: fork: Cannot allocate memory
>
> cc1plus: out of memory allocating 92461 bytes after a total of 815104 bytes
> virtual memory exhausted: Cannot allocate memory
> virtual memory exhausted: Cannot allocate memory
> /usr/bin/ld: can not read symbols: Memory exhausted
>
>
> When executed
> make
> only single processor
> with no parallel build it's builds successfully.
>
> Is this an issue with the parallel building of LLVM , I encoutered the
> issue 2 times that too beyond 90%?
>
> Thanks,
> Sameeran Joshi
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190817/42628c81/attachment.html>


More information about the llvm-dev mailing list