fche changed the topic of #systemtap to: http://sourceware.org/systemtap; email systemtap@sourceware.org if answers here not timely, conversations may be logged
mjw has quit [Quit: Leaving]
khaled has quit [Quit: Konversation terminated!]
hpt has joined #systemtap
orivej has joined #systemtap
derek0883 has quit [Remote host closed the connection]
derek0883 has joined #systemtap
orivej has quit [Ping timeout: 256 seconds]
derek0883 has quit [Remote host closed the connection]
derek0883 has joined #systemtap
derek0883 has quit [Remote host closed the connection]
derek0883 has joined #systemtap
derek0883 has quit [Remote host closed the connection]
irker525 has quit [Quit: transmission timeout]
derek0883 has joined #systemtap
khaled has joined #systemtap
derek0883 has quit [Remote host closed the connection]
derek0883 has joined #systemtap
derek0883 has quit [Remote host closed the connection]
hpt has quit [Ping timeout: 240 seconds]
derek0883 has joined #systemtap
derek0883 has quit [Ping timeout: 264 seconds]
mjw has joined #systemtap
orivej has joined #systemtap
orivej_ has joined #systemtap
orivej has quit [Ping timeout: 268 seconds]
orivej_ has quit [Ping timeout: 240 seconds]
orivej has joined #systemtap
tromey has joined #systemtap
derek0883 has joined #systemtap
derek0883 has quit [Remote host closed the connection]
derek0883 has joined #systemtap
derek0883 has quit [Ping timeout: 264 seconds]
derek0883 has joined #systemtap
derek0883 has quit [Remote host closed the connection]
derek0883 has joined #systemtap
derek0883 has quit [Remote host closed the connection]
derek0883 has joined #systemtap
<kerneltoast> fche, yo
<fche> you momma
<fche> what's up
<kerneltoast> i think you made an oopsie
<kerneltoast> so we merged the incredibly stable stap master branch
<kerneltoast> and then saw this happen:
<fche> what broke NOW
<kerneltoast> we have a test that generates an expected error
<kerneltoast> but with the merged stap, there's a duplicate error message which is kind of deranged
<fche> ship it
<kerneltoast> that line which you added in f29f23213cc9668fb6c54a34c815257b7cbeaf5c
<fche> yes, and it was a very good line indeed
<kerneltoast> the bestest
<fche> the very best
<kerneltoast> all the other lines are LOOSERS
<kerneltoast> we have the very BEST lines
<fche> or tiighters
<fche> um okay
<fche> so
<fche> can you share the .stp file ?
<kerneltoast> won't help because the .stp file i'm using makes use of a closed feature we have :}
<kerneltoast> i was hoping the issue might be obvious to you
<fche> well, that line is fine & necessary for whatever work triggered it
<fche> so something is different about your test case
<kerneltoast> maybe that line breaks the de-duplication stuff?
<kerneltoast> because the duplicate message varies slightly
<kerneltoast> it has "at :13:7" instead of "at test.stp:13:7"
<fche> that is normal, when we print messages with the same token filename, we skip it second+ time, in consecutive messages
<kerneltoast> ah ok
<fche> dupe detection should be inddependent of that part
derek0883 has quit [Remote host closed the connection]
<kerneltoast> hmm i'm not convinced it doesn't break dupe detection
<kerneltoast> but i don't have a .stp script to reproduce the issue on master so i can't blame you
<kerneltoast> what a conundrum
<fche> well try harder to reproduce it on master :)
<fche> put your shoulder into it, lad
<kerneltoast> fche, okay i got it reproduced on master
<fche> I knew you could do it
<fche> WAIT A MINUTE
<kerneltoast> i'm waiting a minute
<fche> "blamefche"
<kerneltoast> 56
<fche> well I never
<kerneltoast> 55
<kerneltoast> i don't know what you're talking about
<fche> aham
<kerneltoast> it clearly says "stringcheese"
<kerneltoast> perhaps your repeated runs on broken stap modules corrupted something in your system
<fche> that must be it
<kerneltoast> ok i think i found your oopsie
<fche> hm, does that help?
<kerneltoast> it fixes it
<fche> ISTM it should make the filtering predicate more restrictive rather than less
<kerneltoast> well you have the .stp script
<kerneltoast> try it out
<fche> yes I do
<kerneltoast> you have the power
<fche> ah I see what's going on, just one print_error call
<fche> so the cerr on line 2392 is run
<fche> then the chain is traversed
<fche> but the first iteration of that traversal is the very same semantic_error object
<fche> and since we check the 'wrong' seen_errors[] counter (not the one we just set on line 2391), we print the message again
<fche> kerneltoast, ok, your patch is good
<kerneltoast> wew
<fche> I can add a comment there after your patch, or you can
<kerneltoast> you can add it
<fche> ok, go and commit, I'll decorate
<kerneltoast> i had fun writing that but i have a strong feeling i shouldn't push it
<fche> harsh, man, harsh
<kerneltoast> i mean that previous commit was harsh
<kerneltoast> saying that a contributor trying to make stap better should never again be allowed near a computer
<kerneltoast> how cruel
derek0883 has joined #systemtap
<fche> ship it
<fche> it's fair
<fche> it's foul
<kerneltoast> less smear, more technical
<fche> I wouldn't put a full test case like that into the commit logs
<kerneltoast> ah ok
<kerneltoast> i thought it'd be convenient
<fche> heck I'd put a test case like that into the .... what's it called ....
<fche> um yeah
<fche> the testsuite
<kerneltoast> heh
<fche> ok in penance I'll do that for you
<kerneltoast> sounds like a fair trade
irker651 has joined #systemtap
<irker651> systemtap: sultan systemtap.git:master * release-4.4-40-g405f69a11 / session.cxx: session.cxx: fix print error dupe-elimination for chained errors
derek0883 has quit [Remote host closed the connection]
mjw has quit [Quit: Leaving]
<irker651> systemtap: fche systemtap.git:master * release-4.4-41-g82bba05e4 / testsuite/systemtap.base/regrediag.exp testsuite/systemtap.base/regrediag.stp: testsuite regrediag: new test for diagnostic duplication
<fche> ^^ kerneltoast, took too long, but next time duplicating that will be easy
tromey has quit [Quit: ERC (IRC client for Emacs 27.1)]
<kerneltoast> ahahaha
<kerneltoast> you actually kept it
<fche> hey why not
<kerneltoast> masochist
<fche> guilty as charged
derek0883 has joined #systemtap
derek0883 has quit [Remote host closed the connection]
derek0883 has joined #systemtap
mjw has joined #systemtap
<agentzh> good to see our test suite can also catch things :)
<agentzh> in the latest stap master i mean.
<agentzh> so we should merge often :)
<agentzh> like every new stap release at least.
<agentzh> now we're already 2 releases behind.
<fche> SLACKER
<agentzh> so big merge for us.
<agentzh> :))
<agentzh> well, we've been cherry-picking...
<agentzh> until we can no longer.
<agentzh> diverged too much.
<agentzh> oh, just found another regression in stap master
<agentzh> kerneltoast will look into it.
<agentzh> also caught by our private test suite.
<agentzh> then we can merge the latest master.
<agentzh> it was in ubacktrace().
<agentzh> the error was always there, just exposed recently after we fixed the off-by-one bug.
<kerneltoast> writing the commit msg atm
<agentzh> fun to see how we use another bug to hide a bug.
<agentzh> yay
<fche> yo dawg, I heard you liked bugs
<agentzh> no, never.
<fche> so we put some bugs on our bugs to make bugs buggy bugg buggest buggs
<kerneltoast> agentzh, our entire business model depends on bugs though :P
<fche> many such cases
<kerneltoast> no bugs == no business == unemployedtoast
<irker651> systemtap: sultan systemtap.git:master * release-4.4-42-g3d888f650 / runtime/stack.c: PR26844: remove trailing space from printed backtraces
<agentzh> kerneltoast: lol
<agentzh> okay, well, i just don't like bugs in our own code.
<agentzh> excited to see bugs in our customers' code, definitely.
<kerneltoast> luckily stap is not our code so we can just blame fche for all our problems
<fche> kerneltoast, about that change .... explain please
<agentzh> good point.
<fche> _STP_SYM_POST_SPACE says to add a space
<kerneltoast> _STP_SYM_POST_SPACE is to add a space after each line
<kerneltoast> err
<kerneltoast> after each backtrace entry
<fche> and?
<kerneltoast> like so: [0x402910 0x7f32dbd9a555 0xa324324 0x3423432]
<kerneltoast> each one has a space after it
<kerneltoast> but
<kerneltoast> you'd actually get this: [0x402910 0x7f32dbd9a555 0xa324324 0x3423432 ]
<fche> so each one has a space after it
<fche> heheh
<kerneltoast> because the code handling _STP_SYM_POST_SPACE doesn't know which entry is the end
<agentzh> it used to be without the trailing space.
<kerneltoast> so it just chucks the space on
<agentzh> an extra space in the end breaks things.
<agentzh> at least break what stap used to be...
<kerneltoast> ^ what agentzh said. this replicates stap's old behavior
<fche> yeah I don't think that patch is really that wise - plus e.g. it would not nuke a \n at the end
<fche> we don't expose those flags, but the code does behave according to the strict wording of the littel informal spec
<agentzh> so we should nuke \n too?
<fche> and it does not say "space separated", it says "space following"
<agentzh> for ubacktrace(), an extra trailing space may confuse some splitter, for practical reasons.
<agentzh> leading to an extra empty string in the end, for example.
<agentzh> so making it a separate is wiser?
<agentzh> *separator
<fche> yeah let's first revert this patch, since it's not consistent with docs etc
<agentzh> and also it won't break backward compatibility.
<kerneltoast> docs weren't consistent with actual behavior for years though
<fche> if we're going to fix it let's fix it - that's just too wallapapery even for me
<kerneltoast> so what's the plan
<kerneltoast> trailing whitespace is yucky
<kerneltoast> update the docs and eliminate all trailing whitespace?
mjw has quit [Quit: Leaving]
<agentzh> kerneltoast: i think that's what fche suggested.
<agentzh> fixing docs and make it a separator for space and newline (and possibly other things).
<agentzh> *making
<agentzh> fche: right?
<agentzh> i'm fine with the separator way.
<agentzh> as long as it does not add a trailing space...
<agentzh> a trailing space is really creepy.
<fche> you can't even SEE IT!
<fche> how can you be creeped out by it
<fche> aw man
<agentzh> because we may match on it by programs.
<agentzh> and a unseeable space can be hard to debug.
<agentzh> *an
<agentzh> that is creepy ;)
<agentzh> and a naive split may result in an trailing empty string entry too.
<agentzh> as mentioned above.
<fche> pretty sure the tokenize() function we provide skips it fine
<agentzh> but the user may process the output externally.
<agentzh> instead of directly inside the stap script.
<fche> I get that but really we don't document a very strict format, so the consumer should be loose too
<fche> andif we did want to provide a tighter format promise, I'd try to accomplish that with more robustness and closer to the user API than a low level function hack like that patch did
<agentzh> yeah we can do that better by using proper separators.
<kerneltoast> i think trailing whitespace is never expected in a loose format
<agentzh> that patch should be reworked.
<fche> suggest also changing your testsuite a bit so it swallows whitespace more delightfully
<agentzh> that's a terrible idea.
<agentzh> the output should be consistent
<agentzh> at least.
<agentzh> instead of being one thing in the morning, another thing in the evening
<agentzh> that's evil...
<fche> hey we might even capitalize the hex sometime
<agentzh> unnecessary underterminism.
<kerneltoast> so (in this case it is literally one thing in the morning and another thing in the evening because i pushed that patch)
<agentzh> *nondeterminism.
<fche> HOLY COW KERNELTOAST
<fche> you'll make agentzh so unhappy with all the change :)
<agentzh> well, you'll have a hard time updating your own test suite too.
<agentzh> not just me will be unhappy ;)
<fche> I don't think we do whitespace sensitive checking of [u]backtrace()
<agentzh> well, depending on how the pattern is written in the test case.
<agentzh> you never know.
<kerneltoast> one does not simply understand the almighty testsuite
<agentzh> if you always write your pattern in a too loose way, your test case may miss real garbage in the output which compromises the test itself.
<agentzh> it's always tradeoff.
<fche> anyway, I think we can agree that this last patch should be undone please
<agentzh> yes, agreed.
<kerneltoast> :(
<irker651> systemtap: sultan systemtap.git:master * release-4.4-43-ga21ac9684 / runtime/stack.c: Revert "PR26844: remove trailing space from printed backtraces"
<agentzh> btw, the off-by-one bug in printing was caught by checking the output strictly.
<agentzh> that's a real world proof of being strict in tests.
<agentzh> fche: so you're fine with making them separators?
<kerneltoast> err, i have no idea how to update the docs :)
<agentzh> kerneltoast: it's in the man/ and docs/ directories?
<agentzh> or just in the inline comments?
<agentzh> the tapset docs are extracted from the tapset code comments.
<agentzh> like javadoc.
<kerneltoast> not sure where fche's mention of "space following" is
<fche> runtime/sym.h-/* Postfixes a space character, takes precedence over _STP_SYM_NEWLINE. */
<fche> runtime/sym.h:#define _STP_SYM_POST_SPACE 128
<fche> that part is clear enough
<fche> but that's not the user visible api
* kerneltoast is still tired from being sick yesterday and needs to go take a rest
<fche> go for it
<fche> just be back here at 3AM for reveille
<agentzh> great, thanks
<agentzh> kerneltoast: take care.