8 Replies Latest reply on Sep 28, 2005 10:29 AM by Roy Russo

    Failed to create configuration directory for workspace defau

    Jacek Laskowski Newbie

      Hi,

      What's that? It happens with the latest JBoss Portal 2.2.0-ALPHA build from the sources and deployed onto JBoss AS 4.0.3RC2.

      20:26:04,481 INFO [JCRCMS] Starting JCR CMS.
      20:26:04,531 INFO [LocalFileSystem] LocalFileSystem initialized at path C:\apps\jboss\server\portal\data\portal\jcr\repository
      20:26:04,531 INFO [LocalFileSystem] LocalFileSystem initialized at path C:\apps\jboss\server\portal\data\portal\jcr\versions
      20:26:04,541 WARN [ServiceController] Problem starting service portal:service=CMS
      org.apache.jackrabbit.core.config.ConfigurationException: Failed to create configuration directory for workspace default.
      at org.apache.jackrabbit.core.config.RepositoryConfig.createWorkspaceConfig(RepositoryConfig.java:299)
      at org.apache.jackrabbit.core.config.RepositoryConfig.init(RepositoryConfig.java:218)
      at org.apache.jackrabbit.core.config.RepositoryConfig.create(RepositoryConfig.java:97)
      at org.apache.jackrabbit.core.config.RepositoryConfig.create(RepositoryConfig.java:71)
      at org.apache.jackrabbit.core.jndi.BindableRepository.init(BindableRepository.java:114)
      at org.apache.jackrabbit.core.jndi.BindableRepository.create(BindableRepository.java:104)
      at org.apache.jackrabbit.core.jndi.RegistryHelper.registerRepository(RegistryHelper.java:57)
      at org.jboss.portal.cms.util.RepositoryUtil.registerRepository(RepositoryUtil.java:58)
      at org.jboss.portal.cms.impl.jcr.JCRCMS.startService(JCRCMS.java:172)
      at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:287)
      at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:187)
      ...

      Jacek

        • 1. Re: Failed to create configuration directory for workspace d
          Roy Russo Master

          Hi Jacek,

          Strange. I have not tested on 4.0.3RC2, but will soon. Odd that it creates

          ${rep.home}/repository
          ${rep.home}

          but dies on

          ${rep.home}/workspaces

          Can you verify that the /workspaces does not exist alongside the other directories?

          • 2. Re: Failed to create configuration directory for workspace d
            Jacek Laskowski Newbie

            Hi Roy,

            It does exist. Take a look at the directory listing. I believe that rep.home equals to /cygdrive/c/apps/jboss/server/portal/data/portal/jcr in my case.

            $ pwd
            /cygdrive/c/apps/jboss/server/portal/data/portal/jcr

            $ ls -R
            .:
            repository/ versions/ workspaces/

            ./repository:

            ./versions:

            ./workspaces:
            default/

            ./workspaces/default:

            Jacek

            • 3. Re: Failed to create configuration directory for workspace d
              Jacek Laskowski Newbie

              Hi,

              Gave it a shot again after rebooting my Windows machine and got different error messages:

              15:05:34,159 INFO [JCRCMS] Starting JCR CMS.
              15:05:34,249 INFO [LocalFileSystem] LocalFileSystem initialized at path C:\apps\jboss\server\portal\data\portal\jcr\repository
              15:05:34,249 INFO [LocalFileSystem] LocalFileSystem initialized at path C:\apps\jboss\server\portal\data\portal\jcr\versions
              15:05:34,629 WARN [ServiceController] Problem starting service portal:service=CMS
              org.apache.jackrabbit.core.config.ConfigurationException: Cannot create a workspace configuration file: java.io.FileNotFoundException: file:\C:\apps\jboss\serve
              r\portal\data\portal\jcr\workspaces\default\workspace.xml (The filename, directory name, or volume label syntax is incorrect): java.io.FileNotFoundException: fi
              le:\C:\apps\jboss\server\portal\data\portal\jcr\workspaces\default\workspace.xml (The filename, directory name, or volume label syntax is incorrect)
              at org.apache.jackrabbit.core.config.RepositoryConfig.createWorkspaceConfig(RepositoryConfig.java:318)
              at org.apache.jackrabbit.core.config.RepositoryConfig.init(RepositoryConfig.java:218)
              at org.apache.jackrabbit.core.config.RepositoryConfig.create(RepositoryConfig.java:97)
              at org.apache.jackrabbit.core.config.RepositoryConfig.create(RepositoryConfig.java:71)
              at org.apache.jackrabbit.core.jndi.BindableRepository.init(BindableRepository.java:114)
              at org.apache.jackrabbit.core.jndi.BindableRepository.create(BindableRepository.java:104)
              at org.apache.jackrabbit.core.jndi.RegistryHelper.registerRepository(RegistryHelper.java:57)
              at org.jboss.portal.cms.util.RepositoryUtil.registerRepository(RepositoryUtil.java:58)
              at org.jboss.portal.cms.impl.jcr.JCRCMS.startService(JCRCMS.java:172)
              at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:287)
              at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:187)
              at org.jboss.portal.common.system.AbstractJBossService.start(AbstractJBossService.java:73)

              ...snipped...

              Caused by: javax.xml.transform.TransformerException: java.io.FileNotFoundException: file:\C:\apps\jboss\server\portal\data\portal\jcr\workspaces\default\workspa
              ce.xml (The filename, directory name, or volume label syntax is incorrect)
              at org.apache.xalan.transformer.TransformerIdentityImpl.createResultContentHandler(TransformerIdentityImpl.java:245)
              at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:278)
              at org.apache.jackrabbit.core.config.RepositoryConfig.createWorkspaceConfig(RepositoryConfig.java:312)
              ... 106 more
              Caused by: java.io.FileNotFoundException: file:\C:\apps\jboss\server\portal\data\portal\jcr\workspaces\default\workspace.xml (The filename, directory name, or v
              olume label syntax is incorrect)
              at java.io.FileOutputStream.open(Native Method)
              at java.io.FileOutputStream.(FileOutputStream.java:179)
              at java.io.FileOutputStream.(FileOutputStream.java:70)
              at org.apache.xalan.transformer.TransformerIdentityImpl.createResultContentHandler(TransformerIdentityImpl.java:235)
              ... 108 more

              Jacek

              • 4. Re: Failed to create configuration directory for workspace d
                Roy Russo Master

                ok. I will look at it. I had to modify some of the deployment code for those deploying exploded, and it may have broken the packed deployment.

                I will get back to the CMS service this weekend/week. I wanted to finish and check in the new theme, get it out of the way, so I can move on to this and the dynamicity ui.

                I will get back to you on what I find, and thanks for checking this out and being an early-adopter. ;-)

                • 5. Re: Failed to create configuration directory for workspace d
                  Roy Russo Master

                  I narrowed it down to a change in the xml-api.jar from JBoss AS 4.0.2 to 4.0.3RC2. It resides under /server/lib/endorsed. If you swap that out with the one from 4.0.2 it creates the directory, but that is not a valid option. It is a cange from

                  I debugged the jackrabbit code and it fails here:

                  transformer.transform(new DOMSource(template), new StreamResult(xml));
                  


                  The passing in of a file object (xml) here seems to be the incompatibility. Also, I found a forum post that may apply, so we're not the only ones with this problem it seems:

                  http://forum.java.sun.com/thread.jspa?forumID=34&threadID=563077

                  The suggested fix for jackrabbit would have to be not passing in the file object to the StreamResult constructor, but creating it with the directory names. I will try this in their code and see if it works with the test classes first.

                  Also, I found a similar bug, that applies:

                  http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5077403

                  • 6. Re: Failed to create configuration directory for workspace d
                    Roy Russo Master

                    I have updated the jackrabbit-core jar in thirdparty and the repository config. I also logged it in the jackrabbit jira: http://issues.apache.org/jira/browse/JCR-222 (The repo config change is not related)

                    You will have to delete the /data/portal directory and do a clean build/deploy for the cms to deploy fully and create all necessary files.

                    Keep in mind, the ui is currently being worked on, so you will most likely get a stack trace until i complete it. ;-)

                    • 7. Re: Failed to create configuration directory for workspace d
                      Jacek Laskowski Newbie

                      Hi Roy,

                      It works now fine. Althoght at some time when I close JBoss using Ctrl-C, the .lock is left and the MBean complains the directory is locked. I'd say it happens every time at Ctrl-C, but am not so sure.


                      15:54:17,393 WARN [ServiceController] Problem starting service portal:service=CMS
                      javax.jcr.RepositoryException: The repository home at C:\apps\jboss\server\portal\data\portal\jcr appears to be in use. If you are sure it's not in use please delete the file at C:\apps\jboss\server\portal\data\portal\jcr\.lock. Probably the repository was not shutdown properly.
                      at org.apache.jackrabbit.core.RepositoryImpl.acquireRepositoryLock(RepositoryImpl.java:242)
                      at org.apache.jackrabbit.core.RepositoryImpl.(RepositoryImpl.java:155)
                      at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:397)
                      at org.apache.jackrabbit.core.jndi.BindableRepository.init(BindableRepository.java:116)
                      at org.apache.jackrabbit.core.jndi.BindableRepository.create(BindableRepository.java:104)
                      at org.apache.jackrabbit.core.jndi.RegistryHelper.registerRepository(RegistryHelper.java:57)
                      at org.jboss.portal.cms.util.RepositoryUtil.registerRepository(RepositoryUtil.java:58)
                      at org.jboss.portal.cms.impl.jcr.JCRCMS.startService(JCRCMS.java:172)
                      at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:287)
                      at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:187)
                      at org.jboss.portal.common.system.AbstractJBossService.start(AbstractJBossService.java:73)
                      ...


                      Jacek

                      • 8. Re: Failed to create configuration directory for workspace d
                        Roy Russo Master

                        Yes. This is a known issue. I have not yet gotten to stopping the service elegantly, so if there is a session uncommitted for whatever reason, the lock stays there.

                        I will look in to it soon, once I am farther along with the UI piece.