Bug 374482 - the 'impossible' happened: run_innerloop detected host state invariant failure
Summary: the 'impossible' happened: run_innerloop detected host state invariant failure
Status: RESOLVED DUPLICATE of bug 375171
Alias: None
Product: valgrind
Classification: Developer tools
Component: general (show other bugs)
Version: 3.12.0
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Julian Seward
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-01-03 08:56 UTC by Rick R.
Modified: 2017-03-06 16:40 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
dpkg --get-selections output for the 14.04 userspace (47.78 KB, text/plain)
2017-01-03 08:56 UTC, Rick R.
Details
'dpkg -l' output from the container (241.50 KB, text/plain)
2017-01-03 08:59 UTC, Rick R.
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Rick R. 2017-01-03 08:56:10 UTC
Created attachment 103159 [details]
dpkg --get-selections output for the 14.04 userspace

The execution environment is a 32bit Docker container with an Ubuntu 14.04 userspace (via Ubuntu Core project). The host is a 64 bit installation of Ubuntu 16.04. The system kernel was recently updated from 4.8.1 to 4.9. Various container packages were recently updated via `apt-get upgrade`.

$ valgrind --tool=none /bin/false
==13039== Nulgrind, the minimal Valgrind tool
==13039== Copyright (C) 2002-2015, and GNU GPL'd, by Nicholas Nethercote.
==13039== Using Valgrind-3.12.0 and LibVEX; rerun with -h for copyright info
==13039== Command: /bin/false
==13039== 
valgrind: m_scheduler/scheduler.c:1611 (vgPlain_scheduler): the 'impossible' happened.
valgrind: VG_(scheduler), phase 3: run_innerloop detected host state invariant failure

host stacktrace:
==13039==    at 0x380B4116: show_sched_status_wrk (m_libcassert.c:343)
==13039==    by 0x380B4256: report_and_quit (m_libcassert.c:419)
==13039==    by 0x380B437B: vgPlain_assert_fail (m_libcassert.c:485)
==13039==    by 0x3805AD9A: vgPlain_scheduler (scheduler.c:1609)
==13039==    by 0x3806CE86: run_a_thread_NORETURN (syswrap-linux.c:103)

sched status:
  running_tid=1

Thread 1: status = VgTs_Runnable (lwpid 13039)
==13039==    at 0x4007FEA: _dl_map_object (dl-load.c:2317)
==13039==    by 0x400133E: map_doit (rtld.c:626)
==13039==    by 0x400EC05: _dl_catch_error (dl-error.c:187)
==13039==    by 0x40008B0: do_preload (rtld.c:815)
==13039==    by 0x4003F66: dl_main (rtld.c:1629)
==13039==    by 0x4014F5A: _dl_sysdep_start (dl-sysdep.c:249)
==13039==    by 0x40049DA: _dl_start (rtld.c:331)
==13039==    by 0x40010D6: ??? (in /lib/i386-linux-gnu/ld-2.19.so)

$ valgrind --version
valgrind-3.12.0  # author note: source install via valgrind-3.12.0.tar.bz2

$ getconf LONG_BIT
32

$ uname -m 
x86_64

$ ldd --version
ldd (Ubuntu EGLIBC 2.19-0ubuntu6.9) 2.19

$ gcc --version
gcc (Ubuntu/Linaro 4.6.4-6ubuntu2) 4.6.4

$ ld --version
GNU ld (GNU Binutils for Ubuntu) 2.24

I will endeavor to switch the machine back to kernel 4.8.1 and gauge impact.
Valgrind works as expected on the 16.04 host.
Comment 1 Rick R. 2017-01-03 08:59:54 UTC
Created attachment 103160 [details]
'dpkg -l' output from the container
Comment 2 Julian Seward 2017-03-06 16:24:23 UTC
This has been reported several times in the past couple of months.
It's (surprisingly) a kernel bug.  I'll try to find the relevant bug report.
Comment 3 Julian Seward 2017-03-06 16:40:25 UTC

*** This bug has been marked as a duplicate of bug 375171 ***