mtbc: maze I (white-red)
[personal profile] mtbc
Today I worked on a problem where Thing happens but if I do a Prevention before what triggers Thing then all is fine. I did a successful Prevention in place X then it was suggested to me that it would be better if I did Prevention in place Y instead, a method of a Java class from a different JAR. I thought that this would be fine but it failed to prevent the Thing.

I spent a fair bit of time today verifying that Prevention at Y still happens before Thing, learning all about the background of what goes on with Thing, looking for other causes of Thing, other ways to prevent it, etc. Perhaps more promptly I should have attended to the simpler question: If Prevention at X works yet Prevention at Y does not then, regardless of that they both happen before Thing, what about at other places between X and Y?

I realized that an automated bisection tool would have been very helpful: even across JARs, move the Prevention to different parts of the code path from which X first reaches Y to find Z, the intermediate point before which the Prevention must happen. The nature of that Z could be most revealing. It being Java one can easily instrument the virtual machine to discover what that code path is.

Fortunately I had a thought about what might stop Prevention from working then found one in between X and Y that experimentation strongly suggests is indeed such a Z. That discovery was a nice way to end the week.

Update: For those who are interested: Thing was an SSL exception, Prevention adjusted the TLS configuration affecting SSLEngine, Z was the location of a non-TLS web interaction with an http://… URL.

Profile

mtbc: photograph of me (Default)
Mark T. B. Carroll

December 2025

S M T W T F S
 12 3456
78910111213
14 15161718 19 20
21222324252627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 30th, 2025 12:18 am
Powered by Dreamwidth Studios