Uploaded image for project: 'Directory ApacheDS'
  1. Directory ApacheDS
  2. DIRSERVER-1855

java.lang.IllegalStateException: Can't overwrite cause at org.apache.directory.server.core.authz.GroupCache.initialize(GroupCache.java:190)

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 2.0.0-M12
    • Fix Version/s: 2.0.0-M16
    • Component/s: core
    • Labels:
      None

      Description

      We got the following exception stack trace after trying to start ApacheDS from a backup:

      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)
      

      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.

        Attachments

          Activity

            People

            • Assignee:
              elecharny Emmanuel L├ęcharny
              Reporter:
              kwin Konrad Windszus
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: