Quuxplusone / LLVMBugzillaTest

0 stars 0 forks source link

Segmentation fault, possibly OpenMP related #25738

Open Quuxplusone opened 8 years ago

Quuxplusone commented 8 years ago
Bugzilla Link PR25739
Status CONFIRMED
Importance P normal
Reported by Julius Caro (julius.caro@gmail.com)
Reported on 2015-12-04 06:19:00 -0800
Last modified on 2015-12-07 20:49:20 -0800
Version 3.7
Hardware Macintosh MacOS X
CC a.bataev@hotmail.com, hfinkel@anl.gov, llvm-bugs@lists.llvm.org
Fixed by commit(s)
Attachments clang-trace.txt (26525 bytes, text/plain)
Blocks
Blocked by
See also
When building PCL 1.7.2 on OSX, clang crashes (segmentation fault) when
compiling poisson.cpp in the surface module.

OS: OSX El Capitan 10.11.1
Compiler version: Clang 3.7.0 (binaries downloaded from website, but same
results when using clang built from current trunk)

Trying to build: PCL 1.7.2

Dependencies used:
- Eigen 3.2.7 (latest version)
- Boost 1.59 (built with clang)
- Flann 1.8.4 (built with clang)

Attachment:
Zip file containing the following:
- Crash backtrace
- Preprocessed source
- Run script

Note: when trying to run it again copying the long program arguments (clang++ --
cc1 ... ), if I remove the -fopenmp flag, it doesn't crash. But I do need
OpenMP support.
Quuxplusone commented 8 years ago

Attached clang-trace.txt (26525 bytes, text/plain): Crash backtrace

Quuxplusone commented 8 years ago
Processed source and run script:
https://www.wetransfer.com/downloads/ed95f418088be44f2ea1b489bfad318420151204122413/5189f07c15caddf78f8c866c4d0b8b2920151204122413/9a19ef

(it was too large to be uploaded here)
Quuxplusone commented 8 years ago

Could send a reproducer for trunk version? Tried to reproduce on latest trunk but with no luck, could not reproduce

Quuxplusone commented 8 years ago
Hi,

I'll try to build trunk again and check if it happens on the current one.

I can easily reproduce this on my machine by trying to compile the file I
included in the zip file (poisson-870874.cpp)

The command:
$clang++ -fopenmp=libomp poisson-870874.cpp -o poisson.o

will segfault and produce the same error.

But disabling OpenMP seems to go fine:
$clang++ poisson-870874.cpp -o poisson.o

this compiles, but it fails linking obviously
Quuxplusone commented 8 years ago

You see, your report shows that there is some problem with some debug info processing, not the code itself. And it's hard to adapt the result of 3.7 to trunk. That's why I'm asking a reproducer against trunk. It will help a lot if you could attach to the PR

Quuxplusone commented 8 years ago

Another one guess: maybe you're just running out of memory?

Quuxplusone commented 8 years ago

I can build the current clang trunk and build it on that. I did that initially and thought something was wrong with my build and decided to go with the 3.7 binaries from the llvm website.

What do you mean by a reproducer? What exactly would you need me to attach?

The RAM on the machine is 4GB.

Quuxplusone commented 8 years ago

I need the same files you generated on 3.7, but against trunk 3.8