pcp
[Top] [All Lists]

Re: [pcp] pmie cannot get insance names for single instance metrics

To: kenj@xxxxxxxxxxxxxxxx
Subject: Re: [pcp] pmie cannot get insance names for single instance metrics
From: Max Matveev <makc@xxxxxxxxx>
Date: Wed, 9 Jun 2010 00:24:10 +1000
Cc: pcp@xxxxxxxxxxx
In-reply-to: <1275785369.6627.1066.camel@xxxxxxxxxxxxxxxx>
References: <19464.38264.9175.258233@xxxxxxxxxxxx> <1275785369.6627.1066.camel@xxxxxxxxxxxxxxxx>
On Sun, 06 Jun 2010 10:49:29 +1000, Ken McDonell wrote:

 kenj> I think SEGV and ??? unknown are different symtoms for the same
 kenj> problem ... botched pointer use in the expression tree.
They're most likely - I was trying to trip pmie indo SEGV by killing
pmcd most ungracefully while pmie was dosing off between fetches and
observing tspan going crazy but it didn't segv, using single instance
metrics was more reproducible.

 >> If I change primary() to not pick arguments of NOP type I get the
 >> "correct" result.

 kenj> I don't think this is the correct fix ... see my earlier patch.
I didn't see how the first change to use tspan from arg1 was fixing
the problem of rippling the wrong tspan up the expression tree by selection
the "wrong" branch to ripple up.

 >> Ken, what's the idea of using tspan and nvals of arguments which
 >> have size of string in there instead of number of metrics?

 kenj> The "node" in the expression tree is a Pascal variant record dosed with
 kenj> steroids and EPO ... tspan is a synonym for string length in the case of
 kenj> a constant string (sem == SEM_CHAR).
I find this very confusing - in most other places tspan seems to be
used to count number of instances and therefor truth bits in the
instance array, why use it to encode string length in the first place?

 kenj> What was matginally wrong until my second round of fixes was
 kenj> that nvals and nsmpls were strangely not 1 for string
 kenj> constants, and then the value of a regex quitely got turned
 kenj> from a string into a compiled regex with nothing in the
 kenj> expression node to suggest this had happened.
I think the change of setting tspan to 1 when converting string to
regex is the key to fixing the problem.

 kenj> I think this is all fixed now ... please let me know if you see any
 kenj> repeats or other strangeness after my recent flurry of commits.
It worked so far.

max

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