pcp
[Top] [All Lists]

Re: [pcp] QA Status Update

To: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Subject: Re: [pcp] QA Status Update
From: Nathan Scott <nathans@xxxxxxxxxx>
Date: Thu, 11 Feb 2016 00:12:37 -0500 (EST)
Cc: pcp@xxxxxxxxxxx
Delivered-to: pcp@xxxxxxxxxxx
In-reply-to: <56B8F3A3.5050303@xxxxxxxxxxxxxxxx>
References: <56B8F3A3.5050303@xxxxxxxxxxxxxxxx>
Reply-to: Nathan Scott <nathans@xxxxxxxxxx>
Thread-index: fqVJjR+a2LGptPUV9ISIP2UsjQIjjg==
Thread-topic: QA Status Update

----- Original Message -----
> Details for the most commonly failing tests are available from
> ftp://oss.sgi.com/projects/pcp/download/qa-status/
> 

(this is great, thanks Ken).

> === Synopsis ===
> 
> QA Status from Ken McDonell's QA Farm in Melbourne
> 
> Summary: 23344 run, 31 failed (0.13%)
> 
> QA Test  Fail  Failure Signatures (number of different failure patterns)
>     878    10  6 2 2

These appear to be race conditions - I've pushed through a handful of
changes to make things more reliable on slower hosts, let's see how
that goes.

>     802     5  5

This one's odd - appears to be new this week, but there's nothing I can
think of since the previous run that would have induced this (dbpmda is
seeing a timeout on PMDA start?) ... something in libpcp?  Surely not.

This is the bad diff... (errors originating from dbpmda/src/pmda.c)

> Error: __pmGetPDU() failed: No such PMAPI error code (28684)
6a7,8
> __pmGetPDU(11): Timeout waiting for a response from PMCD

static void
pmdaversion(void)
{
    int         sts;
    __pmPDU     *ack;
    int         pinpdu;

    pinpdu = sts = __pmGetPDU(infd, ANY_SIZE, _creds_timeout, &ack);
    if (sts == PDU_CREDS) {
        if ((sts = agent_creds(ack)) < 0) {
            fprintf(stderr, "Warning: version exchange failed "
                "for PMDA %s: %s\n", myPmdaName, pmErrStr(sts));
        }
    }
    else {
        if (sts < 0)
            fprintf(stderr, "__pmGetPDU(%d): %s\n", infd, pmErrStr(sts));
        else
            fprintf(stderr, "pmdaversion: expecting PDU_CREDS, got PDU type 
%d\n", sts);


(gdb) p /x 28684
$1 = 0x700c

grep 0x700c src/include/pcp/impl.h 
#define PDU_CREDS               0x700c

M'kay - so thats a/ not negative (how did we get into that first
else branch?) and b/ *is* PDU_CREDS! (how did we not go into the
sts==PDU_CREDS code path in the first place?)

Confused.  Am I missing something there?  Compiler bug???

cheers.

--
Nathan

<Prev in Thread] Current Thread [Next in Thread>