[
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