matt massie wrote:
steve-
this has been addressed in 2.5.0 (the CVS now). in 2.4.x gmond it was
possible to crash it by closing the connection at the right time.
Now that you mention it, I remember you posting about that. Doh.
my workaround was to create the xml_print() function (which in 2.5.0 i
renamed the "buffrd_print"). the error return for xml_print() in 2.4.1
was not handled correctly. i'm embarrased how bad ./gmond/server.c is for
2.4.1 when i look at it.
You should see my first big Perl script. Never got around to rewriting it,
and it just kept growing and growing ... *shudder*
i've changed the code significantly in 2.5.0. please let me know if you
can crash a 2.5.0 gmond and how you are able to. i think it much more
bullet-proof but don't trust everything i think. i've taken 2.5.0 gmond
and hammered it with requests and closed client prematurely and it's been
pretty solid.
Well, I'm kind of stuck with 2.4.1 unless I go out and upgrade 250 machines
to 2.5.0. The best I can do is hack up the 2.5.0 metric hash to resemble
2.4.1 and run that instead. I gave this a shot earlier but I didn't quite
get it right... [doh!]
Or I guess I could spackle in 2.5.0's server.c into the 2.4.1 source
tree... hmmm.
to be honest, we should find/build a test suite that beats the hell out of
what we build to ensure the quality is good.
I thought all we needed to test was how quickly/efficiently it processes
metrics and XML dump requests. That sounds like a program that can be
hacked together using some libganglia calls.
But I ain't doin' it. :P
i've been so quiet today because i went flying (i'm working on my private
pilot certification). i flew a katana for the first time today and
decided it's the training plane for me (before i was flying 152s and
172s). my favorite part was flying along the coast near half moon bay (it
was a red tide) and a full-flap decent from 3000 to 1500 feet to get below
SFO bravo airspace. it felt like i was bomb-diving the node was pointed
so far down.
We armchair recovering-flightsim-players call it "dive-bombing." :P