The api-3 testcase devotes most of its available stack space to a test
buffer, leaving only a small amount (COROUTINE_MIN_STKSZ) for the actual
stack usage of the coroutine.
It turns out that the ccan/tap diag() function can - depending on compiler
version and flags, and on whether diagnostics are enabled - exceed that
limited stack space.  That leads to a stack overrun, and in turn corruption
of the parent routine's stack, generating unpredictable and hard to debug
SEGVs.
At present, this bug seems to be tripped by clang-3.8 when diagnostic
messages are printed.
This removes the troublesome diag() call.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
                buf[i] = random() & 0xff;
        }
 
-       diag("Wrote random to buffer\n");
-
        s->total = 0;
        for (i = 0; i < sizeof(buf); i++) {
                s->total += buf[i];