mirror of
				https://github.com/Z3Prover/z3
				synced 2025-11-04 05:19:11 +00:00 
			
		
		
		
	[TravisCI] Fix getting proper stack traces for ASan/LSan. The
`llvm-symbolizer` tool needs to be installed and ASan/LSan needs to be told where to find it.
This commit is contained in:
		
							parent
							
								
									71dcec3113
								
							
						
					
					
						commit
						4db5980a23
					
				
					 4 changed files with 7 additions and 3 deletions
				
			
		| 
						 | 
					@ -30,6 +30,7 @@ RUN apt-get update && \
 | 
				
			||||||
        libgomp1 \
 | 
					        libgomp1 \
 | 
				
			||||||
        libomp5 \
 | 
					        libomp5 \
 | 
				
			||||||
        libomp-dev \
 | 
					        libomp-dev \
 | 
				
			||||||
 | 
					        llvm-3.9 \
 | 
				
			||||||
        make \
 | 
					        make \
 | 
				
			||||||
        mono-devel \
 | 
					        mono-devel \
 | 
				
			||||||
        ninja-build \
 | 
					        ninja-build \
 | 
				
			||||||
| 
						 | 
					@ -47,4 +48,4 @@ RUN useradd -m user && \
 | 
				
			||||||
    echo 'user  ALL=(root) NOPASSWD: ALL' >> /etc/sudoers
 | 
					    echo 'user  ALL=(root) NOPASSWD: ALL' >> /etc/sudoers
 | 
				
			||||||
USER user
 | 
					USER user
 | 
				
			||||||
WORKDIR /home/user
 | 
					WORKDIR /home/user
 | 
				
			||||||
 | 
					ENV ASAN_SYMBOLIZER_PATH=/usr/lib/llvm-3.9/bin/llvm-symbolizer
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -16,6 +16,7 @@ RUN apt-get update && \
 | 
				
			||||||
        libgmp-dev \
 | 
					        libgmp-dev \
 | 
				
			||||||
        libgomp1 \
 | 
					        libgomp1 \
 | 
				
			||||||
        lib32gomp1 \
 | 
					        lib32gomp1 \
 | 
				
			||||||
 | 
					        llvm-3.9 \
 | 
				
			||||||
        make \
 | 
					        make \
 | 
				
			||||||
        mono-devel \
 | 
					        mono-devel \
 | 
				
			||||||
        ninja-build \
 | 
					        ninja-build \
 | 
				
			||||||
| 
						 | 
					@ -32,4 +33,4 @@ RUN useradd -m user && \
 | 
				
			||||||
    echo 'user  ALL=(root) NOPASSWD: ALL' >> /etc/sudoers
 | 
					    echo 'user  ALL=(root) NOPASSWD: ALL' >> /etc/sudoers
 | 
				
			||||||
USER user
 | 
					USER user
 | 
				
			||||||
WORKDIR /home/user
 | 
					WORKDIR /home/user
 | 
				
			||||||
 | 
					ENV ASAN_SYMBOLIZER_PATH=/usr/lib/llvm-3.9/bin/llvm-symbolizer
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,6 +18,7 @@ RUN apt-get update && \
 | 
				
			||||||
        libgomp1 \
 | 
					        libgomp1 \
 | 
				
			||||||
        libomp5 \
 | 
					        libomp5 \
 | 
				
			||||||
        libomp-dev \
 | 
					        libomp-dev \
 | 
				
			||||||
 | 
					        llvm-3.9 \
 | 
				
			||||||
        make \
 | 
					        make \
 | 
				
			||||||
        mono-devel \
 | 
					        mono-devel \
 | 
				
			||||||
        ninja-build \
 | 
					        ninja-build \
 | 
				
			||||||
| 
						 | 
					@ -35,4 +36,4 @@ RUN useradd -m user && \
 | 
				
			||||||
    echo 'user  ALL=(root) NOPASSWD: ALL' >> /etc/sudoers
 | 
					    echo 'user  ALL=(root) NOPASSWD: ALL' >> /etc/sudoers
 | 
				
			||||||
USER user
 | 
					USER user
 | 
				
			||||||
WORKDIR /home/user
 | 
					WORKDIR /home/user
 | 
				
			||||||
 | 
					ENV ASAN_SYMBOLIZER_PATH=/usr/lib/llvm-3.9/bin/llvm-symbolizer
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,6 +9,7 @@ if [ "X${ASAN_BUILD}" = "X1" ]; then
 | 
				
			||||||
  # Use suppression files
 | 
					  # Use suppression files
 | 
				
			||||||
  export LSAN_OPTIONS="print_suppressions=1,suppressions=${Z3_SRC_DIR}/contrib/suppressions/sanitizers/lsan.txt"
 | 
					  export LSAN_OPTIONS="print_suppressions=1,suppressions=${Z3_SRC_DIR}/contrib/suppressions/sanitizers/lsan.txt"
 | 
				
			||||||
  export ASAN_OPTIONS="print_suppressions=1,suppressions=${Z3_SRC_DIR}/contrib/suppressions/sanitizers/asan.txt"
 | 
					  export ASAN_OPTIONS="print_suppressions=1,suppressions=${Z3_SRC_DIR}/contrib/suppressions/sanitizers/asan.txt"
 | 
				
			||||||
 | 
					  : ${ASAN_SYMBOLIZER_PATH?"ASAN_SYMBOLIZER_PATH must be specified"}
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [ "X${UBSAN_BUILD}" = "X1" ]; then
 | 
					if [ "X${UBSAN_BUILD}" = "X1" ]; then
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue