On Fri, Dec 08, 2017 at 01:58:25AM +0100, Marc-André Lureau wrote: > Not strictly necessary, but it may help ASAN and remove some false > positives. > > Sadly, this annotation produces an ASAN error: > > $ tests/test-coroutine -p /basic/lifecycle > /basic/lifecycle: ==27655==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! > ==27655==AddressSanitizer CHECK failed: /builddir/build/BUILD/compiler-rt-4.0.1.src/lib/asan/asan_poisoning.cc:38 "((AddrIsAlignedByGranularity(addr + size))) != (0)" (0x0, 0x0) > #0 0x55d1e4e8a695 in __asan::AsanCheckFailed(char const*, int, char const*, unsigned long long, unsigned long long) (/home/elmarco/src/qq/build/tests/test-coroutine+0x1c0695) > #1 0x55d1e4ea6235 in __sanitizer::CheckFailed(char const*, int, char const*, unsigned long long, unsigned long long) (/home/elmarco/src/qq/build/tests/test-coroutine+0x1dc235) > #2 0x55d1e4e82ea4 in __asan::PoisonShadow(unsigned long, unsigned long, unsigned char) (/home/elmarco/src/qq/build/tests/test-coroutine+0x1b8ea4) > #3 0x55d1e4dde1e7 in __asan::FakeStack::Destroy(int) (/home/elmarco/src/qq/build/tests/test-coroutine+0x1141e7) > #4 0x55d1e528b775 in qemu_coroutine_switch /home/elmarco/src/qq/util/coroutine-ucontext.c:219:9 > #5 0x55d1e528b18d in coroutine_trampoline /home/elmarco/src/qq/util/coroutine-ucontext.c:114:9 > #6 0x7fb3e0087bef (/lib64/libc.so.6+0x50bef) Looks like a step in the right direction.