Le 11/07/2013 06:09, Charles Oliver Nutter a écrit :
Maybe a solution could be an annotation to mark calls to not
appear in any stacktrace?
Personally, I'd love to see *any* way to teach JVM about
language-specific stack traces. Currently JRuby post-processes
exception traces to mine out compiled Ruby lines and transform
interpreter frames into proper file:line pairs. A way to say "at this
point, call back my code to build a StackTraceElement" would be very
useful across languages.
Of course, omitting from stack trace has very little to do with
stack-walking frame inspection tricks like CallerSensitive.
+1 the solution to annotate classes so that they are "transparent" to
the stack frames, combined with @CallerSensitive, is likely to fix our
problem (unless Jochen remembers if there was really a problem with it).
But that's the future.
We're facing a serious problem: we already have a bug report using
openjdk 1.7.0_25, and if the removal is really intended to go into
1.7u40, Groovy will just be broken. This is something that needs to be
considered seriously. For example, @Grab, our dependency download tool
which works in scripts depends on getCallerClass. It's a major feature
that would be broken. The bug I'm talking about which has been reported
a few days ago is about ResourceBunder.getBundle which nows trigger an
infinite loop if used in Groovy. (Unfortunately, we couldn't reproduce
locally since we need to build an older jdk version, this takes a bit of
time). We are really happy to discuss an alternative for JDK 8, but it's
too soon to remove in JDK7, because as we said, there's no alternative!
The only reasonable explanation I can find for removing
getCallerClass(int) from JDK 1.7u40 is a major security issue. If
there's not, please reconsider it, or Groovy will be broken (if anyone
sees how we can replace it today with a solution that would work on jdks
5 -> 7, we're happy to consider it). There are lots of applications in
production with Groovy and Grails and starting to see them fail after a
JDK update would be a total disaster.
Thanks!
--
Cédric Champeau
SpringSource - Pivotal
http://www.springsource.org/
http://www.gopivotal.com/
http://twitter.com/CedricChampeau
_______________________________________________
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev