Comment #5 on issue 106 by
ramosian...@gmail.com: check failed:
proc_self_maps_buff_len_
http://code.google.com/p/address-sanitizer/issues/detail?id=106
Looks like you're hitting the seccomp BPF sandbox (I'm not really sure if
the name is correct), which requires kernel support that has appeared in
Precise (12.04)
Here's what happens:
#10915 0x00007f3ac7e349c9 in __sanitizer::CheckFailed(char const*, int,
char const*, unsigned long long, unsigned long long) ()
#10916 0x00007f3ac7e37d3b in __sanitizer::ProcessMaps::ProcessMaps() ()
#10917 0x00007f3ac7e3554b in __asan::AsanStackTrace::PrintStack(unsigned
long*, unsigned long) ()
#10918 0x00007f3ac7e349c9 in __sanitizer::CheckFailed(char const*, int,
char const*, unsigned long long, unsigned long long) ()
#10919 0x00007f3ac7e37d3b in __sanitizer::ProcessMaps::ProcessMaps() ()
#10920 0x00007f3ac7e3554b in __asan::AsanStackTrace::PrintStack(unsigned
long*, unsigned long) ()
#10921 0x00007f3ac7e33ed3 in __asan::ReportSIGSEGV(unsigned long, unsigned
long, unsigned long, unsigned long) ()
#10922 0x00007f3ac7e3c1c6 in __asan::ASAN_OnSIGSEGV(int, siginfo*, void*) ()
#10923 <signal handler called>
#10924 0x00007f3ac3c8b96a in (anonymous
namespace)::CrashSIGSYS_Handler(playground2::arch_seccomp_data const&,
void*) ()
#10925 0x00007f3ac6b41f17 in playground2::Sandbox::sigSys(int, siginfo*,
void*) ()
#10926 <signal handler called>
#10927 __pthread_getaffinity_new (th=<optimized out>, cpusetsize=32,
cpuset=0x7f3ab3604080)
at ../nptl/sysdeps/unix/sysv/linux/pthread_getaffinity.c:38
#10928 0x00007f3aba166b10 in pthread_getattr_np (thread_id=139890003711744,
attr=0x7f3aadfa8b78) at pthread_getattr_np.c:153
#10929 0x00007f3ac7e373cf in __sanitizer::GetThreadStackTopAndBottom(bool,
unsigned long*, unsigned long*) ()
#10930 0x00007f3ac7e35ec3 in __asan::AsanThread::Init() ()
#10931 0x00007f3ac7e3604c in __asan::AsanThread::ThreadStart() ()
#10932 0x00007f3aba164e9a in start_thread (arg=0x7f3aadfa9700) at
pthread_create.c:308
#10933 0x00007f3ab84fe4bd in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10934 0x0000000000000000 in ?? ()
ASan calls __NR_sched_getaffinity, which is restricted by the sandbox (see
http://code.google.com/searchframe#OAMlx_jo-ck/src/content/common/sandbox_seccomp_bpf_linux.cc),
then it receives a SIGSYS handler, which makes ASan print the stack trace.
Because ASan then tries to call __NR_open, which also fails under the
sandbox, the program falls into the endless recursion
(open("/proc/self/maps") returns -1 -> call CheckFailed ->
open("/proc/self/maps") again)
The short-term solution for you is to run Chrome with the --no-sandbox
commandline flag. We'll try to work out something more feasible.