You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Anand Bhagwat <ab...@gmail.com> on 2009/01/02 12:16:04 UTC

Strange problem in repository creation

Hi,I am getting following error when I start my tomcat server. I am using
Spring and Hibernate as underlying technology. Following are excerpts from
spring bean configuration:

<bean id="repositoryManagedConnectionFactory"
class="org.apache.jackrabbit.jca.JCAManagedConnectionFactory"
destroy-method="finalize">
<property name="homeDir" value="${user.home}/jackrabbit" />
<property name="configFile" value="classpath:repository.xml" />
</bean>
When the server loads all the spring bean it tries to start jackrabbit
repository and I get this strange error. I am running Tomcat on Windows XP.
This error is coming intermittently so I am bit confused. Please let me know
if anyone had faced similar problems.

Regards,
Anand.


Tomcat 6.0, Hibernate 3.1, Spring 2.5.4, Jackrabbit 1.4

EXCEPTION TRACE

0    [main] ERROR org.apache.jackrabbit.core.fs.db.DbFileSystem  - failed to
open output stream to file: /meta/rootUUID

java.io.IOException: The system cannot find the path specified

        at java.io.WinNTFileSystem.createFileExclusively(Native Method)

        at java.io.File.checkAndCreate(File.java:1345)

        at java.io.File.createTempFile(File.java:1434)

        at
org.apache.jackrabbit.util.TransientFileFactory.createTransientFile(TransientFileFactory.java:124)

        at
org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.getOutputStream(DatabaseFileSystem.java:729)

        at
org.apache.jackrabbit.core.fs.BasedFileSystem.getOutputStream(BasedFileSystem.java:135)

        at
org.apache.jackrabbit.core.fs.FileSystemResource.getOutputStream(FileSystemResource.java:179)

        at
org.apache.jackrabbit.core.RepositoryImpl.loadRootNodeId(RepositoryImpl.java:477)

        at
org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:257)

        at
org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:550)

        at
org.apache.jackrabbit.jca.JCARepositoryManager$Reference.create(JCARepositoryManager.java:167)

        at
org.apache.jackrabbit.jca.JCARepositoryManager.createRepository(JCARepositoryManager.java:75)

        at
org.apache.jackrabbit.jca.JCAManagedConnectionFactory.createRepository(JCAManagedConnectionFactory.java:289)

        at
org.apache.jackrabbit.jca.JCAManagedConnectionFactory.createConnectionFactory(JCAManagedConnectionFactory.java:124)

        at
org.springframework.jca.support.LocalConnectionFactoryBean.afterPropertiesSet(LocalConnectionFactoryBean.java:117)

        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1367)

        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1333)

        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:471)

        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)

        at java.security.AccessController.doPrivileged(Native Method)

        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)

        at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)

        at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:220)

        at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)

        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)

        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)

        at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)

        at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)

        at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)

        at
org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)

        at
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)

        at
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)

        at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)

        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)

        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)

        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)

        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)

        at
org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)

        at
org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)

        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)

        at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)

        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)

        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)

        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)

        at
org.apache.catalina.core.StandardHost.start(StandardHost.java:736)

        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)

        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)

        at
org.apache.catalina.core.StandardService.start(StandardService.java:448)

        at
org.apache.catalina.core.StandardServer.start(StandardServer.java:700)

        at org.apache.catalina.startup.Catalina.start(Catalina.java:552)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

        at java.lang.reflect.Method.invoke(Method.java:585)

        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)

        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)

15   [main] ERROR org.apache.jackrabbit.core.RepositoryImpl  - failed to
start Repository: failed to persist repository state: failed to open output
stream to file: /meta/rootUUID

javax.jcr.RepositoryException: failed to persist repository state: failed to
open output stream to file: /meta/rootUUID: failed to open output stream to
file: /meta/rootUUID

        at
org.apache.jackrabbit.core.RepositoryImpl.loadRootNodeId(RepositoryImpl.java:505)

        at
org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:257)

        at
org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:550)

        at
org.apache.jackrabbit.jca.JCARepositoryManager$Reference.create(JCARepositoryManager.java:167)

        at
org.apache.jackrabbit.jca.JCARepositoryManager.createRepository(JCARepositoryManager.java:75)

        at
org.apache.jackrabbit.jca.JCAManagedConnectionFactory.createRepository(JCAManagedConnectionFactory.java:289)

        at
org.apache.jackrabbit.jca.JCAManagedConnectionFactory.createConnectionFactory(JCAManagedConnectionFactory.java:124)

        at
org.springframework.jca.support.LocalConnectionFactoryBean.afterPropertiesSet(LocalConnectionFactoryBean.java:117)

        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1367)

        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1333)

        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:471)

        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)

        at java.security.AccessController.doPrivileged(Native Method)

        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)

        at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)

        at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:220)

        at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)

        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)

        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)

        at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)

        at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)

        at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)

        at
org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)

        at
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)

        at
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)

        at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)

        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)

        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)

        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)

        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)

        at
org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)

        at
org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)

        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)

        at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)

        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)

        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)

        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)

        at
org.apache.catalina.core.StandardHost.start(StandardHost.java:736)

        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)

        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)

        at
org.apache.catalina.core.StandardService.start(StandardService.java:448)

        at
org.apache.catalina.core.StandardServer.start(StandardServer.java:700)

        at org.apache.catalina.startup.Catalina.start(Catalina.java:552)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

        at java.lang.reflect.Method.invoke(Method.java:585)

        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)

        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)

Caused by: org.apache.jackrabbit.core.fs.FileSystemException: failed to open
output stream to file: /meta/rootUUID

        at
org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.getOutputStream(DatabaseFileSystem.java:780)

        at
org.apache.jackrabbit.core.fs.BasedFileSystem.getOutputStream(BasedFileSystem.java:135)

        at
org.apache.jackrabbit.core.fs.FileSystemResource.getOutputStream(FileSystemResource.java:179)

        at
org.apache.jackrabbit.core.RepositoryImpl.loadRootNodeId(RepositoryImpl.java:477)

        ... 48 more

Caused by: java.io.IOException: The system cannot find the path specified

        at java.io.WinNTFileSystem.createFileExclusively(Native Method)

        at java.io.File.checkAndCreate(File.java:1345)

        at java.io.File.createTempFile(File.java:1434)

        at
org.apache.jackrabbit.util.TransientFileFactory.createTransientFile(TransientFileFactory.java:124)

        at
org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.getOutputStream(DatabaseFileSystem.java:729)

        ... 51 more

Re: Strange problem in repository creation

Posted by Anand Bhagwat <ab...@gmail.com>.
Thanks a lot. Actually the problem was due to incorrect system property
java.io.tmpDir. It was pointing to incorrect location. It got resolved as
soon as I changed to correct location.
Regards,
Anand.

2009/1/7 Thomas Müller <th...@day.com>

> Hi,
>
> What is the exception in Linux? What is the temp directory in Linux?
>
> I can't reproduce the problem. I still think the problem is the temporary
> directory system property.
>
> I checked the tmp directory and its showing me following path on windows
> > which is correct.C:\DOCUME~1\ANAND~1.RAT\LOCALS~1\Temp\
>
>
> How did you check the temp directory? Did you call
> System.out.println(System.getProperty("java.io.tmpdir")) just before
> connecting to the repository? You need to because the system property may
> be
> different than the environment setting.
>
> I can reproduce the problem with the following test:
>
> import java.io.File;
> public class Test {
>    public static void main(String[] a) throws Exception {
>        System.setProperty("java.io.tmpdir", "/abc");
>        System.out.println("java.io.tmpdir=" +
> System.getProperty("java.io.tmpdir"));
>         File.createTempFile("bin", null, null);
>    }
> }
>
> The same occurs if you set the system property in the command line using
> -Djava.io.tmpdir=...
>
> Regards,
> Thomas
>

Re: Strange problem in repository creation

Posted by Thomas Müller <th...@day.com>.
Hi,

What is the exception in Linux? What is the temp directory in Linux?

I can't reproduce the problem. I still think the problem is the temporary
directory system property.

I checked the tmp directory and its showing me following path on windows
> which is correct.C:\DOCUME~1\ANAND~1.RAT\LOCALS~1\Temp\


How did you check the temp directory? Did you call
System.out.println(System.getProperty("java.io.tmpdir")) just before
connecting to the repository? You need to because the system property may be
different than the environment setting.

I can reproduce the problem with the following test:

import java.io.File;
public class Test {
    public static void main(String[] a) throws Exception {
        System.setProperty("java.io.tmpdir", "/abc");
        System.out.println("java.io.tmpdir=" +
System.getProperty("java.io.tmpdir"));
        File.createTempFile("bin", null, null);
    }
}

The same occurs if you set the system property in the command line using
-Djava.io.tmpdir=...

Regards,
Thomas

Re: Strange problem in repository creation

Posted by Anand Bhagwat <ab...@gmail.com>.
I checked the tmp directory and its showing me following path on windows
which is correct.C:\DOCUME~1\ANAND~1.RAT\LOCALS~1\Temp\

I also checked on linux and I get the same problem. I am using jackrabbit
1.4 version.


Thanks,
Anand.

2009/1/5 Thomas Müller <th...@day.com>

> Hi,
>
> From the exception it looks like a problem of the temp directory setting.
> Could you check if the temp directory is set correctly?
>
> System.out.println(System.getProperty("java.io.tmpdir"));
>
> This should consistently return an existing path.
>
> What version of Jackrabbit do you use?
>
> Regards,
> Thomas
>
>
> On Fri, Jan 2, 2009 at 12:16 PM, Anand Bhagwat <abbhagwatgm@gmail.com
> >wrote:
>
> > Hi,I am getting following error when I start my tomcat server. I am using
> > Spring and Hibernate as underlying technology. Following are excerpts
> from
> > spring bean configuration:
> >
> > <bean id="repositoryManagedConnectionFactory"
> > class="org.apache.jackrabbit.jca.JCAManagedConnectionFactory"
> > destroy-method="finalize">
> > <property name="homeDir" value="${user.home}/jackrabbit" />
> > <property name="configFile" value="classpath:repository.xml" />
> > </bean>
> > When the server loads all the spring bean it tries to start jackrabbit
> > repository and I get this strange error. I am running Tomcat on Windows
> XP.
> > This error is coming intermittently so I am bit confused. Please let me
> > know
> > if anyone had faced similar problems.
> >
> > Regards,
> > Anand.
> >
> >
> > Tomcat 6.0, Hibernate 3.1, Spring 2.5.4, Jackrabbit 1.4
> >
> > EXCEPTION TRACE
> >
> > 0    [main] ERROR org.apache.jackrabbit.core.fs.db.DbFileSystem  - failed
> > to
> > open output stream to file: /meta/rootUUID
> >
> > java.io.IOException: The system cannot find the path specified
> >
> >        at java.io.WinNTFileSystem.createFileExclusively(Native Method)
> >
> >        at java.io.File.checkAndCreate(File.java:1345)
> >
> >        at java.io.File.createTempFile(File.java:1434)
> >
> >        at
> >
> >
> org.apache.jackrabbit.util.TransientFileFactory.createTransientFile(TransientFileFactory.java:124)
> >
> >        at
> >
> >
> org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.getOutputStream(DatabaseFileSystem.java:729)
> >
> >        at
> >
> >
> org.apache.jackrabbit.core.fs.BasedFileSystem.getOutputStream(BasedFileSystem.java:135)
> >
> >        at
> >
> >
> org.apache.jackrabbit.core.fs.FileSystemResource.getOutputStream(FileSystemResource.java:179)
> >
> >        at
> >
> >
> org.apache.jackrabbit.core.RepositoryImpl.loadRootNodeId(RepositoryImpl.java:477)
> >
> >        at
> > org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:257)
> >
> >        at
> > org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:550)
> >
> >        at
> >
> >
> org.apache.jackrabbit.jca.JCARepositoryManager$Reference.create(JCARepositoryManager.java:167)
> >
> >        at
> >
> >
> org.apache.jackrabbit.jca.JCARepositoryManager.createRepository(JCARepositoryManager.java:75)
> >
> >        at
> >
> >
> org.apache.jackrabbit.jca.JCAManagedConnectionFactory.createRepository(JCAManagedConnectionFactory.java:289)
> >
> >        at
> >
> >
> org.apache.jackrabbit.jca.JCAManagedConnectionFactory.createConnectionFactory(JCAManagedConnectionFactory.java:124)
> >
> >        at
> >
> >
> org.springframework.jca.support.LocalConnectionFactoryBean.afterPropertiesSet(LocalConnectionFactoryBean.java:117)
> >
> >        at
> >
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1367)
> >
> >        at
> >
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1333)
> >
> >        at
> >
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:471)
> >
> >        at
> >
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
> >
> >        at java.security.AccessController.doPrivileged(Native Method)
> >
> >        at
> >
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
> >
> >        at
> >
> >
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
> >
> >        at
> >
> >
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:220)
> >
> >        at
> >
> >
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
> >
> >        at
> >
> >
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
> >
> >        at
> >
> >
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
> >
> >        at
> >
> >
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)
> >
> >        at
> >
> >
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
> >
> >        at
> >
> >
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
> >
> >        at
> >
> >
> org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
> >
> >        at
> >
> >
> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
> >
> >        at
> >
> >
> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
> >
> >        at
> >
> >
> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
> >
> >        at
> > org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
> >
> >        at
> >
> >
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
> >
> >        at
> > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
> >
> >        at
> > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
> >
> >        at
> >
> org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
> >
> >        at
> >
> >
> org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
> >
> >        at
> > org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
> >
> >        at
> > org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
> >
> >        at
> >
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
> >
> >        at
> >
> >
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
> >
> >        at
> > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
> >
> >        at
> > org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
> >
> >        at
> > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
> >
> >        at
> > org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
> >
> >        at
> > org.apache.catalina.core.StandardService.start(StandardService.java:448)
> >
> >        at
> > org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
> >
> >        at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
> >
> >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >
> >        at
> >
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> >
> >        at
> >
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >
> >        at java.lang.reflect.Method.invoke(Method.java:585)
> >
> >        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
> >
> >        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
> >
> > 15   [main] ERROR org.apache.jackrabbit.core.RepositoryImpl  - failed to
> > start Repository: failed to persist repository state: failed to open
> output
> > stream to file: /meta/rootUUID
> >
> > javax.jcr.RepositoryException: failed to persist repository state: failed
> > to
> > open output stream to file: /meta/rootUUID: failed to open output stream
> to
> > file: /meta/rootUUID
> >
> >        at
> >
> >
> org.apache.jackrabbit.core.RepositoryImpl.loadRootNodeId(RepositoryImpl.java:505)
> >
> >        at
> > org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:257)
> >
> >        at
> > org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:550)
> >
> >        at
> >
> >
> org.apache.jackrabbit.jca.JCARepositoryManager$Reference.create(JCARepositoryManager.java:167)
> >
> >        at
> >
> >
> org.apache.jackrabbit.jca.JCARepositoryManager.createRepository(JCARepositoryManager.java:75)
> >
> >        at
> >
> >
> org.apache.jackrabbit.jca.JCAManagedConnectionFactory.createRepository(JCAManagedConnectionFactory.java:289)
> >
> >        at
> >
> >
> org.apache.jackrabbit.jca.JCAManagedConnectionFactory.createConnectionFactory(JCAManagedConnectionFactory.java:124)
> >
> >        at
> >
> >
> org.springframework.jca.support.LocalConnectionFactoryBean.afterPropertiesSet(LocalConnectionFactoryBean.java:117)
> >
> >        at
> >
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1367)
> >
> >        at
> >
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1333)
> >
> >        at
> >
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:471)
> >
> >        at
> >
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
> >
> >        at java.security.AccessController.doPrivileged(Native Method)
> >
> >        at
> >
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
> >
> >        at
> >
> >
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
> >
> >        at
> >
> >
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:220)
> >
> >        at
> >
> >
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
> >
> >        at
> >
> >
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
> >
> >        at
> >
> >
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
> >
> >        at
> >
> >
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)
> >
> >        at
> >
> >
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
> >
> >        at
> >
> >
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
> >
> >        at
> >
> >
> org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
> >
> >        at
> >
> >
> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
> >
> >        at
> >
> >
> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
> >
> >        at
> >
> >
> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
> >
> >        at
> > org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
> >
> >        at
> >
> >
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
> >
> >        at
> > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
> >
> >        at
> > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
> >
> >        at
> >
> org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
> >
> >        at
> >
> >
> org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
> >
> >        at
> > org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
> >
> >        at
> > org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
> >
> >        at
> >
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
> >
> >        at
> >
> >
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
> >
> >        at
> > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
> >
> >        at
> > org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
> >
> >        at
> > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
> >
> >        at
> > org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
> >
> >        at
> > org.apache.catalina.core.StandardService.start(StandardService.java:448)
> >
> >        at
> > org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
> >
> >        at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
> >
> >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >
> >        at
> >
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> >
> >        at
> >
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >
> >        at java.lang.reflect.Method.invoke(Method.java:585)
> >
> >        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
> >
> >        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
> >
> > Caused by: org.apache.jackrabbit.core.fs.FileSystemException: failed to
> > open
> > output stream to file: /meta/rootUUID
> >
> >        at
> >
> >
> org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.getOutputStream(DatabaseFileSystem.java:780)
> >
> >        at
> >
> >
> org.apache.jackrabbit.core.fs.BasedFileSystem.getOutputStream(BasedFileSystem.java:135)
> >
> >        at
> >
> >
> org.apache.jackrabbit.core.fs.FileSystemResource.getOutputStream(FileSystemResource.java:179)
> >
> >        at
> >
> >
> org.apache.jackrabbit.core.RepositoryImpl.loadRootNodeId(RepositoryImpl.java:477)
> >
> >        ... 48 more
> >
> > Caused by: java.io.IOException: The system cannot find the path specified
> >
> >        at java.io.WinNTFileSystem.createFileExclusively(Native Method)
> >
> >        at java.io.File.checkAndCreate(File.java:1345)
> >
> >        at java.io.File.createTempFile(File.java:1434)
> >
> >        at
> >
> >
> org.apache.jackrabbit.util.TransientFileFactory.createTransientFile(TransientFileFactory.java:124)
> >
> >        at
> >
> >
> org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.getOutputStream(DatabaseFileSystem.java:729)
> >
> >        ... 51 more
> >
>

Re: Strange problem in repository creation

Posted by Thomas Müller <th...@day.com>.
Hi,

>From the exception it looks like a problem of the temp directory setting.
Could you check if the temp directory is set correctly?

System.out.println(System.getProperty("java.io.tmpdir"));

This should consistently return an existing path.

What version of Jackrabbit do you use?

Regards,
Thomas


On Fri, Jan 2, 2009 at 12:16 PM, Anand Bhagwat <ab...@gmail.com>wrote:

> Hi,I am getting following error when I start my tomcat server. I am using
> Spring and Hibernate as underlying technology. Following are excerpts from
> spring bean configuration:
>
> <bean id="repositoryManagedConnectionFactory"
> class="org.apache.jackrabbit.jca.JCAManagedConnectionFactory"
> destroy-method="finalize">
> <property name="homeDir" value="${user.home}/jackrabbit" />
> <property name="configFile" value="classpath:repository.xml" />
> </bean>
> When the server loads all the spring bean it tries to start jackrabbit
> repository and I get this strange error. I am running Tomcat on Windows XP.
> This error is coming intermittently so I am bit confused. Please let me
> know
> if anyone had faced similar problems.
>
> Regards,
> Anand.
>
>
> Tomcat 6.0, Hibernate 3.1, Spring 2.5.4, Jackrabbit 1.4
>
> EXCEPTION TRACE
>
> 0    [main] ERROR org.apache.jackrabbit.core.fs.db.DbFileSystem  - failed
> to
> open output stream to file: /meta/rootUUID
>
> java.io.IOException: The system cannot find the path specified
>
>        at java.io.WinNTFileSystem.createFileExclusively(Native Method)
>
>        at java.io.File.checkAndCreate(File.java:1345)
>
>        at java.io.File.createTempFile(File.java:1434)
>
>        at
>
> org.apache.jackrabbit.util.TransientFileFactory.createTransientFile(TransientFileFactory.java:124)
>
>        at
>
> org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.getOutputStream(DatabaseFileSystem.java:729)
>
>        at
>
> org.apache.jackrabbit.core.fs.BasedFileSystem.getOutputStream(BasedFileSystem.java:135)
>
>        at
>
> org.apache.jackrabbit.core.fs.FileSystemResource.getOutputStream(FileSystemResource.java:179)
>
>        at
>
> org.apache.jackrabbit.core.RepositoryImpl.loadRootNodeId(RepositoryImpl.java:477)
>
>        at
> org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:257)
>
>        at
> org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:550)
>
>        at
>
> org.apache.jackrabbit.jca.JCARepositoryManager$Reference.create(JCARepositoryManager.java:167)
>
>        at
>
> org.apache.jackrabbit.jca.JCARepositoryManager.createRepository(JCARepositoryManager.java:75)
>
>        at
>
> org.apache.jackrabbit.jca.JCAManagedConnectionFactory.createRepository(JCAManagedConnectionFactory.java:289)
>
>        at
>
> org.apache.jackrabbit.jca.JCAManagedConnectionFactory.createConnectionFactory(JCAManagedConnectionFactory.java:124)
>
>        at
>
> org.springframework.jca.support.LocalConnectionFactoryBean.afterPropertiesSet(LocalConnectionFactoryBean.java:117)
>
>        at
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1367)
>
>        at
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1333)
>
>        at
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:471)
>
>        at
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
>
>        at java.security.AccessController.doPrivileged(Native Method)
>
>        at
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
>
>        at
>
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
>
>        at
>
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:220)
>
>        at
>
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
>
>        at
>
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
>
>        at
>
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
>
>        at
>
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)
>
>        at
>
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
>
>        at
>
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
>
>        at
>
> org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
>
>        at
>
> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
>
>        at
>
> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
>
>        at
>
> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
>
>        at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
>
>        at
>
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
>
>        at
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
>
>        at
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
>
>        at
> org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
>
>        at
>
> org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
>
>        at
> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
>
>        at
> org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
>
>        at
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
>
>        at
>
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
>
>        at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
>
>        at
> org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
>
>        at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
>
>        at
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>
>        at
> org.apache.catalina.core.StandardService.start(StandardService.java:448)
>
>        at
> org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
>
>        at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
>
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>
>        at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>
>        at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>
>        at java.lang.reflect.Method.invoke(Method.java:585)
>
>        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
>
>        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
>
> 15   [main] ERROR org.apache.jackrabbit.core.RepositoryImpl  - failed to
> start Repository: failed to persist repository state: failed to open output
> stream to file: /meta/rootUUID
>
> javax.jcr.RepositoryException: failed to persist repository state: failed
> to
> open output stream to file: /meta/rootUUID: failed to open output stream to
> file: /meta/rootUUID
>
>        at
>
> org.apache.jackrabbit.core.RepositoryImpl.loadRootNodeId(RepositoryImpl.java:505)
>
>        at
> org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:257)
>
>        at
> org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:550)
>
>        at
>
> org.apache.jackrabbit.jca.JCARepositoryManager$Reference.create(JCARepositoryManager.java:167)
>
>        at
>
> org.apache.jackrabbit.jca.JCARepositoryManager.createRepository(JCARepositoryManager.java:75)
>
>        at
>
> org.apache.jackrabbit.jca.JCAManagedConnectionFactory.createRepository(JCAManagedConnectionFactory.java:289)
>
>        at
>
> org.apache.jackrabbit.jca.JCAManagedConnectionFactory.createConnectionFactory(JCAManagedConnectionFactory.java:124)
>
>        at
>
> org.springframework.jca.support.LocalConnectionFactoryBean.afterPropertiesSet(LocalConnectionFactoryBean.java:117)
>
>        at
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1367)
>
>        at
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1333)
>
>        at
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:471)
>
>        at
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
>
>        at java.security.AccessController.doPrivileged(Native Method)
>
>        at
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
>
>        at
>
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
>
>        at
>
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:220)
>
>        at
>
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
>
>        at
>
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
>
>        at
>
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
>
>        at
>
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)
>
>        at
>
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
>
>        at
>
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
>
>        at
>
> org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
>
>        at
>
> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
>
>        at
>
> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
>
>        at
>
> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
>
>        at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
>
>        at
>
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
>
>        at
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
>
>        at
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
>
>        at
> org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
>
>        at
>
> org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
>
>        at
> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
>
>        at
> org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
>
>        at
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
>
>        at
>
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
>
>        at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
>
>        at
> org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
>
>        at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
>
>        at
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>
>        at
> org.apache.catalina.core.StandardService.start(StandardService.java:448)
>
>        at
> org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
>
>        at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
>
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>
>        at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>
>        at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>
>        at java.lang.reflect.Method.invoke(Method.java:585)
>
>        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
>
>        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
>
> Caused by: org.apache.jackrabbit.core.fs.FileSystemException: failed to
> open
> output stream to file: /meta/rootUUID
>
>        at
>
> org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.getOutputStream(DatabaseFileSystem.java:780)
>
>        at
>
> org.apache.jackrabbit.core.fs.BasedFileSystem.getOutputStream(BasedFileSystem.java:135)
>
>        at
>
> org.apache.jackrabbit.core.fs.FileSystemResource.getOutputStream(FileSystemResource.java:179)
>
>        at
>
> org.apache.jackrabbit.core.RepositoryImpl.loadRootNodeId(RepositoryImpl.java:477)
>
>        ... 48 more
>
> Caused by: java.io.IOException: The system cannot find the path specified
>
>        at java.io.WinNTFileSystem.createFileExclusively(Native Method)
>
>        at java.io.File.checkAndCreate(File.java:1345)
>
>        at java.io.File.createTempFile(File.java:1434)
>
>        at
>
> org.apache.jackrabbit.util.TransientFileFactory.createTransientFile(TransientFileFactory.java:124)
>
>        at
>
> org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.getOutputStream(DatabaseFileSystem.java:729)
>
>        ... 51 more
>