The filtering routine was designed to stop the plumbing of matchers and suchlike showing up, but the stack we have looks like this
user frame
test frame
user frame
user frame
The stack the first pass filter has looks like this
main()
test frame
test frame
test frame
user frame
test frame
user frame
user frame
and it's logic is to cut down to the first user frame, which it does successfully.
So we need to reevaluate what this second pass filtering is trying to do conceptually. I'm inclined to turn this second pass filter off by default until we address this, as I suspect it crops up subtlely at the moment and most people just go wtf.
Ok, so I think this is whats happening.
The filtering routine was designed to stop the plumbing of matchers and suchlike showing up, but the stack we have looks like this
user frame
test frame
user frame
user frame
The stack the first pass filter has looks like this
main()
test frame
test frame
test frame
user frame
test frame
user frame
user frame
and it's logic is to cut down to the first user frame, which it does successfully.
So we need to reevaluate what this second pass filtering is trying to do conceptually. I'm inclined to turn this second pass filter off by default until we address this, as I suspect it crops up subtlely at the moment and most people just go wtf.