Proposed: testsuite segfaults on ARM64

Bug #1946202 reported by Alexandre Ghiti
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
llvm-toolchain-9 (Ubuntu)
Invalid
Undecided
Unassigned
pocl (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

A recent rebuild of this package in proposed led to multiple failures on ARM/ARM64. The only differences between release (where it builds fine) and proposed are:

- llvm upgrade from 1:9.0.1-16.1ubuntu1 to 1:9.0.1-20
- glibc upgrade from 2.34-0ubuntu2 to 2.34-0ubuntu3

After debugging a test that segfaults, it seems to be an LLVM issue though, below the backtrace:

Thread 1 "test_shuffle" received signal SIGSEGV, Segmentation fault.

0x0000fffff296d868 in llvm::StringMapImpl::FindKey(llvm::StringRef) const () from /usr/lib/llvm-9/lib/libLLVM-9.so.1
(gdb) bt
#0 0x0000fffff296d868 in llvm::StringMapImpl::FindKey(llvm::StringRef) const
() from /usr/lib/llvm-9/lib/libLLVM-9.so.1
#1 0x0000fffff2acc148 in llvm::Module::getNamedMetadata(llvm::Twine const&) const () from /usr/lib/llvm-9/lib/libLLV
M-9.so.1
#2 0x0000fffff2acc3e0 in llvm::Module::getModuleFlagsMetadata(llvm::SmallVectorImplllvm::Module::ModuleFlagEntry&)
const ()
from /usr/lib/llvm-9/lib/libLLVM-9.so.1
#3 0x0000fffff2acc584 in llvm::Module::getModuleFlag(llvm::StringRef) const ()
from /usr/lib/llvm-9/lib/libLLVM-9.so.1
#4 0x0000fffff7ac5600 in pocl_llvm_build_program (
program=program@entry=0xaaaaaaad92d0, device_i=device_i@entry=0,
user_options_cstr=<optimized out>,
program_bc_path=program_bc_path@entry=0xfffffffff038 "_global const char16 *in2, __global const uchar16 *mask, __
global char16 out) {\nout = shuffle2( *in1, *in2, *mask);\n}\n", num_input_headers=num_input_headers@entry=65535,
input_headers=input_headers@entry=0xffffffffee40,
header_include_names=header_include_names@entry=0x0,
linking_program=linking_program@entry=-135488132)
at /usr/lib/llvm-9/include/llvm/ADT/StringRef.h:82
#5 0x0000fffff7a52864 in compile_and_link_program (
compile_program=compile_program@entry=1,
link_program=link_program@entry=1, program=<optimized out>,
num_devices=<optimized out>, device_list=<optimized out>,
--Type <RET> for more, q to quit, c to continue without paging--
options=<optimized out>, num_input_headers=num_input_headers@entry=0,
input_headers=input_headers@entry=0x0,
header_include_names=<optimized out>, header_include_names@entry=0x0,
num_input_programs=<optimized out>, num_input_programs@entry=0,
input_programs=<optimized out>, input_programs@entry=0x0,
pfn_notify=<optimized out>, user_data=<optimized out>)
at ./lib/CL/pocl_build.c:651
#6 0x0000fffff7a51c50 in POclBuildProgram (program=<optimized out>,
num_devices=<optimized out>, device_list=<optimized out>,
options=<optimized out>, pfn_notify=<optimized out>,
user_data=<optimized out>) at ./lib/CL/clBuildProgram.c:37
#7 0x0000aaaaaaaa3810 in TestShuffle<signed char, unsigned char>::run (
this=this@entry=0xfffffffff480) at ./tests/kernel/test_shuffle.cc:303
#8 0x0000aaaaaaaa21ec in main (argc=<optimized out>, argv=0xfffffffff9e8)
at ./tests/kernel/test_shuffle.cc:360

Tags: fr-1848
Revision history for this message
Alexandre Ghiti (alexghiti) wrote :

I downgraded llvm to 1:9.0.1-16.1ubuntu1 and the test passes without any segfault.

Revision history for this message
Alexandre Ghiti (alexghiti) wrote :

Pocl 1.8-1 is still blocked in proposed because it also fails to build (on arm64 at least) when upgrading from 1:9.0.1-16.1ubuntu1 to 1:9.0.1-20ubuntu2.

tags: added: fr-1848
Revision history for this message
Alexandre Ghiti (alexghiti) wrote :

Pocl 1.8-3 depends on llvm-toolchain-11, so this bug is not relevant anymore.

Changed in pocl (Ubuntu):
status: New → Invalid
Changed in llvm-toolchain-9 (Ubuntu):
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.