commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary D. Gregory (JIRA)" <>
Subject [jira] [Commented] (LANG-744) StringUtils throws on Google App Engine
Date Mon, 12 Sep 2011 12:53:12 GMT


Gary D. Gregory commented on LANG-744:

The question is to myself or anyone willing to dig in to JAAS. It should not hold up a release.

What I am wondering is this: Is it technically possible to change JAAS permissions at runtime
such that the code now in the static initializer could fail and then later, pass.

It might be a far fetched scenario, I am not sure, but JAAS has a some pluggable pieces.

I am pointing this out because we are low level library and we should do our best not to lock
out a feature if we don't have to. 

Our code could be changed later to move the check or in the actual method that needs it instead
of the class initializer.

> StringUtils throws on Google App Engine
> ----------------------------------------------------------------------------
>                 Key: LANG-744
>                 URL:
>             Project: Commons Lang
>          Issue Type: Bug
>          Components: lang.*
>    Affects Versions: 3.0.1
>         Environment: Google App Engine
>            Reporter: Clément Denis
>             Fix For: 3.0.2
> In the static initializer of org.apache.commons.lang3.StringUtils, there is an attempt
to load the class sun.text.Normalizer.
> Such a class is prohibited on Google App Engine, and the static intializer throws a
> {code}
> Caused by: access denied (java.lang.RuntimePermission
> 	at
> 	at
> 	at java.lang.SecurityManager.checkPermission(
> 	at$CustomSecurityManager.checkPermission(
> 	at java.lang.SecurityManager.checkPackageAccess(
> 	at java.lang.Class.checkMemberAccess(
> 	at java.lang.Class.getMethod(
> 	at org.apache.commons.lang3.StringUtils.<clinit>(
> {code}
> The exception should be caught in the catch clauses around loadClass("sun.text.Normalizer").
> Commons lang 2 worked fine on GAE.

This message is automatically generated by JIRA.
For more information on JIRA, see:


View raw message