For me, sanitization is essentially to hide all the plumbing, and only keep my own user code on the surface, so that I know where in my code it started failing. So I tend to want more sanitization than less :-)
On Thu, Jun 23, 2022 at 3:29 AM Paul King <pa...@asert.com.au> wrote: > Hi folks, > > We've had a recent PR to add "jdk.internal" to the list of packages we > remove when sanitizing stacktraces: > > https://github.com/apache/groovy/pull/1727 > > We've also had a much earlier request to filter less aggressively, see: > > https://github.com/apache/groovy/pull/256 > https://issues.apache.org/jira/browse/GROOVY-7756 > > PR#1727 looks good to me but it seems worthwhile to consider both > requests if we are going to make a change. > > Current list: groovy., org.codehaus.groovy., java., javax., sun., > gjdk.groovy. > Suggested by #1727: groovy., org.codehaus.groovy., java., javax., > sun., gjdk.groovy., jdk.internal > Suggested by #256: groovy., org.codehaus.groovy., java.lang.reflect., > sun.reflect., gjdk.groovy. > > If we were going to include (most of) "java", then there is an > argument that you should include "groovy" as well. My current thinking > is something like below might work: > > Suggestion: org.codehaus.groovy., org.apache.groovy, > java.lang.reflect, sun., gjdk.groovy., jdk.internal. > > The original thinking behind excluding "java." was that if you had a > script with e.g. Strings and Lists, you didn't really need to know > whether you had Java implemented data types or something supplied by > Groovy. While this is still a worthwhile goal, in reality most folks > need to know those datatypes pretty quickly, so hiding them away isn't > super beneficial. > > I also discovered that Grails uses a list something like this: > "org.codehaus.groovy.runtime.", "org.codehaus.groovy.reflection.", > "org.codehaus.groovy.ast.", > "org.springframework.web.filter", "org.springframework.boot.actuate", > "org.mortbay.", > "groovy.lang.", "org.apache.catalina.", "org.apache.coyote.", > "org.apache.tomcat.", > "net.sf.cglib.proxy.", "sun.", "java.lang.reflect.", > "org.springframework.boot.devtools.", > "org.springsource.loaded.", "com.opensymphony.", "javax.servlet." > > In terms of branches, I was thinking of Groovy 5 only and probably > back-ported to 4. > > And just a reminder, there is a "groovy.sanitized.stacktraces" system > property, so folks can change this if they really want. > > What do others think? > > Cheers, Paul. > -- Guillaume Laforge Apache Groovy committer Developer Advocate @ Google Cloud Platform Blog: http://glaforge.appspot.com/ Twitter: @glaforge <http://twitter.com/glaforge>