[jboss-jira] [JBoss JIRA] Commented: (JBAS-4052) NPE in RepositoryClassLoader when loading BouncyCastle

Adrian Brock (JIRA) jira-events at lists.jboss.org
Mon Mar 26 11:41:02 EDT 2007


    [ http://jira.jboss.com/jira/browse/JBAS-4052?page=comments#action_12357320 ] 
            
Adrian Brock commented on JBAS-4052:
------------------------------------

The only bug here is in the error reporting.

The classloader has no link to the repository because it has been undeployed.
The code needs fixing to give a more reasonable error message, rather NPE.

RepositoryClassLoader:

   protected Class findClass(String name) throws ClassNotFoundException
   {
+      if (repository == null)
+         throw new ClassNotFoundException("Attempt to use classloader after it has been undeployed, make sure you recycle all dependent deployments when redeploying a jar, classloader=" + this);

// This is line 620 in 4.0.5.GA
      Translator translator = repository.getTranslator();

See: http://wiki.jboss.org/wiki/Wiki.jsp?page=ClassLoadingOverview


> NPE in RepositoryClassLoader when loading BouncyCastle
> ------------------------------------------------------
>
>                 Key: JBAS-4052
>                 URL: http://jira.jboss.com/jira/browse/JBAS-4052
>             Project: JBoss Application Server
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: ClassLoading
>    Affects Versions: JBossAS-4.0.5.GA
>            Reporter: Jon Stevens
>         Assigned To: Scott M Stark
>
> Occasionally, I will get the exception below when trying to load the bouncy castle library. One would think it is a problem in BC, except for the fact that the NPE is clearly coming from JBoss's RepositoryClassLoader.
> The hard part about this bug is that it happens some of the time and not other times. It's been impossible to reliably reproduce. Restarting the appserver/jvm causes the problem to go away and everything works just fine, but eventually it will happen again. 
> BC is being started in a @Service Bean. The start() method looks like this:
> 	public void start() throws Exception
> 	{
> 		Security.addProvider(new BouncyCastleProvider());
> 	}
> Has anyone else seen this problem?
> Caused by: java.security.NoSuchAlgorithmException: No such algorithm: AES/CBC/PKCS5Padding
>         at javax.crypto.Cipher.getInstance(DashoA13*..)
>         at javax.crypto.Cipher.getInstance(DashoA13*..)
>         at com.kink.heart.biz.system.EncryptorBean.encrypt(EncryptorBean.java:349)
>         ... 73 more
> Caused by: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: AES, provider: BC, class: org.bouncycastle.jce.provider.JCEBlockCipher$AES)
>         at java.security.Provider$Service.newInstance(Provider.java:1201)
>         ... 76 more
> Caused by: java.lang.NullPointerException
>         at org.jboss.mx.loading.RepositoryClassLoader.findClass(RepositoryClassLoader.java:620)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
>         at org.jboss.mx.loading.RepositoryClassLoader.loadClassImpl(RepositoryClassLoader.java:464)
>         at org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.java:405)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>         at java.security.Provider$Service.getImplClass(Provider.java:1218)
>         at java.security.Provider$Service.newInstance(Provider.java:1176)
>         ... 76 more

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list