[ 
https://issues.apache.org/jira/browse/DIRSERVER-1855?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13681224#comment-13681224
 ] 

Konrad Windszus commented on DIRSERVER-1855:
--------------------------------------------

The stacktrace posted above is from ApacheDS 2.0M7 but the same issue may occur 
also in the most recent version, as it still has the same code (although at a 
different location).
                
> java.lang.IllegalStateException: Can't overwrite cause at 
> org.apache.directory.server.core.authz.GroupCache.initialize(GroupCache.java:190)
> -------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DIRSERVER-1855
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1855
>             Project: Directory ApacheDS
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 2.0.0-M12
>            Reporter: Konrad Windszus
>            Priority: Critical
>
> We got the following exception stack trace after trying to start ApacheDS 
> from a backup:
> {code}
> 14:37:15] ERROR [org.apache.directory.server.wrapper.ApacheDsTanukiWrapper] - 
> Failed to start the service.
> java.lang.IllegalStateException: Can't overwrite cause
>         at java.lang.Throwable.initCause(Throwable.java:456)
>         at 
> org.apache.directory.server.core.authz.GroupCache.initialize(GroupCache.java:190)
>         at 
> org.apache.directory.server.core.authz.GroupCache.<init>(GroupCache.java:122)
>         at 
> org.apache.directory.server.core.authz.AciAuthorizationInterceptor.init(AciAuthorizationInterceptor.java:295)
>         at 
> org.apache.directory.server.core.DefaultDirectoryService.initInterceptors(DefaultDirectoryService.java:726)
>         at 
> org.apache.directory.server.core.DefaultDirectoryService.initialize(DefaultDirectoryService.java:1863)
>         at 
> org.apache.directory.server.core.DefaultDirectoryService.startup(DefaultDirectoryService.java:1272)
>         at 
> org.apache.directory.server.ApacheDsService.initDirectoryService(ApacheDsService.java:316)
>         at 
> org.apache.directory.server.ApacheDsService.start(ApacheDsService.java:180)
>         at 
> org.apache.directory.server.wrapper.ApacheDsTanukiWrapper.start(ApacheDsTanukiWrapper.java:72)
>         at 
> org.tanukisoftware.wrapper.WrapperManager$12.run(WrapperManager.java:2788)
> {code}
> The problem here really is, that this exception hides the real problem here. 
> I see that even in the trunk you try to set the cause in 
> http://svn.apache.org/repos/asf/directory/apacheds/trunk/interceptors/authz/src/main/java/org/apache/directory/server/core/authz/GroupCache.java
>  in the initializeMethod. That is not allowed and leads to that exception if 
> the original exception already has a cause set 
> (http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Throwable.html#initCause%28java.lang.Throwable%29).
>  Rather just wrap the original exception and leave out the initCause or at 
> least check first, if the initCause is allowed at that point. Also please 
> remove the e.printStackTrace as it will land in the standard error stream 
> rather than in the log.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to