pcp
[Top] [All Lists]

Re: [pcp] pmcd dumps core on containers test

To: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Subject: Re: [pcp] pmcd dumps core on containers test
From: Nathan Scott <nathans@xxxxxxxxxx>
Date: Thu, 12 Feb 2015 16:40:56 -0500 (EST)
Cc: PCP <pcp@xxxxxxxxxxx>
Delivered-to: pcp@xxxxxxxxxxx
In-reply-to: <54DD020E.5000208@xxxxxxxxxxxxxxxx>
References: <54DBC8A0.8010805@xxxxxxxxxxxxxxxx> <911908095.3825780.1423693506632.JavaMail.zimbra@xxxxxxxxxx> <54DBDAC2.5020204@xxxxxxxxxxxxxxxx> <245733123.4207829.1423733264690.JavaMail.zimbra@xxxxxxxxxx> <54DD020E.5000208@xxxxxxxxxxxxxxxx>
Reply-to: Nathan Scott <nathans@xxxxxxxxxx>
Thread-index: QW7V6E08rbudoNUDltn+SNegvlySrQ==
Thread-topic: pmcd dumps core on containers test

----- Original Message -----
> [...]
> Digging further, with all of the rest of libpcp_pmda compiled -O2, the
> problem appears and disappears depending on whether pduroot.c is compiled
> -O2 or not.

Oh wow, thanks for the detailed analysis & insight!!

> Hmm ... pduroot.c seems benign, but wait ... pduroot.h contains the pdu
> buffer typedef with a name[0] field ... this looks like a smoking gun.  If
> -O2 is confused by the pointer assignment and thinks pdu->name is of size 0
> and then checks before doing the inlined strncpy, then maybe KABOOM.
> 
> A small rework of pduroot.h and associated code in pduroot.c and we're
> laughing ... all the container QA tests pass.

Good stuff - thanks again Ken!

cheers.

--
Nathan

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